Algorithme de descente du gradient
stochastique
Laura GAY
Sous l’encadrement de Marianne CLAUSEL.
Décembre 2015
Table des matières
Introduction 2
1 Notions d’optimisation sous contraintes utiles pour la suite 2
1.1 Dénitions................................................ 2
1.2 Résultats ................................................. 2
2 Support vector machines 3
2.1 Principe.................................................. 3
2.2 Formulation du problème par optimisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 Descente stochastique du gradient 5
3.1 Principe.................................................. 5
3.2 Preuve .................................................. 5
3.3 Application de l’algorithme au cas des SVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4 Utilisation de Python pour application sur un jeu de données 8
4.1 Données sur le cancer du sein : introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4.2 Analyse en Composantes Principales (ACP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3 Classification des données et performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Références 10
1
Introduction
L’algorithme de gradient de descente stochastique (SGD) est un algorithme simple mais constitue une ap-
proche efficace pour l’apprentissage de classifieurs linéaires sous des conditions de coûts convexes. C’est
notamment le cas des machines à vecteurs support (SVM). Même si cet algorithme existe depuis quelques
décennies, il a récemment de nouveau attiré les chercheurs dans le contexte de l’apprentissage à grande
échelle pour lequel il a été appliqué avec succès.
Nous rappellerons tout d’abord quelques notions d’optimisation sous contraintes qui nous serviront à for-
muler notre problème et à l’analyser. Nous détaillerons ensuite la motivation de ce document, à savoir les
classifieurs SVM, et nous les analyserons à l’aide des notions d’optimisation. Nous effectuerons ensuite la
preuve de l’algorithme de descente du gradient stochastique ainsi que son utilisation dans le cas des SVM.
Enfin, nous exploiterons les notions vues pour une application sur des données réelles (cancer du sein) sur
le logiciel Python.
1 Notions d’optimisation sous contraintes utiles pour la suite
1.1 Définitions
Dans la suite, notre problème (P)de classification pourra être reformulé sous la forme
min
zRp+1f(z)
avec iJ1, nK,gi(z)60
gi,fsont des fonctions C1à valeurs réelles.
Définition 1 (Lagrangien associé à (P))
Il est défini comme suit :
L:Rp+1×Rn
+R
(z,α)7f(z) + αTg(z) = f(z) +
n
i=1
αigi(z)
Définition 2 (Point selle du Lagrangien associé à (P))
(z,α)Rp+1×Rn
+est un point selle du Lagrangien associé à (P)si
max
αRn
+
L(z,α) = L(z,α) = min
zRp+1L(z,α)
Nous allons maintenant évoquer les résultats d’optimisation que l’on utilisera dans la partie suivante.
1.2 Résultats
Théorème 3 (de Kuhn et Tucker)
On suppose que f,g1, ...,gnsont convexes continues et dérivables sur Rp+1.
Soit zun point où les contraintes sont QSLz.
Alors zest une solution de (P)si et seulement si il existe αRn
+tel que (z,α)soit un point selle du
Lagrangien. De manière équivalente,
g(z)60 , αTg(z) = 0
f(z) +
n
i=1
αigi(z) = 0
Les αisont appelés multiplicateurs de Kuhn-Tucker.
2
Nous allons maintenant détailler la motivation de notre étude, et utiliser sur ce problème les notions et
résultats que l’on vient d’exposer.
2 Support vector machines
2.1 Principe
FIGURE 1 – Différents hyperplans séparateurs
possibles
Les machines à vecteurs support (en anglais Sup-
port Vector Machine, SVM) sont un ensemble de
techniques d’apprentissage supervisé destinées à ré-
soudre des problèmes de classification (SVC) et de
régression. Les SVM sont des types des classifieurs.
On ne considérera ici que le cas des SVM li-
néaires.
Plus concrètement, voyons ce que cela représente sur un
exemple. Des oranges et des pommes défilent sur un ta-
pis roulant et on souhaite les séparer. Si on dispose par
exemple de la hauteur et largeur de chacun de ces fruits,
peut-on avoir un algorithme qui informe sur le type de
fruit ?
Considérons un exemple de problème en 2D où l’on
cherche à séparer les croix des ronds. On voit que plusieurs droites permettent de séparer nos deux "zones"
mais que une est plus appropriée que les autres si de nouveaux points "limites" se rapprochent. Essayons
de formaliser cette pensée.
On considère un problème binaire où à chaque vecteur xRpest associé une valeur y∈ {±1}. Cela forme
un couple (x,y). On suppose ensuite que l’on a à disposition un échantillon de tels couples c’est à dire
{(xi,yi),iJ1, nK}. Cet ensemble sera appelé ensemble d’apprentissage.
L’idée est alors de construire une fonction squi au vecteur d’entrée xfait correspondre la sortie y=s(x).
Dans notre cas (le cas simple), on prend pour notre classification une fonction discriminante linéaire, obte-
nue par combinaison linéaire du vecteur d’entrée x, avec un vecteur de poids v:
h(x) = vTx+a
Il est alors décidé que xest de classe 1 si h(x)0 et de classe 1 sinon. Autrement dit, sn’est rien d’autre
que le signe de h. C’est un classifieur linéaire. L’hyperplan séparateur est alors
={xRp/h(x) = 0}
FIGURE 2 – Un exemple de problème séparable en dimension 2 d’espace
3
FIGURE 3 – Un exemple de pro-
blème séparable en dimension 2
d’espace. Les vecteurs supports
sont marqués par des carrés gris.
Source : [3]
Afin de classer au mieux nos données, on cherche le "meilleur" hyper-
plan. En effet, il existe en général une infinité de frontières de déci-
sion linéaires séparant un échantillon. Nous allons prendre celui qui
maximise la marge géométrique
m=min
iJ1,nKdist(xi,) = min
iJ1,nKvTxi+a
kvk
Cette marge s’appuie sur les "vecteurs supports", visibles sur la figure
ci-contre, qui définissent le plus grande séparation possible entre
deux classes.
2.2 Formulation du problème par optimisation
On est donc face à un problème d’optimisation sous contrainte. En
effet, nous souhaitons maximiser la marge, mais en n’oubliant pas que les distances de tous nos points à
l’hyperplan doivent rester supérieures à la marge. Autrement dit, notre problème se réécrit :
Trouver vet aqui réalisent
max
v,am
avec iJ1, nK, dist(xi,)>m
L’hyperplan est alors défini à constante près. En effet, si (v,a)solution, tout multiple de (v,a)l’est aussi.
On fait alors le changement de variable w=v
mkvket b=a
mkvk. En notant z= (w,b)TRp+1, on peut
réécrire notre problème :
Trouver zqui réalise
max
z
1
kwk
avec iJ1, nK,yi(wTxi+b)>1
Or, maximiser l’inverse de la norme revient à minimiser le carré de celle-ci. On reformule alors notre pro-
blème, noté (PSVM)
Trouver zqui réalise
min
z
f(z)
z }| {
1
2kwk2
avec iJ1, nK, 1 yi(wTxi+b)
| {z }
gi(z)
60
On se retrouve bien dans le cas de notre problème (P)vu en partie 1. avec giaffine donc toutes nos
contraintes sont qualifiées.
Le Lagrangien de (PSVM)est
L:Rp×R×Rn
+R
(w,b,α)71
2kwk2+
n
i=1
αi(1yi(wTxi+b))
On va raisonner par analyse synthèse. Supposons qu’il existe (w,b)solution de (PSVM)tel que sup
αRn
+
L(w,b,α)<
alors il existe αRn
+tel que (w,b,α)soit un point selle du Lagrangien et
f(z) +
n
i=1
αigi(z) = 0
4
Autrement dit on a
w
n
i=1
α
iyixi=0 (1)
n
i=1
α
iyi=0 (2)
Ce point étant un point selle, on a également, pour tout iJ1, nK,
α
i(1yi(wTxi+b)) = 0 (3)
Si on veut que α
i>0 pour tout i, on se place alors sur A={iJ1, nK/yi(wTxi+b) = 1}.
La solution du problème, si elle existe, s’écrit donc, avec (1)
w=
i∈A
αiyixi
3 Descente stochastique du gradient
Nous allons tout d’abord montrer des résultats généraux puis les appliquer aux SVM.
3.1 Principe
On considère, comme lors de l’exemple des SVM, des couples entrée-sortie z= (x,y). On considère égale-
ment une fonction de perte l(ˆ
y,y)qui va mesurer l’écart entre la variable prédite ˆ
yet l’observée y. Notre but
est de trouver une fonction fwparamétrée par un poids wqui minimise le coût total C(w):=Ez[Q(z,w)],
Qest la fonction de coût définie par Q(z,w):=l(fw(x),y).
Si l’on connaissait la loi dPde z, nous pourrions estimer (et donc minimiser) le risque moyen (aussi appelé
erreur de généralisation)
E(fw) = C(w)
Cependant, comme nous ne disposons que d’un échantillon (z1,· · · ,zn)dont on ne connait pas la loi, on
s’intéresse plutôt à la minimisation du risque empirique (aussi appelé erreur d’entrainement)
En(fw) = 1
n
n
i=1
l(fw(xi),yi)
Un algorithme de descente du gradient déterministe reviendrait à obtenir une estimation du meilleur poids
wen effectuant
wk+1=wkγ
|{z}
taux bien choisi
1
n
n
i=1
wQ(zi,wi)
| {z }
wEn(fw)
Cependant, selon la taille des données, cet algorithme peut être très long.
L’algorithme de descente stochastique du gradient (algorithme SGD) est une simplification de l’algorithme
de descente du gradient.
wk+1=wkγkwQ(zk,wk)
zkest choisi aléatoirement, et γk>0.
3.2 Preuve
On suppose que Cest différentiable. Posons Htel que wC(w) = EzH(z,w).
Proposition 4
Sous les hypothèses :
5
1 / 10 100%