Professional Documents
Culture Documents
ARTIFICIELLE
REGRESSION ET OPTIMISATION
DR EKOBO BRICE
• INTRODUCTION
• OPTIMISATION
• CONCLUSION
INTRODUCTION
Problème d’optimisation-
étant donné une fonction 𝑓 ∶ 𝐴 → ℝ définie sur un ensemble A à valeurs dans l’ensemble ℝ, trouver un élément ∗ 𝑥
tel que :
Cette méthode apporte une droite tangentielle à un point sur la surface d’erreur
Application de La Technique de Descente de Gradient
On introduira donc un paramètre appelé learning rate. Le learing rate est un nombre
scalaire qui permet d’avancer dans le sens inverse du gradient d’une valeur égale à un
pourcentage du gradient. Il faudra repéter ce processus jusqu'à obtenir une valeur
satisfaisante de la fonction.
On obtient donc :
𝑥 ⟵ 𝑥 − 𝑎∆𝑥
Et le poids devient 𝑤 = 𝑤 + 𝑎 ∗ 𝑥𝑖 ∗ 𝑦𝑖
Cas d’une fonction multivariable
• Pour une fonction multi variable, il suffira de calculer les dérivées partielles et d’appliquer la méthode
de descente de gradient à chacune des variables.
• Exemple :
• On considère la fonction suivante : 𝑍 = 𝑋 2 + 2𝑌 2
𝜕𝑧 𝜕𝑧
• En calculant les dérivées partielles ; 𝑒𝑡
𝜕𝑥 𝜕𝑦
• On obtient ∆𝑥 𝑒𝑡 ∆𝑦.
• En appliquant donc à X et à Y la technique
de descente de gradient, on minimisera la fonction Z.
On obtiendra
𝒙 ⟵ 𝒙 − 𝒃∆𝒙 et 𝒚 ⟵ 𝒚 − 𝒄∆𝒚
• Note : La dérivée première nous dit si la fonction est croissante ou décroissante à un certain point.
Structure d’un Algorithme de
la Descente de Gradient
#perceptron
import numpy as np ''' initialisation des données entrées annotées et biais = -1 '''
X = np.array([ ])
y = np.array([ ]) '''definition de la descente de gradient'''
def perceptron_sgd(X, Y):
w = np.zeros(len(X[0])) # initialise w
eta = 1 # definition du learning rate
epochs = 20 # nombre de processus
for t in range(epochs):
for i, x in enumerate(X): ‘’’ condition d’itération’’’
if (np.dot(X[i], w)*Y[i]) <= 0:
w = w + eta*X[i]*Y[i]
return w
w = perceptron_sgd(X,y )
print(w) # affiche la nouvelle valeur de w
METHODE DE NEWTON
• Cette méthode d’optimisation elle, est dite de second ordre (utilisation de la dérivée
seconde). La dérivée seconde nous dit si la dérivée première est croissante ou
décroissante. Les méthodes du second ordre apportent une surface quadratique qui
embrasse la courbe de la surface d’erreur et donc n’ignorent pas la courbure de cette
surface.
Il y a deux versions de la méthode de Newton, la première sert à trouver les racines
d’un polynôme (tous les points ou il croise l’axe des x) et la deuxième version sert à
l’optimisation ; c’est celle que l’on utilisera (et que l’on considèrera comme la
méthode de Newton).
• On construit une approximation quadratique de la fonction cible qui correspond aux
valeurs des dérivées premières et seconde sur un point de la fonction. Ensuite, on
minimise cette fonction quadratique au lieu de la fonction de départ. Le point
minimal de la fonction quadratique est utilisé comme point de départ dans l’étape
suivante et le processus est répété itérativement.
• Pour une fonction de dimension une, on peut obtenir une approximation quadratique
à un point donné de la fonction en la développant en série de Taylor, en négligent les
termes de puissance supérieur à 2. L’on minimisera cette fonction approximative en
égalisant ses dérivées premières et secondes à 0.
Structure d’un Algorithme
de la Méthode Newton
from scipy import misc
REGRESSION LINEAIRE
Lors de l’apprentissage, le modèle devra trouver des valeurs de 𝑤𝑖 tel que l’erreur sera très petite (généralement
la méthode de descente de gradient).
La relation se présente sous la forme d'une équation correspondante à la droite représentant le mieux une série
de données. Par exemple, la droite dans le diagramme suivant est la meilleure représentation linéaire possible
des données.
Pour avoir l’erreur associée à un point, on évalue la distance entre le point et la droite de
régression. En ajustant les coefficients 𝑤𝑖 et 𝑤0 on ajuste aussi l’angle et l’emplacement
de la droite de régression. On les ajuste jusqu’à ce que la somme des erreurs associées à
tous les points atteigne le plus petit nombre possible.
Structure de l’algorithme
de regression Linéaire
Fonctions de Base
On peut introduire une non-linéarité de la manière suivante :
𝑴−𝟏
𝒚 𝑿, 𝑾 = 𝒘𝟎 + 𝒘𝒋 𝝓𝒋 (𝑿)
𝒋=𝟏
Avec 𝑀 = 𝐷 + 1 et ou les 𝜙𝑗 (𝑋) sont les fonctions de base.
Dans ce cas, le poids n’est plus directement multiplié par l’entrée 𝑋, mais pas la valeur des
fonctions, 𝜙𝑗 (𝑋).
1
En utilisant par exemple la fonction 𝜙𝑗 𝑋 = (fonction sigmoïde),
1+ 𝑒 −𝑥
on introduit une régression dite logistique. En effet la fonction 𝑦 𝑋, 𝑊 devient non linéaire
avec 𝜙𝑗 (𝑋).
REGRESSION LOGISTIQUE