[PYTHON] Fiche d'apprentissage 9 (13e jour)

Dossier d'apprentissage (13e jour)

Début des études: samedi 7 décembre

Matériel pédagogique, etc.: ・ Miyuki Oshige "Détails! Note d'introduction à Python3 »(Sotech, 2017): 19/12 (jeudi) Terminé ・ Cours Progate Python (5 cours au total): se termine le samedi 21 décembre ・ ** Andreas C. Müller, Sarah Guido "(titre japonais) Apprentissage automatique à partir de Python" (O'Reilly Japon, 2017) **: samedi 21 décembre-

Chapitre 1 Introduction

-Pour appliquer le modèle d'apprentissage automatique à de nouvelles données, il faut bien le généraliser. ・ Généralement, environ 25% des données sont attribuées à l'ensemble de test. • Observez d'abord les données pour voir s'il est nécessaire d'utiliser l'apprentissage automatique et si elles contiennent les données requises. -Il existe une méthode d'observation en créant un diagramme de paires etc. par matrice de dispersion des pandas.

Chapitre 2 Apprentissage supervisé

・ Il peut être grossièrement divisé en deux types: classification et régression. S'il y a continuité, on peut dire que c'est celle-ci. -Recherchez un sweet spot qui montre les meilleures performances de généralisation dans le compromis entre sous-ajustement et sur-ajustement.

Classificateur K-Neighbours

-Trouvez le point le plus proche de l'ensemble de données d'entraînement. · Bonne base de référence pour les petites données -Dans de nombreux cas, il montre des performances suffisamment élevées sans trop de réglage. Utilisez-le comme référence avant d'utiliser une technologie plus avancée. -Cependant, cela ne fonctionne pas bien avec un ensemble de données avec un grand nombre de fonctionnalités (des centaines ou plus), et les performances se détériorent avec un ensemble de données clairsemé où la plupart des fonctionnalités sont 0 dans de nombreux cas.

Modèle linéaire

-Prédire en utilisant la fonction linéaire des entités d'entrée. (Image de dessin d'une ligne pour qu'elle soit la plus proche de chaque donnée) -Très efficace avec un grand nombre de fonctionnalités. Algorithmes à essayer en premier ・ Si les performances de l'ensemble de formation et de l'ensemble de test diffèrent considérablement, c'est un signe de sur-conformité. Au contraire, s'il est trop proche, c'est un signe de conformité insuffisante. ・ Ridge: L'une des régressions par le modèle linéaire. Il existe de fortes restrictions et il y a peu de risque de sur-adaptation. Performances de généralisation élevées. -Lasso: Une image qui sélectionne automatiquement la quantité de caractéristiques. Par exemple, quand on s'attend à ce qu'il y ait de nombreuses fonctionnalités mais peu avec un haut degré de judo. -Scikit-learn a également une classe ElasticNet qui combine les deux ci-dessus. LogisticRegression: un modèle linéaire de classification -Machine à vecteurs de support linéaire (linearSVM): Identique à ci-dessus

Classificateur de classe Naive Bayes

-Un type de classificateur qui ressemble étroitement à un modèle linéaire. La caractéristique est que la formation est rapide. Ne peut être utilisé que pour la classification. -Utile comme modèle de base pour les grands ensembles de données où même un modèle linéaire prend du temps.

Arbre de décision

-Largement utilisé pour les tâches de classification et de régression. ・ Apprenez une structure hiérarchique composée de questions auxquelles on peut répondre par Oui / Non. (Le montant de la fonction est-il supérieur à b? Etc. Cela ressemble à un aquinateur?) ・ La visualisation est possible et facile à expliquer. Très vite. ・ Si la profondeur de l'arbre de décision n'est pas restreinte, elle sera aussi profonde et compliquée que possible, ce qui tend à induire une sur-adaptation et à réduire les performances de généralisation. -Vous pouvez visualiser l'arbre avec export_graphviz du module arbre. ・ Estimer la valeur caractéristique du comportement à partir de l'importance de la caractéristique, etc. Cependant, il existe des cas où même les quantités de caractéristiques inutilisées ne sont tout simplement pas adoptées dans l'arbre de décision.

