La machine n'apprend pas: facile à comprendre! « Les mathématiques de lycée » Principes mathématiques de lecture descente de gradient

Descente de gradient algorithme est l'un des plus couramment utilisé l'apprentissage de la machine pour optimiser, vers la science des données a récemment publié un article facile à comprendre l'explication du principe de descente de gradient et processus.

« L'optimisation prématurée est la racine de tout le mal. »

- informaticiens et mathématiciens Donald Ervin Knuth

processus de développement logiciel Agile (agile de) est un terme dans un très connu. L'idée de base est simple: construire rapidement sa sortie commentaires Répétez ce processus à modifier en fonction des commentaires. L'objectif de cette approche est de rendre la fin du produit à l'utilisateur, et permet aux utilisateurs de commentaires pour vous guider pour obtenir un minimum d'erreurs peuvent être les meilleurs produits. En outre, les mesures améliorées doivent être petites et doivent également permettre aux utilisateurs de continuer à y participer. D'une certaine manière, le processus de développement logiciel agile implique l'itération rapide. Le processus de base de descente de gradient est presque est le cas - d'une solution le plus rapidement possible, et la mesure itérative aussi souvent que possible.

objectif

algorithme de descente de gradient est un processus itératif qui nous permet d'obtenir un minimum de fonction (ici, sans parler de quelques considérations supplémentaires). La formule suivante tout au long de l'algorithme de descente de gradient ensemble et forment une ligne:

Mais comment avons-nous cette formule? Il est en fait assez simple, et ne comprend que peu de mathématiques du secondaire (Tracy: outre-mer derrière sa haute mathématiques de l'école?). Nous espérons que grâce à ce contexte de l'article linéaire modèle de régression à comprendre et à reproduire dans cette formule.

Un modèle d'apprentissage de la machine

Avec quelques points de données dans un espace 2D. Ces données et la prise en charge d'un groupe d'étudiants sur la taille et du poids. Nous voulons prédire une relation entre ces quantités, afin que nous puissions prédire l'avenir d'un nouveau poids corporel de l'étudiant. Il est un cas simple technologie d'apprentissage machine supervisé de cette nature.

Maintenant, nous allons tracer une ligne dans l'espace une ligne et le faire à travers quelques-uns des points de données. Ensuite, cette ligne est l'équation y = mx + b, où m est la pente, b est l'ordonnée à l'origine de cette ligne sur l'axe Y.

prévision

Étant donné un ensemble d'entrées connues et leurs sorties correspondantes. modèles d'apprentissage de la machine à partir de ces données tenteront de prédire la sortie d'une nouvelle entrée.

processus d'apprentissage de la machine

La différence entre les deux est le résultat de l'erreur de prédiction (erreur).

Un concept connexe est la fonction de coût ou de la perte.

Fonction de coût  

La fonction coût / fonction de perte est d'évaluer les performances de notre algorithme d'apprentissage automatique. fonction de perte est l'erreur échantillon de formation individuelle calculée, la fonction de coût est fonction de la perte moyenne sur l'ensemble d'apprentissage. Donc, je voudrais utiliser alternativement les deux termes.

Fondamentalement, la fonction de coût peut nous dire quand donné les valeurs de m et b du modèle pour prédire la performance de « la qualité ».

Par exemple, si l'ensemble des données ensemble de points N, et pour tous les points de données N, nous voulons minimiser l'erreur. Ainsi sera la fonction de coût est l'erreur quadratique totale, qui est la suivante:

N points de données de la fonction de coût

Pourquoi utilisons-nous la différence au carré sans utiliser directement la différence absolue il? Parce que le carré de la différence, nous pouvons le rendre plus facile à tracer une ligne de régression. En fait, pour trouver cette ligne, il faut calculer la dérivée première de la fonction de coût, qui calcule la valeur absolue de l'inverse beaucoup plus difficile que le calcul de la valeur carrée du dérivé.

Réduire au minimum la fonction de coût  

Tout algorithmes d'apprentissage machine cible est de minimiser la fonction de coût.

En effet, plus l'erreur entre les valeurs réelles et prévues, il montre les performances de l'algorithme dans l'apprentissage, le mieux. Puisque nous voulons que la valeur d'erreur le plus bas, nous espérons que ces valeurs de m et b erreur obtenue est réduite au minimum, autant que possible.

Nous exactement comment minimiser toute fonction?

Une observation attentive, notre fonction de coût est Y = X² de la forme. Dans le système de coordonnées cartésiennes, qui est une équation parabolique, il peut être aspiré dans la forme de la figure:

parabole

 Pour minimiser la fonction ci-dessus, nous devons trouver la valeur de X pour obtenir Y valeur la plus faible, ce point rouge. Parce que c'est une carte en 2D, le positionnement est facile à sa valeur minimale, mais pas le cas où la dimension supérieure. Dans ces cas, nous devons concevoir un minimum de positionnement algorithme, cet algorithme est descente de gradient.

descente de gradient

descente de gradient est l'un de l'algorithme d'optimisation le plus couramment utilisé, est actuellement la façon la plus commune d'optimisation réseau de neurones. Ceci est une fonction itérative pour trouver la valeur minimale de l'algorithme d'optimisation.

La compréhension intuitive

Supposons que vous marchez le long des chiffres suivants, et se trouve actuellement à la position de point vert. Votre objectif est d'atteindre un minimum, ce point rouge, mais à votre emplacement, vous ne pouvez pas voir où la valeur minimale.

Les actions possibles seraient comme ceci:

  • Vous pouvez être haut ou le bas
  • Si vous décidez de la direction à suivre, afin d'atteindre la destination, vous pouvez prendre un pas de géant, il peut prendre un petit pas.

Pour l'essentiel, afin d'atteindre le minimum, vous devez savoir deux choses: quoi et comment le pas beaucoup de rythme.

algorithme de descente de gradient peut utiliser des instruments dérivés pour nous aider efficacement à prendre ces décisions. Dérivé est un terme dérivé du calcul, peut être calculée comme étant la pente de la figure point particulier. Donc, si nous avons la capacité de calculer cette tangente, nous pouvons être en mesure de calculer la direction pour atteindre le minimum qui doit être sélectionné. Nous allons décrire plus en détail plus tard.

  minimum

Sur la figure, on peut dans une tangente stippling verte, nous savons que si nous remontons, nous serons loin du minimum ou vice versa. De plus, cela nous permet également de comprendre la pente tangente déclivité.

La pente au point bleu n'est pas raide à Green Point, cela signifie que pour atteindre le minimum requis par rapport au rythme de point bleu que sur le point vert est beaucoup plus petit.

explication mathématique de la fonction de coût

Maintenant, toutes les formules mathématiques écrites LET décrites ci-dessus. Dans l'équation y = mx + b, m et b sont les paramètres. Au cours de la formation, leurs valeurs seront des modifications mineures. Nous allons changer ce petit exprimé en . Les valeurs des paramètres sont mises à jour pour m = m-m, et b = b-AB manière. Notre objectif ici est de trouver l'erreur minimum y = mx + b valeurs de m et b dans la boîte, à savoir, ce qui réduit la valeur de fonction de coût.

 Réécrire la fonction de coût:

L'idée est que, grâce à des fonctions de calcul dérivés et la pente, on peut trouver la dérivée / pente de la fonction.

le taux d'apprentissage

Atteint la valeur minimale ou la taille de pas est appelé un taux d'apprentissage en bas. Grand foulée / taux d'enseignement supérieur peut couvrir des zones plus vastes, mais ils ont traversé le minimum de risque. D'autre part, les petites étapes / baisse du taux d'apprentissage a atteint le point le plus bas besoin de consommer beaucoup de temps.

L'image ci-dessous montre le concept du taux d'apprentissage. Dans la troisième figure, nous utilisons le nombre minimum d'étapes pour atteindre le minimum. Ceci est la meilleure étude de cette question.

On peut voir lorsque le taux d'apprentissage est trop faible, il nécessite de nombreuses étapes à converger. Lorsque le taux d'apprentissage est trop élevé, la descente de gradient ne sera pas atteint la valeur minimale, comme indiqué ci-dessous.

 Les résultats des différents taux d'apprentissage se rapportent à: https: //developers.google.com/machine-learning/crash-course/fitter/graph.

dérivé  

l'apprentissage de la machine à utiliser des instruments dérivés dans les problèmes d'optimisation. Comme algorithme d'optimisation gradient de descente détermine l'utilisation réelle des dérivés pour augmenter ou diminuer le poids, pour augmenter ou diminuer la fonction cible.

Si on peut calculer la dérivée d'une fonction, nous savons que la direction est la direction que vous voulez continuer cette fonction est réduite au minimum. Nous traitons principalement avec deux concepts de calcul:

droit puissance  

Le calcul de la loi de puissance est d'améliorer la puissance du dérivé variable.

règle de la chaîne  

règle de la chaîne de calcul de la dérivée de la fonction composite. La règle de la chaîne notation Leibniz peut être utilisé comme suit:

Si la variable y qui dépendent de la variable z, et les variables Y sont également fonction de la variable x, alors y et z est la variable dépendante, mais aussi par la variable intermédiaire z dépend de x. On appelle cela la règle de la chaîne, on peut écrire une équation mathématique:

Comprenons par un exemple:

La loi de puissance et la règle de la chaîne des produits dérivés, nous pouvons calculer la fonction de coût par rapport à l'évolution de la façon de m et b. Cela implique le concept de dérivée partielle, à savoir s'il existe une fonction de deux variables, la fonction est de trouver un procédé par rapport à un nombre variable de dérivées partielles est une autre variable comme une constante. Explication sera plus clair avec un exemple:

Calcul de descente de gradient  

Nous allons maintenant appliquer à ces règles que nous avions équations de calcul et de trouver la dérivée de la fonction de coût par rapport à m et b. Revisiter la fonction de coût:

Par souci de simplicité, débarrassons-nous d'eux le symbole de sommation. La partie la somme est très important, en particulier par rapport à la descente de gradient stochastique (SGD) Concept baisse du temps de gradient de traitement par lots. Dans le processus de descente de gradient de traitement par lots, nous avons une erreur d'un temps à vérifier tous les échantillons de formation, et dans le processus de SGD, chaque fois que nous vérifions chaque erreur. Cependant, pour simplifier, nous supposons que chaque fois que nous vérifions chaque erreur.

 Maintenant, on calcule le gradient m et b associé à une erreur:

Ces valeurs Rentrant dans la fonction de coût, et multiplie le taux d'apprentissage:

Maintenant, l'équation 2 est pas si important, car cela signifie que nous devons apprendre deux fois le taux ou moitié. Nous avons donc jeter directement. Par conséquent, l'ensemble de ce dernier article sont concentrés dans deux équations simples représentent une descente de gradient.

m¹, B¹ = paramètre de position suivante; m, b = paramètre de position actuelle.

Par conséquent, afin de résoudre le gradient, on utilise une nouvelle itération de m et b valeurs nos points de données et le calcul des dérivées partielles. Le nouveau gradient de la fonction de coût peut pointer vers la position actuelle de la pente et la direction que nous devrions passer afin de mettre à jour nos paramètres. Mis à jour par la taille de notre contrôle de la vitesse d'apprentissage.

résumé

Le but de cet article est de démontrer le concept de descente de gradient. Nous utilisons la descente de gradient stratégie d'optimisation comme une régression linéaire. Pour mesurer la relation entre la taille et le poids des étudiants en traçant une ligne de meilleur ajustement. Cependant, il est important de noter que cet exemple est de démontrer le choix linéaire de régression simple, descente de gradient peut également être utilisé pour d'autres techniques d'apprentissage de la machine.

Transfert: le coeur de la machine https://www.jiqizhixin.com/articles/2019-04-07-6

Guangdong et du Sichuan Kong train pour aider à libérer plus de 1800 travailleurs hors site de retour du travail dans le Guangdong employé
Précédent
Cette iPhone6 infiniment plus compétent? Il était un prix élevé pour acheter! Alipay nuit pour répondre
Prochain
7700K avec carte graphique professionnelle, 6000 yuans programme de modélisation 3D Configuration recommandée
5 minutes contre le jour! les ventes Maotai par tonne métrique, blockbuster de la stratégie commerciale de cloud Lynx!
Pas cher et beau, coquille de téléphone d'Apple montrent iPhone7
Dieu plus 20 connaissance froide du monde, je vois les trois premiers silly
Jouer LOL "Heroes Union", 2000 yuans programme de configuration recommandée Zanji
Fuzhou homme « courageux » demandes d'enregistrement détenus exposition utilisateur: Quel handicap secondaire identifié
Zibo nouvelle ouverture de saison du nouveau logo de l'équipe, kickball kickball homme-lettre
Installé une plate-forme la plus pratique dacentrurus 3500 yuans programme de configuration recommandée Zanji
Seiyuu, fat mode, interrogation de réseau, la répartition de la nouvelle ère professionnelle de l'Internet
Pour ne pas ajouter de l'argent à la fête! 3400 yuans dacentrurus plate-forme programme de configuration recommandée Zanji
La machine n'apprend pas: recherche sémantiquement liés app - court texte similaire
Pourquoi les fabricants de téléphones mobiles sont engagés dans le double photo? Après la lecture de comprendre