Nous arrivons au point où vous allez enfin pouvoir utiliser les dérivées dont je parlais en introduction 🙂

La notion de dérivée servira en effet à comprendre une des méthodes les plus utilisées aujourd’hui afin de permettre à un modèle de machine learning (d’apprentissage automatique), eh bien, « d’apprendre ». Toutefois, pour que cet article ne soit pas trop long, il faut au moins comprendre.

Prenons un modèle de machine learning permettant d’effectuer des prédictions, tel que la régression logistique, et appelons f(X) la fonction qui décrit les erreurs entre les valeurs réelles et les prédictions faites par notre modèle.

N.B : Cette fonction qui décrit l’erreur de notre modèle est plus communément appelé « fonction de coût » (‘Loss function’, en anglais)

Le but ici est donc d’apprendre à votre modèle de machine learning comment minimiser cette erreur, selon un paramètre que l’on va nommer X, il s’agit ainsi d’un problème d’optimisation de cette variable X.

Une première méthode est de calculer toutes les valeurs de X, ce qui nous donne la courbe en noir dans la figure n°…. Vous vous dites que cette méthode peut fonctionner si X admet un nombre de valeurs bien définis à l’avance, il suffira ainsi de calculer toutes les possibilités. Mais dans le cas où X est une variable continue, donc admettant un nombre infinie de valeurs, cette méthode trouve tout de suite ces limitations.

Un autre moyen de calculer le minimum de cette fonction f(X) est donné par l’algorithme de la Descente de Gradient (‘Gradient Descent’ en anglais).
On commence par initialiser X à une certaine valeur de manière aléatoire, appelons cette première valeur de X le « point de départ ». Cette valeur de départ est X = 0.57 dans notre cas. Calculons ensuite le gradient (ou la dérivée tout simplement, dans le cas d’une seule variable à optimiser) de cette fonction f(X) au point de départ, on obtient une valeur de -2.3 (cette valeur est fictive, c’est juste pour expliquer le principe). Cette valeur de -2.3 est donc la pente de la courbe f(X) au point X = 0.57.

Cette pente peut ainsi nous permettre de calculer ce que l’on appelle le « pas »
pas = pente de la courbe * taux d’apprentissage.

Le taux d’apprentissage est une valeur que nous pouvons fixer arbitrairement, disons 0.1.

Ainsi, pas = -2.3 * 0.1 = -0.23.

Grâce à ce pas, nous pouvons alors obtenir une nouvelle valeur de X, tel que :
Nouveau X = Ancien X – pas = 0.57 – (-0.23) = 0.8.

Ce processus est alors répété à chaque itération comme vous pouvez le voir sur la courbe juste en-dessous, jusqu’à ce que la valeur de l’erreur donnée par la fonction f(X) soit la plus basse parmi les itérations, ce qui représente la valeur optimale du paramètre X :

Si jamais le minimum de la courbe n’est pas trouvé, on peut décider d’arrêter l’algorithme, soit quand le pas devient trop petit (généralement plus petit que 0.001), soit si le nombre d’itérations dépasse un nombre fixé (généralement supérieur à 1000).

Pour visualiser cette algorithme plus en détails, étape par étape, je vous laisse consulter cette excellente vidéo du statisticien et youtuber Josh Starmer.

Write A Comment

fr_FRFrench