Ensembles d'arbres de décision

・ Une méthode pour construire un modèle plus coopératif en combinant plusieurs modèles d'apprentissage automatique

Forêt aléatoire

・ Une des méthodes pour traiter le problème de l'arbre de décision qui est sur-apparié aux données d'entraînement. ・ La méthode d'apprentissage automatique la plus couramment utilisée pour la régression et la classification -Ne convient pas aux données éparses de grande dimension. ・ Le degré de sur-ajustement peut être réduit en créant de nombreux arbres de décision sur-ajustement dans différentes directions et en prenant la moyenne. -Échantillon de démarrage: les points de données sont restaurés et extraits de manière aléatoire. Créez un arbre de décision avec le nouvel ensemble de données terminé. Sélectionnez le sous-ensemble de quantité de fonctionnalités tout en le contrôlant avec max_fearture.

Augmentation du dégradé

・ Corrigez l'erreur de l'arbre de décision précédent par l'arbre de décision suivant dans l'ordre. ・ Un grand nombre d'apprenants faibles sont combinés et configurés.

Supporte la machine vectorielle en utilisant la méthode du noyau

-Une extension du SVM linéaire pour permettre des modèles plus complexes. -Puissant pour les ensembles de données de taille moyenne composés de caractéristiques ayant des significations similaires. Sensible aux paramètres. -Les modèles linéaires de faibles dimensions sont très restrictifs car les lignes droites et les super-avions limitent la flexibilité. Pour le rendre plus flexible, nous utilisons l'interaction (produit) des caractéristiques d'entrée et des termes polynomiaux. Noyau gaussien: calcule tous les polynômes jusqu'à un ordre spécifique des caractéristiques d'origine. Noyau polynomial Fonction de base radiale (RBF) • Seules les données d'apprentissage spécifiques situées à la frontière entre les deux classes déterminent la limite de décision. Ces points de données sont appelés vecteurs de support. (Origine du nom) -Les différences dans les détails des fonctionnalités ont un effet destructeur sur SVM. Pour résoudre ce problème, il existe une méthode appelée Min-Max Scaler comme l'une des méthodes de conversion afin que toutes aient presque la même échelle. (Mettez-le entre 0 et 1) -La force est que des limites de décision complexes peuvent être générées même lorsque les données ne contiennent qu'un petit nombre de fonctionnalités. -Le problème est qu'il est nécessaire de prétraiter soigneusement les données et d'ajuster les paramètres. C'est pourquoi de nombreuses applications utilisent des modèles basés sur un arbre de décision, tels que le renforcement de gradient. De plus, il est difficile de vérifier et de comprendre la raison pour laquelle une certaine prédiction a été faite, et il est difficile de l'expliquer à des non-experts. Cependant, il vaut la peine d'essayer SVMwo pour les résultats d'instruments de mesure dotés de fonctionnalités similaires telles que les pixels de la caméra. -Les paramètres gamma (inverse de la largeur du noyau gaussien) et C (paramètre de régularisation) sont importants.

Réseau neuronal (apprentissage en profondeur)

・ À propos du perceptron multicouche (MLP) -Efficace pour des ensembles de données particulièrement volumineux. Sensible aux paramètres. La formation prend du temps. ・ La pondération de l'entrée à la sortie est importante dans MLP -Sur le chemin de l'entrée à la sortie, il y a une étape de traitement intermédiaire (unités cachées) qui calcule la somme pondérée, et la somme pondérée est ensuite effectuée sur la valeur calculée ici et le résultat est sorti. À. -Étant donné que le processus jusqu'à ce point est mathématiquement identique au calcul d'une somme pondérée, une fonction non linéaire est appliquée au résultat afin de rendre ce modèle plus fort que linéaire. Dans de nombreux cas, relu (unité rectifiée) et tanh (tangente hyperbolique) sont utilisés. -Par défaut, MLP utilise 100 couches cachées, mais il doit être modifié en fonction de la taille du jeu de données. -Similaire à SVM, il est nécessaire de convertir l'échelle de données. J'utilise un scaler standard par écrit.

