samedi 5 septembre 2020

Résoudre les problèmes de Régression avec le Machine Learning – Part 2 : La Descente du Gradient

 

Résoudre les problèmes de Régression avec le Machine Learning – Part 2 : La Descente du Gradient


Introduction

Dans le premier article nous avons énuméré les trois principales méthodes d’apprentissage à savoir :

-          L’apprentissage supervisé

-          L’apprentissage non supervisé

-          L’apprentissage par renforcement

Avant d’aborder les modèles de régression proprement dits dans les articles à suivre, nous allons dans cet article parler de la descente du gradient (Gradient Descent). C’est l’un des algorithmes les plus importants de tout le Machine Learning. Il est extrêmement puissant et permet d’entrainer les modèles de régression linéaire, régression logistique ou encore les réseaux de neurones.

 

C’est quoi la descente de Gradient ?

La descente de gradient n’est ni plus ni moins qu’un algorithme permettent de trouver le minimum d’une fonction. Trouver le minimum de n’importe quelle fonction convexe, c’est la même chose que de trouver le maximum d’une fonction, il suffit de changer de signe.

Pour rappel, depuis le lycée on sait que pour trouver le minimum d’une fonction, on :

-          Calcule la dérivée première f’(x)

-Résout l’équation f’(x) = 0 pour trouver les points d’inflexion

-          Calcule la dérivée seconde en ces points. Lorsqu’elle est positive, c’est le minimum. Lorsqu’elle est négative, c’est un maximum.

C’est une technique qui marche bien mais quand on manipule des expressions assez compliquées, il devient parfois impossible de résoudre des équations.

La descente de gradient offre une approche algorithmique et itérative.



Comment ça marche ?

Je donne d’abord une explication intuitive et après nous ferons les maths.

L’ascension du mont Cameroun, connue sous le nom de Course de l’espoir est une course de montagne effectuant l’ascension, puis la descente du Mont Cameroun dans la région du Sud-Ouest au Cameroun. Imaginons que vous participiez à cette course et que vous cous trouvez au sommet de la montagne et vous voulez trouver le point du refuge le plus bas de la montagne.


Votre approche va être de vous mettre face a la pente (descendante) et avancer dans cette direction pendant un certain temps et vous positionner à un nouveau point. De nouveau, vous mettez face a une pente et avancez dans cette direction pendant un certain.

Text Box:  ET AINSI DE SUITE.

Et au bout d’un moment. A force de toujours descendre, vous arriverez tout en bas, au point de refuge.

En maths, la pente correspond à la dérivée première.

 

 

Algorithme de la descente du gradient

Pour construire l’algorithme de la descente du gradient :

1.       Nous partons d’un point initial aléatoire (comme si nous étions perdus dans la montagne) puis nous mesurons la valeur de la pente en ce point c’est-à-dire, nous calculons la dérivée d’une fonction.

Il faut rappeler que le Gradient n’est que la généralisation vectorielle de la dérivée dans le cas d’une fonction a plusieurs variables.

2.     Nous progressons ensuite d’une certaine distance  dans la direction de la pente qui descend. On appelle cette distance la vitesse d’apprentissage (Learning Rate).

On répète ces deux étapes en boucle jusqu’à ce que la pente soit nulle.

 

 Ainsi nous avons :

 

Par exemple si nous avons une fonction cout a deux variables a et b, J(a, b), on va calculer le gradient pour chaque variable :

 

 

 

 

Aucun commentaire:

Enregistrer un commentaire

How to fix errors : -         ORA-38760: This database instance failed to turn on flashback database -         ORA-38780: Restore poin...