On dit qu'un programme informatique mesure la tâche T (ce que l'application veut faire) avec l'indice de performance P, et si ses performances sont améliorées par l'expérience E (données), il apprend de l'expérience E concernant la tâche T et l'indice de performance P. Est
Exemple) Dans le cas du cours de l'action Tâche T → Prédire le prochain cours de l'action en entrant les données d'entrée passées sur le cours Indice de performance P → Différence entre le cours de l'action prévu et le cours réel de l'action Expérience E → Données de cours des actions passées
Le problème de la prédiction de l'entrée d'une valeur discrète ou continue à la sortie d'une valeur continue
--Entrée (appelée variable explicative ou quantité caractéristique de chaque élément)
Variables explicatives: $ x $ = ($ x_1 $, $ x_2 $, $ \ dots $, $ x_m $) $ ^ T $ $ \ in $ $ \ mathbb {R} ^ m $ Variable objective: $ y $ = $ \ in $ $ \ mathbb {R} ^ m $.
Exemple) Prévision du prix du logement Variables explicatives: nombre de pièces, superficie du site et âge Variable objective: prix
Connexion linéaire (produit interne de l'entrée et du paramètre)
Paramètres: $ w $ = ($ w_1 $, $ w_2 $, ..., $ w_m $) $ ^ T $ $ \ subset $ $ \ mathbb {R} ^ m $ Variables explicatives: $ x $ = ($ x_1 $, $ x_2 $, ..., $ x_m $) $ ^ T $ $ \ subset $ $ \ mathbb {R} ^ m $ Valeur prédite: $ \ hat {y} $ Connexion linéaire:
\hat{y} = w^Tx + w_0= \sum_{j=1}^{m} w_jx_j + w_0
Divisez les données en données d'entraînement et données de validation pour mesurer les performances de généralisation du modèle Bonne adéquation aux données pour mesurer la généralisation du modèle Dans quelle mesure vous pouvez prédire des données inconnues qui n'ont pas beaucoup de sens
Erreur quadratique entre les données et la sortie du modèle
MSE_{train} = \frac{1}{n_{train}}\sum_{i=1}^{n_{train}}(\hat{y}_i^{(train)}-y_i^{(train)})^2
Le $ \ hat {W} $ (coefficient de retour) qui différencie le MSE et le résout pour qu'il devienne 0 est obtenu.
\hat{W} = (X^{(train)T}X^{(train)})^{-1}X^{(train)T}y^{(train)}
Par conséquent, la valeur prédite $ \ hat {y} $ est
\hat{y}=X\hat{W} = X(X^{(train)T}X^{(train)})^{-1}X^{(train)T}y^{(train)}
Devient
https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/01_%E7%B7%9A%E5%9E%8B%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_regression.ipynb Référence de la méthode d'évaluation du modèle https://funatsu-lab.github.io/open-course-ware/basic-theory/accuracy-index/#r2
Les données ont été divisées en 7 à 3 et analysées respectivement pour obtenir le coefficient de décision et l'erreur quadratique moyenne.
--Analyse de régression simple linéaire
Variable explicative: nombre de chambres Variable objective: prix
MSE Train : 44.983, Test : 40.412
--Analyse de régression multiple (2 variables)
Variables explicatives: nombre de chambres, taux de criminalité
Variable objective: prix
MSE Train : 40.586, Test : 34.377
Puisque MSE est plus proche de 0 et que la valeur de $ R ^ 2 $ est plus proche de 1, on peut voir que l'analyse de régression multiple est plus précise.
Il est nécessaire d'effectuer une modélisation de régression non linéaire pour les phénomènes qui ont plusieurs structures non linéaires.
En cas de non-linéarité, la modélisation est effectuée à l'aide d'une méthode appelée méthode d'expansion de base.
y_i=f(x_i)+\epsilon_i\qquad y_i=\omega_0+\sum_{i=1}^m\omega_j\phi_j(x_i)+\epsilon_i
Non-linéariser $ x $ avec $ \ phi $ dans un mapping linéaire puis regarder le couplage linéaire Ici $ \ phi $ est la fonction de base
\phi_j=x^j
\phi_j(x)=\exp\Biggl(\frac{(x-\mu_j)^2}{2h_j} \Biggr)
La méthode d'expansion de base peut être estimée dans le même cadre que la régression linéaire
Variable explicative:
x_i=(x_{i1},x_{i2},\dots,x_{im})\in \mathbb{R}_m
Vecteur de fonction non linéaire:
\phi(xi)=(\phi_1(x_i),\phi_2(x_i),\dots,\phi_k(x_i))^T∈\mathbb{R}^k
Matrice de conception pour les fonctions non linéaires:
\Phi_(train)=(\Phi(x_1),\Phi(x_2),\dots,\Phi(x_n))^T\in \mathbb{R}^{n×k}
Valeur prédite par la méthode la plus probable:
\hat{y}=\Phi(\Phi_(train)^T\Phi_(train))^{-1}\Phi_(train)^Ty_(train)
Un modèle qui ne fournit pas une erreur suffisamment petite pour les données d'apprentissage
Contre-mesures
Un modèle avec une petite erreur mais une grande différence par rapport à l'erreur du jeu de test Une petite erreur a été obtenue pour les données d'entraînement, mais l'erreur est devenue importante pour les données de vérification.
Contre-mesures
Minimiser les fonctions qui imposent un terme de régularisation (terme de pénalité) dont la valeur augmente avec la complexité du modèle
Terme de régularisation: $ γR (w) $
Il existe plusieurs types en fonction de la forme, et chacun a des propriétés différentes du montant estimé.
$ γ $: paramètre de régularisation Ajuster la douceur de la courbe du modèle
Ridge Estimation de la crête utilisant la norme L2 pour le terme de régularisation Estimer le paramètre plus proche de 0 Appelé estimation réduite
Estimations au lasso en utilisant la norme L1 pour le terme de régularisation Estimer certains paramètres à exactement 0 Estimation clairsemée appelée
Divisez les données en deux parties, une pour la formation et une pour les tests, et utilisez-les pour estimer la précision des prévisions et le taux d'erreur. Si vous ne disposez pas d'une grande quantité de données, il y a un inconvénient: cela ne donne pas une bonne évaluation des performances Dans un modèle de régression non linéaire basé sur la méthode d'expansion de base, le nombre, la position et le réglage des fonctions de base sont déterminés. Déterminé par le modèle qui réduit la valeur de retenue
Les données sont divisées en formation et vérification, les données de vérification sont évaluées et la précision moyenne est appelée valeur CV. Le résultat de l'évaluation est plus fiable que la méthode d'exclusion.
La vraie fonction est $ y = 1-48x + 218x ^ 2-315x ^ 3 + 145x ^ 4 $
Générez des données en ajoutant du bruit à une fonction réelle Prédire les fonctions vraies à partir de données par régression linéaire et non linéaire, respectivement
https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/02_%E9%9D%9E%E7%B7%9A%E5%BD%A2%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_nonlinear%20regression.ipynb Précision de la régression linéaire: 0,3901811689763751 Précision de la régression non linéaire: 0.8824933990551088 (La fonction de base est RBF et la force de normalisation est de 0,0002)
La régression linéaire ne représente pas une vraie fonction La régression non linéaire peut représenter à peu près une fonction vraie Il s'avère que la régression non linéaire est plus précise De plus, si la normalisation n'est pas effectuée, la précision sera de 9,9999, mais elle sera surapprise de la figure et loin de la vraie fonction.
La régression Lasso définit le paramètre sur clairsemé, donc quand je le vérifie, tous sont 0.
Le modèle de régression logistique est une classification Qu'est-ce qu'un problème de classification? Un problème de classification des classes à partir d'une certaine entrée Données traitées par classification Entrée: $ x = (x_1, x2_2, \ dots, x_m) ^ T \ in \ mathbb {R} ^ m $ (vecteur à m dimensions) Sortie: $ y \ in \ Bigl \ {0,1 \ Bigr \} $ (valeur de 0 ou 1) Exemple) Données Titanic, données IRIS Si ces données sont appliquées telles quelles dans le modèle de régression, la valeur n'aura aucun sens en tant que probabilité. Ainsi, le modèle de régression logistique prend la connexion linéaire de l'entrée et du paramètre m-dimensionnel comme entrée de la fonction sigmoïde.
Une fonction d'augmentation monotone qui produit toujours 0 à 1 lorsque l'entrée est un nombre réel
Fonction sigmoïde $ \ sigma (x) $
Fonctionnalité
-Augmenter $ a $ augmente la pente de la courbe près de $ x = 0 $ -Extrêmement grand $ a $ s'approche de la fonction d'étape unitaire
Différenciation de la fonction sigmoïde
Parce qu'il devient, il peut être exprimé par sa propre fonction
Valeur que vous voulez trouver (probabilité de Y $ = 1 $)
Peut être écrit comme Les données $ Y $ sont classées comme 1 si la probabilité est de 0,50 ou plus et 0 si la probabilité est inférieure à 0,50. Utilisez la méthode d'estimation la plus probable pour décider comment penser cette formule
Le modèle de régression logistique utilise la distribution de Bernoulli Lorsqu'on considère une certaine distribution, les données générées par ce paramètre changent. La méthode d'estimation la plus probable consiste à estimer la distribution plausible qui aurait généré les données à partir de ces données. La méthode de sélection des paramètres qui maximisent la fonction de vraisemblance est appelée estimation du maximum de vraisemblance.
Corriger les données et modifier les paramètres Probabilité de $ y = y_1 $ dans un essai
Probabilité que $ y_1 à y_n $ se produisent en même temps dans n essais (fixée à p)
Les données y données ici sont fixes et p est estimé comme une variable. Très probablement lorsque p est maximal Il vous suffit donc de résoudre le problème d'optimisation pour p
$ W $ est inconnu
―― Puisqu'il existe de nombreuses multiplications, il est plus facile de calculer le différentiel si vous prenez la logarithmique.
Par conséquent, prenez le logarithme $ L (w) $ ci-dessus et multipliez-le par moins, et résolvez-le avec le problème de minimisation.
Dans le cas de la régression logistique, il n'est pas possible de trouver le paramètre qui minimise la fonction de vraisemblance. Par conséquent, les paramètres sont mis à jour séquentiellement par la méthode de descente de gradient. Cependant, si cette méthode de descente de gradient est utilisée telle quelle, il y a un inconvénient à ce que toutes les données d'entrée soient requises pour une mise à jour de paramètre. Lorsque les données d'entrée deviennent énormes, des problèmes tels que le temps de calcul et une mémoire insuffisante deviennent des problèmes. Pour résoudre ce point, il existe une méthode de descente de gradient probabiliste. Mettre à jour les paramètres de manière séquentielle par apprentissage itératif L'une des approches. Ajustez la facilité de convergence des paramètres avec le taux d'apprentissage. Retour logistique Au lieu de cela, il est nécessaire de différencier la fonction de vraisemblance logarithmique avec un paramètre pour obtenir une valeur qui devient 0, mais comme il est difficile de l'obtenir analytiquement, la méthode de descente de gradient est utilisée. Paramètres Quand n'est pas mis à jour, cela signifie que le gradient devient 0, et la solution optimale se trouve dans la plage d'apprentissage itératif.
Une valeur initiale est donnée au paramètre, le paramètre est progressivement mis à jour, et lorsqu'il converge, le paramètre à ce moment-là est adopté comme valeur optimale. Le taux d'apprentissage η représente la «longueur de pas» de mise à jour des paramètres. S'il est petit, il faut du temps pour converger. S'il est trop grand, un événement se produira dans lequel la valeur optimale est "sautée" (il devient difficile de trouver le point que vous voulez vraiment trouver le plus).
[Matrice confuse]
Données de validation positives | Données de vérification négatives | |
---|---|---|
Résultat attendu positif | Vrai positif | Faux positif |
Résultat attendu négatif | Faux positif (faux négatif) | Vrai négatif |
[Taux de conformité et taux de rappel, valeur F]
Taux de réponse correct
Rappel
Précision
Mains sur [Résultats de la pratique] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/04_%E3%83%AD%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%82%AF%E3%82%B9%E5%9B%9E%E5%B8%B0%E3%83%A2%E3%83%87%E3%83%AB/skl_logistic_regression.ipynb
[Discussion] Plus le tarif est élevé, plus les chances de survie sont élevées. Il montre que plus le rang est élevé, plus la probabilité de survie est élevée. La plupart des femmes de haut rang survivent
Données d'entraînement
Vecteur moyen
Pensez à la quantité d'informations comme à la taille de la distribution Recherchez l'axe de projection qui modifie le vecteur de coefficient et maximise la dispersion
La variance après retour linéaire est
Et contraintes
Par conséquent, la fonction objectif
Ici, la fonction de Lagrange suivante est utilisée pour résoudre le problème contraint.
Combien d'informations peuvent être conservées à la suite de la compression
Taux de cotisation
[Résultats de la pratique] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/03_%E4%B8%BB%E6%88%90%E5%88%86%E5%88%86%E6%9E%90/skl_pca.ipynb
[Discussion] On peut voir que le taux de contribution est d'environ 60% lorsqu'il est comprimé en 2 dimensions et d'environ 70% lorsqu'il est compressé en 3 dimensions. Il s'est avéré que même s'il est compressé en deux dimensions, il peut être classé dans une certaine mesure. Avant compression, elle était classée à 97%, mais on constate que la précision diminue lorsqu'elle est compressée à 2 dimensions. Les données sont devenues plus faciles à comprendre en supprimant des dimensions
Techniques d'apprentissage automatique pour les problèmes de classification Obtenez K éléments de données dans le voisinage le plus proche et identifiez-vous à la classe à laquelle appartient le plus Plus k est grand, plus l'association décisionnelle est fluide
[Résultats de la pratique] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/05_knn/np_knn.ipynb
[Discussion] Il a été lu que plus k est grand, plus la frontière de décision est lisse.
--Apprendre sans professeur
―― 1. Définissez la valeur centrale de chaque classe ―― 2. Pour chaque point de données, calculez la distance du centre du cluster à écrire et attribuez le cluster le plus proche. ―― 3. Calculez le vecteur moyen du cluster à écrire ―― 4. Répétez quelques processus jusqu'à la convergence
[Résultats de la pratique] https://github.com/Tomo-Horiuchi/rabbit/blob/master/Part1/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92/06_k-%E5%B9%B3%E5%9D%87%E6%B3%95/np_kmeans.ipynb
[Discussion] J'ai pu classer les données données en trois classes Il a été confirmé que le résultat du regroupement change lorsque la valeur de k est modifiée.
Recommended Posts