ConvergenceWarning: #Avertissement de convergence:
 Stochastic Optimizer: Maximum iterations reached and the optimization
 hasn't converged yet. #Optimiseur probabiliste:Le nombre d'itérations a atteint la limite supérieure, mais l'optimisation n'a pas convergé.

-Ce qui précède est la fonction de l'algorithme adam utilisé pour l'apprentissage du modèle. Cela signifie que le nombre de répétitions d'apprentissage doit être augmenté. Il est possible que les performances de généralisation puissent être améliorées en renforçant la régularisation des pondérations en modifiant le paramètre alpha. ・ Si vous souhaitez gérer des modèles plus souples et plus volumineux, utilisez des keras, des lasgana ou des tensor-flow. ・ Un temps de calcul, des données et un réglage minutieux des paramètres surpassent souvent les autres algorithmes d'apprentissage automatique. Mais c'est aussi un inconvénient, et les gros et puissants prennent beaucoup de temps. En outre, le réglage des paramètres est une technique en soi. -Le modèle d'arbre de décision a de meilleures performances pour les données qui ne sont pas de la même qualité et ont différents types de fonctionnalités. -Le nombre de couches cachées et le nombre d'unités cachées par couche sont les paramètres les plus importants.


Terminé jusqu'au [Chapitre 2 Apprendre avec l'enseignant (p.126)]

Recommended Posts

Fiche d'apprentissage 4 (8e jour)
Fiche d'apprentissage 9 (13e jour)
Fiche d'apprentissage 3 (7e jour)
Fiche d'apprentissage 5 (9e jour)
Fiche d'apprentissage 6 (10e jour)
Fiche d'apprentissage 8 (12e jour)
Fiche d'apprentissage 1 (4e jour)
Fiche d'apprentissage 7 (11e jour)
Fiche d'apprentissage 2 (6e jour)
Fiche d'apprentissage 16 (20e jour)
Dossier d'apprentissage 22 (26e jour)
Dossier d'apprentissage n ° 21 (25e jour)
Fiche d'apprentissage 13 (17e jour) Kaggle3
Dossier d'apprentissage n ° 10 (14e jour)
Fiche d'apprentissage 12 (16e jour) Kaggle2
Dossier d'apprentissage n ° 24 (28e jour)
Dossier d'apprentissage n ° 23 (27e jour)
Dossier d'apprentissage n ° 25 (29e jour)
Dossier d'apprentissage n ° 26 (30e jour)
Dossier d'apprentissage n ° 20 (24e jour)
Dossier d'apprentissage n ° 14 (18e jour) Kaggle4
Dossier d'apprentissage n ° 15 (19e jour) Kaggle5
Fiche d'apprentissage 11 (15e jour) Participation de Kaggle
Enregistrement d'apprentissage de la programmation 2ème jour
Dossier d'apprentissage n ° 17 (21e jour)
Dossier d'apprentissage
Dossier d'apprentissage n ° 18 (22e jour)
Dossier d'apprentissage n ° 3
Dossier d'apprentissage n ° 1
Dossier d'apprentissage n ° 2
Dossier d'apprentissage n ° 19 (23e jour)
Dossier d'apprentissage n ° 29 (33e jour)
Dossier d'apprentissage n ° 28 (32e jour)
Dossier d'apprentissage n ° 27 (31e jour)
Apprentissage Python jour 4
Fiche d'apprentissage (2ème jour) Scraping par #BeautifulSoup
Dossier d'apprentissage jusqu'à présent
Fiche d'apprentissage (4e jour) #Comment obtenir le chemin absolu à partir du chemin relatif
Fiche d'apprentissage Linux ① Planifier
<Cours> Apprentissage en profondeur: Day2 CNN
<Cours> Apprentissage en profondeur: Jour 1 NN
Sujets> Deep Learning: Day3 RNN
Fiche d'apprentissage (3e jour) Méthode de description du sélecteur #CSS #Scraping avec BeautifulSoup
Enregistrement d'apprentissage (6ème jour) #Set type #Dictionary type #Conversion automatique de l'ensemble de taples de liste #ndarray type #Pandas (type DataFrame)
Étudiez en profondeur le Deep Learning [DW Day 0]