Vous êtes sur la page 1sur 137

APPRENTISSAGE

AUTOMATIQUE
Rseaux de neurones Support Vector Machines

Rseaux
de
neurones

Rseaux de neurones

Ensemble de mthodes d analyse et de


traitement des donnes
Deux caractristiques majeures :

(a) combinaison (rseau) d lments simples


(neurones)
(b) non linaire (par opposition aux mthodes
classiques de l analyse des donnes)

Vaguement issus de considrations


biologiques
Essentiellement numrique, par opposition
l IA symbolique (base de rgles,
raisonnement partir de cas, etc.)

Le neurone biologique

Un neurone est constitu de trois parties :


1.
2.
3.

Le corps proprement dit de la cellule o se situe le mcanisme de


dclenchement du neurone.
Son prolongement (l axone) le long duquel voyagent les impulsions nerveuses
diriges vers la priphrie et de minces ramifications.
Les dendrites, qui reoivent des informations (impulsions nerveuses) des autres
neurones et les apportent vers le corps cellulaire.

Quand l axone d un neurone rencontre un autre neurone, le contact


s tablit par l intermdiaire d une structure appele synapse. Tous les
neurones sont connects par des synapses.

Le neurone biologique
Structure plus claire :

Fonctionnement du neurone
L influx nerveux est assimilable un signal

lectrique, se propageant dans les neurones de la


manire suivante :
Les dendrites reoivent l influx nerveux d autres neurones
Le neurone value alors l ensemble de la stimulation qu il

reoit (i.e. sa dpolarisation par rapport l extrieur)

En fonction de cette stimulation (si la dpolarisation est suffisante >

-50mV par exemple), le neurone transmet ou non un signal de type


"tout ou rien" le long de son axone, selon une frquence fonction du
niveau de dpolarisation. On dira alors que le neurone est ou non
excit

L excitation du neurone est propage le long de l'axone

jusqu'aux autres neurones ou fibres musculaires qui y sont


connects via les synapses

Fonctionnement du neurone
Les neurones communiquent entre eux en mettant des

signaux lectriques
Chaque neurone effectue une sommation (il s'agit en ralit d'une

intgration) des signaux qui lui parviennent par les dendrites.


Quand cette somme dpasse un seuil, le neurone met son tour un
signal par son axone (le corps cellulaire est un automate seuil).

Les synapses assurent la transmission du signal entre les

axones et les dendrites. Il existe deux types de synapses :


Excitatrices : renvoient un signal de sortie proportionnel au signal

d'entre (renforcement du signal)


Inhibitrices : renvoient un signal inversement proportionnel au signal
d'entre (diminution du signal)

Mise en correspondance
Modle biologique <-> Modle formel
Un neurone est un processeur lmentaire qui reoit un nombre
variable d entres des neurones en amont. A chacune de ces
entres est associ un poids reprsentatif de la force de la
connexion.
Un neurone est dot d une sortie unique qui se ramifie ensuite
pour alimenter un certain nombre de neurones en aval.

Le neurone formel
Dfinition: Un neurone est une fonction

algbrique non linaire, paramtre, valeurs


bornes.

On utilisera frquemment par abus de langage les


termes de neurone linaire pour dsigner une
fonction paramtre linaire non borne.

Terminologie du neurone formel


Les variables sur lesquelles opre le neurone

sont dsignes sous le terme d entres du


neurone.
La valeur de la fonction est dsigne par le
terme de sortie.
La fonction est appele fonction d activation.
On utilise gnralement une reprsentation
graphique du neurone formel qui est le reflet
de l inspiration biologique l origine de la
vague d intrt pour les neurones formels.

Reprsentation du neurone formel


x1
x2

w1

f
xn

wn

[McCulloch & Pitts]

y = f (x1 , x2 ,..., xn ; w1 , w2 ,..., wn )


Les xi sont les variables et les wi sont les paramtres.

La fonction d activation f
f peut tre paramtre de faon
quelconque, mais deux types de paramtrage
sont frquemment utiliss:

La fonction

Les paramtres sont attachs aux entres du

neurone; la sortie est une fonction non linaire


d une combinaison des entres pondres par les
paramtres.
Les paramtres sont attachs la non-linarit du
neurone et ils interviennent directement dans la
fonction f.

Paramtres attachs aux entres


Dans ce cas les paramtres sont dsigns par le

terme de poids en rfrence leur inspiration


biologique.
La combinaison (linaire) des entres et des poids
est appele potentiel .
Le potentiel v est une somme pondre laquelle
s ajoute un terme constant (le biais ).
n

v = w0 + ! wi xi
i =1

Fonction d activation
La fonction donnant la valeur de la sortie du neurone

est une fonction de type sigmode (ayant la forme


d un S) symtrique par rapport l origine.
Exemples: la tangente hyperbolique , la fonction arc
tangente, etc.
Sigmode
logistique

Tangente hyperbolique

Arc Tangente

La sortie du neurone
a pour quation

f ( x) =

1
1 + exp(! x)

n
!
"
y = th (v ) = th # w0 + ' wi xi $
i =1
%
&

Paramtres attachs la non-linarit du neurone


Les paramtres interviennent directement dans la fonction

d activation.
La fonction d activation est alors soit une fonction radiale
(ou RBF Radial Basis Function) ou bien un ondelette.
La sortie d un neurone RBF non-linarit gaussienne a
pour quation:
n

!
2"
$ ( (xi # wi ) %
%
y = exp $ # i =1
2
2 wn +1
$
%
$&
%'

Les paramtres wi sont les coordonnes du centre de la


gaussienne et wn+1 son cart-type.

Discrimination linaire
Le rseau le plus simple pour classer des donnes parmi deux classes

est constitu d un seul neurone binaire.


Ce modle a t introduit par Rosenblatt qui l a nomm le
perceptron .

Dfinition: Un perceptron linaire seuil prend en entre n valeurs x1, x2,,xn


et calcule une sortie y. Un perceptron est dfini par la donne de n+1
constantes : les poids w1,,wn et le biais w0. La sortie est calcule par une
fonction de dcision de type heaviside (dpend du signe du potentiel).
n

Un perceptron linaire seuil n entres divise l espace des entres R n en


deux sous-espaces dlimits par un hyperplan. Tout ensemble linairement
sparable peut tre discrimin par un perceptron.
Le perceptron est un discriminant linaire.

Discrimination linaire
n

X un vecteur valeurs dans R (n attributs)


(x1,,xn)
Frontire de dcision linaire :
n

!+ b = 0
w
x
" ii
i =1

b = ! w0

Rgle de dcision linaire :


! n
" % wi xi + b > 0
" i =1
# n
" w x +b < 0
i i
"$%
i =1

(rond rouge)
(croix verte)

Discrimination Linaire
La frontire de dcision est donne par l quation

de la droite de dcision :

wx + b = 0 ! wx = "b ! wx = w0

X le vecteur d entre, W le vecteur des poids

! x1 "
! w1 "
# ... $
# ... $
# $
# $
X % # x j $ , W % #wj $
# $
# $
# ... $
# ... $
#& xn $'
#& wn $'
le potentiel X W est un produit scalaire

Limitations du perceptron
Le perceptron procdant des sparations

linaires, il ne peut pas raliser certaines


fonctions telles que le ou exclusif (XOR)
1

-1

-1

-1

Le OU : linairement sparable

Le XOR : pas linairement sparable

Discrimination linaire
Rgle de dcision linaire:

! n
"
D (x ) = # $ ( wi xi + b %
& i =1
'
O est la fonction signe (heaviside)

"# ! ( y ) = 1 si y > 0
$
#&! ( y ) = %1 si y < 0

! ! x1 "
! ! w1 "
Dans l espace 2D, on a w = #
$ , x=# $
% w2 &
% x2 &
On obtient l quation d une ligne droite avec une

pente de

w1 avec
!
w2

w1
b
x2 = !
x1 !
w2
w2

Car l quation de la droite est :

x1w1 + x2 w2 + b = 0

Discrimination linaire 2D dans R2


! " wx + b = 0

wx + b > 0
!
w

b
!
w2

b
d=
w

wx + b < 0

! ! x1 "
! ! w1 "
w=# $ , x=# $
% w2 &
% x2 &
D( x) = sign (wx + b )
dist (x, ! ) =

b
!
w1

w =

wx + b

2
w
! j
j =1

si x et y ! " # wx + b = 0 et wy + b = 0
w( x $ y ) = 0 # w est orthogonal la frontire de dcision "

Ligne de dcision : interprtation


hyperplan

hyperplan
XW>0

hyperplan

X W =0
X

XW<0
X

W
dist(X , )=0

X
W
dist(X , )>0

W
dist(X , )<0

Le produit scalaire permet de trouver le


X W
dist
X
,
!
=
( )
degr d alignement entre deux vecteurs :
w
n
Projection de X sur W

wj x j + b = 0
Les points X qui satisfont !
se trouvent
j =1
sur un hyperplan normal au vecteur w dont la distance
l origine est d = b w

Apprentissage d un perceptron
Seule l orientation de l hyperplan dfini par le vecteur

!" !"
w w

est pertinente pour la discrimination.

Il faut donc ajuster W de faon ce que la classification

dsire soit obtenue.

X W > 0 !
X W < 0 !

y = +1
y = "1

Ajustement de W
L ajustement de W peut tre considr comme une

addition avec un autre vecteur.

w2

Wi +1

!Wi

Wi

w1

On se place dans le cas d un apprentissage supervis : on

dispose d un ensemble de couples d apprentissage L=


{xk,ck} avec xk le vecteur d entre et ck une valeur scalaire
dsire correspondant xk.

Ajustement de W
On analyse les rsultats fournis par la sortie

du perceptron.
Cas 1 : bonne classification, on ne fait rien
Cas 2 : classification errone (sortie 1 au
lieu de 1) c-a-d qu on a X W < 0 au lieu
de X W > 0 . Pour corriger ceci il faut faire
tourner W dans la direction de X sans trop le
modifier afin d viter un bouleversement de
!
l apprentissage prcdent.
> 90

W
X

Ajustement de W
Pour cela il suffit de rajouter W(t) une

"W = ! X W(t)
W (t + 1) = W (t ) + "W = W (t ) + ! X

"W

fraction

W(t)

W(t+1)

Cas 3 : classification errone (sortie 1 au lieu X

de 1) c-a-d qu on a X W > 0 au lieu de


X W < 0 . Pour corriger il suffit de
rajouter une fraction W(t) : "W = -! X

W (t + 1)!
= W (t ) + "W
= W (t ) # ! X
avec 0<! < 1

W(t+1)
W(t)
<90

X

"W
W(t)

!
X

Rgle de Widrow-Hoff
Les deux quations prcdentes peuvent tre mises

sous la forme d une rgle d apprentissage appele


rgle du perceptron
W(t+1)=W(t)+W=W(t)+X avec =1
Au cours de l apprentissage, la dynamique du rseau
change : cela se traduit par la modification des poids
la prsentation de chaque exemple
Thorme de convergence : S il existe un ensemble de poids W qui est
capable de raliser la transformation y=D(X), la rgle d apprentissage
du perceptron convergera vers une solution en un nombre fini
d itrations partir d un choix initial arbitraire du vecteur de poids.

Apprentissage du perceptron
Notations
L={xk,ck} dsigne l ensemble d apprentissage avec xk le

vecteur d entre et ck sa classe.

Dfinition: Le champ align zk par rapport


un perceptron de poids w est dfini par

z =c wx

La sortie du perceptron est correcte si

z >0

Le perceptron cherche donc minimiser globalement

"! z
k

Algorithme d apprentissage du perceptron


L={xk,ck} dsigne l ensemble d apprentissage, p=Card
(L)
1. Initialisation
1.
2.

2.

Apprentissage
1.
2.

3.

On choisi un exemple k de l ensemble d apprentissage L


en le tirant au hasard ou suivant un ordre pr-tabli
Si z k = c k w x k " 0 c-a-d si l exemple k est mal
class, on modifie les poids selon la relation
pour tout i
wi (t + 1) = wi (t ) + c k xik

Test
1.
2.

T=0 (compteur des mises jour)


Soit W=rand (chaque composante est initialise au hasard)

Si z = c w x > 0 pour tous les exemples, alors on


s arrte
Sinon on va Apprentissage (en 2.)

Proprits de l algorithme
Il itre les modifications des poids tant qu il reste des

exemples dont le champ align est ngatif, c-a-d qu il


reste des exemples mal classs. Si l ensemble n est pas
linairement sparable, l algorithme ne s arrte jamais.

Cercles
noirs :
classe +1

W(t=5)

Cercles
blancs :
classe 1

Thorme du perceptron :Si les exemples de l ensemble


d apprentissage sont linairement sparables, l algorithme
du perceptron trouve un hyperplan sparateur en un nombre
fini d itrations.

Exemple d apprentissage
On cherche dfinir la droite d quation b=a/2. Les couples de valeurs

tels que b>a/2 sont de classe +1 et ceux tels que ba/2 sont de classe -1.
On considre que x0=1, x1=a, x2=b et l on prend les couples de valeurs
suivants: {(1,0,2), (1,1,1), (1,1,2.5), (1,2,0), (1,3,0.5)} avec les classes
{+1,+1,+1,-1,-1).

w0

w1

w2

1 0

2 1

3 0

xk

ck

w0

w1

w2

(1,0,2)

+1

(1,2,0)

-1

-2

-2

(1,1,1)

+1

-1

4 1

-1

(1,3,0.5)

-1

-0.5

-1

-1

5 1

-1

(1,1,2.5)

+1

7.5

-1

Le perceptron de sortie associe la classe +1 aux couples tels que


w0*1+w1*a+w2*b>0 soit b > a/3 1/3

Exemple d apprentissage

b=a/2

b = a/3 1/3

Critiques sur l algorithme d apprentissage


Si l ensemble d apprentissage n est pas

linairement sparable, l algorithme ne


converge pas.
Plutt que d obtenir un perceptron qui
classe bien tous les exemples, on va
calculer une erreur et tenter de
minimiser cette erreur.
Pas d optimisation de l hyperplan
sparateur.

Rgle des moindres carrs


On veut minimiser l erreur totale au sens du

critre des moindres carrs, l erreur est nulle


si tous les exemples sont bien classs
1 p
E (W ) = " D x i ! c k
2 i =1

(( ) )

1
= XW ! C
2

D (xi )= Wxi + b et C le vecteur des sorties dsires


C = (C1 ,..., C p )
Cette mthode de minimisation revient

calculer les vecteurs de poids qui minimisent la


fonction de cot E(W).

Calcul du gradient
n

#E (W )
La mthode
$W = "!
revient
#W
dterminer
#E (W )
pour
= 0 & X % ( XW " C ) = 0
W qui
#W
minimise
"1
& W= ( X %X ) X %C
E(W).

Inconvnient de cette solution:


Calcul de l inversion.
Traitement simultan de toutes les informations
(contrainte mmoire).
Solution : moindres carrs rcursifs

Mthode de descente de gradient


Soit une fonction J(x) dont on cherche un minimum x*: il est dfini

par

La mthode de descente de gradient construit une suite xn qui doit

s approcher du minimum x*. Cela consiste suivre la direction de


plus fort gradient

Descente du gradient
"E (W )
" 1 p i
#
=
c # D (xi )
&
"wk
"wk 2 i =1

1
"
ci # D (xi )
&
2 i =1 "wk

1 p
"
i
i
= & 2 c # D (x )
ci # D (xi )
2 i =1
"wk

) (

i =1
p

"
ci # Wxi # b )
(
"wk

= & ci # D (xi )

= & ci # D (xi ) (# xki )


i =1

p
p
"E (W )
$wk = #! %
= #! & ci # D (xi ) xki = ! & D (xi )# ci xki
"wk
i =1
i =1

Algorithme par descente de gradient


Initialisation alatoire des poids
Rpter
Pour tout i, wi0
Pour tout exemple (xk,ck) de L
Calculer la sortie D(xk)
Pour tout i, wi wi+(D(xk)-ck)xk

Pour tout i, wi wi + wi

La fonction erreur quadratique ne possde qu un

minimum (la surface est une parabolode).


L algorithme est assur de converger (mme si
l ensemble d apprentissage n est pas linairement
sparable) vers un minimum de la fonction d erreur
pour un suffisamment petit.

Cas le plus de gnral de la fonction de dcision


p

E (W ) =

1
D x i !ck
"
2 i =1

( )=

#E W
#W

( ( ) )

"(
i =1

! ( XW ) ! c

( (

1
! WX ! c k avec D x i = ! x i W + b
"
2 i =1

( ( )

#! XW

( ) ( (

) )

#W

) (

= " ! XW ! c k ! $ XW X = %W
i =1

Pour effectuer une descente de gradient, l erreur doit tre une fonction
continue des poids et drivable chaque point, on utilise donc une
fonction d activation continue et drivable telle qu une sigmode par
exemple.
L erreur n attendra jamais la valeur nulle, donc on utilise une mthode
itrative, les poids sont modifis la prsentation de chaque exemple en
minimisant un critre partiel pour le vecteur d entre xi avec 1ip:

!w k = ! Wx " c x

i
k

pour ! ( x ) = x

Vers des neurones en rseaux


Comment rsoudre des problmes de sparation non

linaires ?

Les rseaux de neurones : histoire


1940 : La machine de Turing
1943 : le neurone formel (McCulloch & Pitts)
1948 : Les rseaux d automates (Von Neuman)
1949 : Premire rgle d apprentissage (Rgle de Hebb)
1958-62 : Le perceptron (Rosenblatt)
1960 : L Adaline (Widrow & Hoff)
1969 : Perceptrons (Minsky & Papert)
Limites du perceptron
Besoin d architecture plus complexes, mais comment effectuer leur
apprentissage ?
Annes 1970 : arrt des recherches suite ces limitations

Les rseaux de neurones : histoire


1986 : Rtropropagation (dcouvertes simultanes

de Lecun, Rumelhart & McClelland)

Dcouvert en fait par Paul Werbos (Harvard) en 1974

Nouvelles architectures de rseaux de neurones


Applications
Reconnaissance de l criture
Reconnaissance et synthse de la parole
Vision (traitement d images)

1990 : Socit de l information


Nouvelles applications

Recherche et filtrage d informations sur le Web


Extraction d informations, veille technologique
Indexation multimdia
Data-mining

Les rseaux de neurones non boucls


Dfinition: Un rseau de neurones non boucl
ralise une (ou plusieurs) fonctions algbriques
de ses entres par composition des fonctions
ralises par chacun des neurones
Un rseau de neurones non boucl est reprsent

graphiquement par un ensemble de neurones connects


entre eux, l information circulant des entres vers les sorties
sans retour en arrire possible.
C est un graphe dont les nuds sont les neurones et les
artes les connexions entre ceux-ci.

Terminologie des rseaux de neurones non boucls


Dfinition: un rseau de neurones non boucl

n entres, Nc neurones cachs, NS neurones


de sortie ralise NS fonctions non linaires de
ses n variables d entre par composition des
Nc fonctions algbriques ralises par ses
neurones cachs.
Les rseaux de neurones non boucls couches dont les
neurones cachs ont une fonction d activation sigmode
sont appels des perceptrons multi-couches (PMC ou
MLP Multi-Layer Perceptron).

Reprsentation d un rseau de neurones non boucl


Le graphe d un rseau non boucl est acyclique.
Les neurones qui effectuent le dernier calcul de la

composition de fonctions sont de neurones de sortie.


Ceux qui effectuent des calculs intermdiaires sont des
neurones cachs.

xi

n entres

Nc neurones cachs

Ns neurones de sortie

Le perceptron multi-couches
Le PMC est un rseau organis en couches
Qui ralise une transformation vectorielle :

Une couche reoit un vecteur d entre et le

transforme en vecteur de sortie.


Une couche au moins n est pas linaire.
Les dimensions d entre et de sortie peuvent tre
diffrentes.
Qui possde au moins deux couches (une couche
dite cache et une couche de sortie).
Qui a une structure sans cycle (feed-forward) : une
couche ne peut utiliser que les sorties des couches
prcdentes.

Le PMC
Modle de calcul :
La premire couche reoit l entre du rseau et produit son
rsultat.

Chaque neurone reoit comme vecteur d entre celui du rseau


Le vecteur de sortie est le regroupement des sorties des neurones.

La deuxime couche reoit la sortie de la premire couche et

produit son rsultat.


Etc.

Rseau PMC classique :


Connexions compltes entre une couche et la
suivante.
Pas d autres connexions.
Tous les neurones d une mme couche ont la mme
fonction d activation.

Notations
Un PMC l couches
n(i) : nombres de neurones dans la couche ni
Wi : matrice des poids de la couche ni
L : ensemble d apprentissage
X : vecteur des exemples
Reprsentation d un exemple :
(0)
!
"
xi = xi1 ,..., xi ( 0 ) l'exemple possde n attributs
n
#
$

Sortie du PMC :
Sorties dsires :

yi = !# yi1 ,..., yi (2) "$


n
%
&
yid = !# yid1 ,..., yid(2) "$
n
%
&

Notations
Biais :

0
0
n( )
n( )
!
"
!
"
(1)
y j = f # ' wij xi + b $ = f # ' wij xi $
# i =1
$
# i =0
$
%
&
%
&

(1)

x0=1

idem pour toutes les couches

W (1) = !# wij "$


(2)
W = !# w jk "$

avec x0=1
x0 = 1

xi

yk

wij
i=1:n(0)

wjk
j=1: n(1)

k=1: n(2)

Propagation
Calcul des sorties du rseau en propageant les

valeurs de x de couche en couche :


1

0
n( )

wij

v (j1) = ! wij xi
i =0

wjk

y (j1) = x (j1) = f (v (1)


j )

xi

yk

n( )

vk(2) = ! w jk x (j1)
j =0

yk = f (vk(2) )

xj(1)
i=1:n(0)

j=1: n(1)

k=1: n(2)

Apprentissage
Un PMC calcule donc une fonction F
R n(0) " R m # R n(1)
De
l
(i )
(i !1)
m
=
n
1
+
n
"
m dsigne le nombre total de paramtres
i =1
Le but est de trouver un vecteur des poids W tel que
! x ! F ( x, w ) soit un bon modle des donnes
L erreur minimiser est : (d distance euclidienne)

E (w ) = ! d (F (xi , w ), yid )
i =1

F n tant pas linaire par rapport aux paramtres, son gradient non plus :
les moindres carrs ne fonctionnent pas.

Apprentissage
L erreur pour un exemple est
d
i

ei = y # yi = !$ei1 ,..., ein(2) "%


2
n( )

2
1
n( )
Ei = ! ei
2 i =0

Le cot local associ est


Le cot global est

E = ! Ei
i =1

La fonction sigmode utilise est gnralement:


ex
x
e
1
f ! (x ) =
= f (x )(1 " f (x ))
2
f (x ) =
=
x
x
!x
1
+
e
(
)
1+ e 1+ e

Apprentissage
L apprentissage est un problme

d optimisation :

Dterminer le vecteur de poids W qui minimise le cot

E, sous contrainte de la topologie du rseau

Adapter itrativement W : Algorithme de

descente du gradient stochastique selon une


rgle delta

Apprentissage
Pourquoi l apprentissage pour ce type de rseaux est un

problme difficile?
Le principe des mthodes d adaptation de poids que l on
a vues jusqu maintenant est bas sur un apprentissage
supervis : on connat chaque fois la sortie dsire. Un
professeur qui connat parfaitement la classification
attendue guide le rseau en lui rappelant chaque tape le
bon rsultat.
Si l on introduit une couche supplmentaire de neurones
entre la couche d entre et la couche de sortie, comment
valuer l impact de la modification d un poids de la
premire couche sur la rponse finale?
Ou encore, que doit indiquer le professeur comme
sortie attendue au neurones de la couche cache?
Comment rpercuter sur chacune des connexions le signal
d erreur qui n a t mesur que sur la couche de sortie,
aprs avoir travers plusieurs tapes non linaires caches?

Solution
Algorithme de rtro-propagation du gradient
Minimiser l erreur quadratique (commise sur

l ensemble des exemples prsents) considre


comme une fonction des poids en utilisant un
algorithme de descente de gradient.
Dans ce cas, une fonction d activation drivable
(sigmode) permet de calculer la drive de l erreur
quadratique par rapport un poids donn afin de
raliser la descente de gradient.

Rtro propagation du gradient


Aussi appele Generalized Delta Rule
Minsky et Papert [Minsky 69] ont montr que 2

couches statiques non boucles (Feed-Forward


Network) permettent d viter beaucoup de
restrictions mais ils n ont pas prsent une
solution au problme d apprentissage des poids
des couches caches.
Une rponse cette question a t prsente
par Rumelhart, Hinton et Williams [Rumelhart
86], et des solutions similaires sont apparues
[Werbos 74], [Parker 85] et [LeCun 85].

Retro propagation
L ide est de raliser la descente du gradient

sur l erreur totale en fonction des poids. Pour


effectuer cela, il faut prendre en compte tous
les poids (les neurones cachs et les neurones
de sortie).
Les neurones de sortie sont accessibles pour
l apprentissage.
Par contre, les neurones cachs appartiennent
des couches intermdiaires qui sont
inaccessibles pour l apprentissage (nous ne
pouvons pas prdire ou valuer leurs sorties).

Retro propagation
Ide centrale de la rtro-propagation :
Les erreurs la sortie des units caches sont

dtermines par une rtro-propagation des


erreurs en provenance des neurones de la couche
de sortie.
Cette mthode est une gnralisation de la rgle
delta pour des fonctions d activation nonlinaires et pour des rseaux multi-couches.
La retro propagation est un algorithme efficace de
calcul de la drive partielle donne dans la rgle
Delta Gnralise

Apprentissage des paramtres


Mise jour de

wij et wjk selon une rgle delta:

"E
#w = $!
"w

La drive de l erreur par rapport au poids nous

donne l influence de ce poids sur le terme


d erreur : la retro-propagation [Rumelhart 86,
LeCun 85]

!E
Problme : calcul de
et
!wij

!E
!w jk

Couche de sortie
Calcul de !E

!w jk

pour un exemple fix

2
!E
!E !yk !vk( )
=
" (2) "
!w jk !yk !vk
!w jk

wjk

xj(1)

yk

n( )

2
n( )

(2 )
(1)
2
(2)
1
v
=
w
x
"
j !k j !
E = " (ykd' ! yk ' ) yk = f (vk ) k
j != 0
2 k '= 0

! (y ! yk )
d
k

f ! (vk(2) )

"E
! k $ (2) = % (ykd % yk ) f # vk(2)
"vk

( )

j=1: n(1)

x (j1)

k=1: n(2)

"E
(1)
= ! k .x j
"w jk

Couche cache
!E
Calcul de
pour un exemple fix
!wij

wij

(1)
(1)
!
y
!
v
!E
!E
= (1) " (j1) " j
!wij !y j !v j
!wij

2
n( )

xi
0
n( )

(2 )

!E
!E !vk
=
"
!y (j1) k =0 !vk(2) !y (j1)

(1)

y j = f (v

(1)
j

2
n( )

"E
= ! w
(1) # k jk
"y j
k =0
2
n( )

y (j1) = x (j1)

f ! (v (1)
j )

#
$E "
! j & (1) = ' + ! k w jk ( f % v(j1)
' k =0
(
$v j
)
*

( )

v(j1) = " wi!j xi!


i!= 0

xi

i=1:n(0)

j=1: n(1)

"E
= ! j .xi
"wij

Rsum
Pour modifier les poids lors de l apprentissage

supervis, il faut modifier les poids


proportionnellement la drive de E par
rapport ce poids.

wij = wij # ! $ " j $ xi


%" j = # (y dj # y j )$ f & (v j ) pour la couche de sortie
'
avec (
' " j = f & (v j )* (" k w jk ) pour les autres couches
k
)

Exemple
x =

[0.5 1]
yd = [0.5 1]
W1=[0.5 0.5 ; 0.5 0.5] (pas de biais)
W2=[1 1 ; 1 1]
v(1)1 =0. 5*0.5+0.5*1
v(1)=[0.75 0.75]
y1 = 1.2703 x(1)=[0.6351 0.6351]

x1(1)

x1= 0.5

v(2)=[1.2703 1.2703]
y = [1.2703 1.2703]

x2= 1

y2 = 1.2703

x2(1)
n(0)=2

n(1)=2

n(2)=2

f ( x) = tanh (x )
f !( x) = 1 " tanh 2 (x )

f ( x) = x

Exemple
(0.7703*0.6351)

1k=-(0.5-1.2703)

W2 = [0.4893 0.1717 ; 0.4893 0.1717]

2k=-(1-1.2703)

(0.7703*1+0.2703*1)*(1-tanh(0.75))

k = [0.7703 0.2703]

j = [0.6208

1 = 0.7703

x2= 1

2 = 0.2703

x2(1)
n(0)=2

n(1)=2

(0.6208*0.5)

W1 =[0.3104 0.3104 ; 0.6208 0.6208]

x1(1)

x1= 0.5

0.6208]

n(2)=2

Exemple
w1 =[0.3448 0.3448 ; 0.1896 0.1896]
w2 =[0.7554 0.9142 ; 0.7554 0.9142]
MAJ de W1 et W2
Nouvelle propagation, etc...

y = [0.5242 0.6344]

x1(1)

x1= 0.5

y1 = 0.5242

x2= 1

y2 = 0.6344
x2(1)

n0=2

n1 =2

n2 =2

Evolution
On converge vers le rsultat yd =

[0.5 1]

Gradient batch ou squentiel


Il existe deux faons d appliquer l algorithme de rtro-

propagation :

Batch : mise jour des poids aprs la prsentation de tous les

exemples
Calculs et stockages lourds si trop d exemples

Squentiel (en ligne, stochastique) : mise jour des poids aprs

chaque exemple
Prfrable de tirer l exemple au hasard

Algorithme
1.
2.
3.

4.

5.
6.
7.

Initialisation des poids avec des valeurs alatoires


Initialisation du pas d apprentissage
Prendre en compte un exemple X de la base
d apprentissage et le propager travers le rseau, ce
qui gnre les valeurs v et x pour pour tous les
neurones du rseau en fonction des valeurs contenant
les poids
En utilisant les valeurs des sorties dsires associes
X, calculer la modification des poids de la couche de
sortie.
Calculer les modifications des poids des couches
caches
Mettre jour les poids
Si l apprentissage n est pas fini, aller en 3

Arrt de l apprentissage
Critres classiques :
Borne sur le temps de calcul (i.e nombre
d itrations)
Valeur atteindre (erreur en dessous d un seuil)
Vitesse de progression (on s arrte quand l erreur
ne diminue plus assez ou quand le vecteur de
paramtres ne change plus)
Utiliser un ensemble de validation : on s arrte
quand l erreur remonte trop sur cet ensemble
Notions lies la modlisation
valuer et slectionner un modle

Le pas d apprentissage
Problme de rglage
Trop petit :convergence lente vers la solution
Trop grand : risque d oscillations
a : est faible (tend vers 0)
b
a
b : est lev (tend vers 1)
c : est lev (avec momentum)

c
Heuristiques courantes :
Diminuer le pas d apprentissage au fur et mesure : la main ou en

fonction de la norme de la surface d erreur


Approximations
Premier ordre (moment d inertie, Rprop)

Second ordre (Quickprop, Levenberg Marquard)

Premier ordre
Moment d inertie (Rumelhart et al., 1986)

$wij (t ) = %! ." j .xi + #$wij (t % 1)

avec 0 < # < 1

Delta-Bar-Delta (Jacobs 1988)

! ij (t ) = (1 # " )! j .xi + "! ji (t # 1)

Calcul d un gradient moyen

Modification du pas d apprentissage selon la direction du

gradient par rapport au gradient moyen

#! ij (t )u
%
! ij (t + 1) = &! ij (t )d
% ! (t )
' ij

si " j .xi (t )." ij (t $ 1) > 0


si " j .xi (t )." ij (t $ 1) < 0
sin on

#wij (t ) = $! ij (t )." j .xi

on acclre
on freine

Premier Ordre
n

Rprop (Riedmiller and Braun 1993)


n

modification du pas d apprentissage selon la direction


du gradient par rapport au gradient prcdent
on borne le pas d apprentissage

# min (! ij (t )u , ! max ) si (" j .xi )(t )(" j .xi )(t $ 1) > 0 on acclre
%
%
! ij (t + 1) = &max (! ij (t )d , ! min ) si (" j .xi )(t )(" j .xi )(t $ 1) < 0 on freine
%
! ij (t )
sin on
%'
n

un poids n est modifi que s il va dans le bon sens

#&$! ij (t )" j .xi


'wij (t + 1) = (
0
&)

si (" j .xi )(t )(" j .xi )(t $ 1) % 0


sin on

Proprit fondamentale
Toute fonction borne suffisamment rgulire peut tre
approche uniformment, avec une prcision arbitraire,
dans un domaine fini de l espace de ses variables, par
un rseau de neurones comportant une couche de
neurones cachs en nombre fini, possdant tous la
mme fonction d activation non linaire. [Hornik 89]
Le nombre de paramtres crot exponentiellement avec la

dimension des variables d entres pour les approximateurs


linaires par rapport leurs paramtres, alors qu il crot
linairement avec ce nombre pour les approximateurs non
linaires par rapport leurs paramtres.
On cherchera ce que le nombre de paramtres ajustables soit le
plus faible possible : on cherche l approximation la plus
parcimonieuse

Le nombre de neurones cachs


L cart entre l approximation d une fonction ralise par un

rseau de neurones et la fonction approcher est inversement


proportionnel au nombre de neurones cachs. Il n existe pas de
mthode thorique permettant de trouver le nombre de
neurones cachs pour obtenir les meilleures performances.
Dilemme biais-variance
biais : erreur systmatique (par rapport la ralit)
variance : sensibilit du modle aux donnes
modle puissant (grand nombre de neurones cachs) : faible biais,

mais trs sensible aux donnes


modle faible (petit nombre de neurones cachs) : grand biais, mais
moins sensible aux donnes
Le nombre de paramtres ajustables doit tre petit devant le

nombre d exemples afin d viter un sur-apprentissage

Exemple

Exemple

Exemple

Exemple

Le nombre d exemples
Un ordre de grandeur du nombre d exemples ncessaires

la gnralisation pour un rseau multi-couches est fourni par


Vapnik [Vapnik 71].
Pour un rseau n entres, le nombre d exemples
ncessaires l apprentissage est au pire de n*log(n)
Si l erreur sur la base d apprentissage est infrieure /2,
l ordre de grandeur du nombre d exemples ncessaires pour
avoir une erreur de gnralisation infrieure est au pire
de nW/ ( log (nM / ))
nw et nM : nombre de poids et de neurones

Ordre de prsentation des exemples


Comme nous l avons mentionn prcdemment on peut raliser deux

types d algorithme de rtro-propagation. Le premier (batch) ralise une


descente du gradient sur l erreur globale si les poids sont ajusts aprs
avoir prsent l ensemble complet des exemples d apprentissage. Le
second (squentiel) applique la rgle d apprentissage aprs la
prsentation de chaque exemple
Il est prouv empiriquement que cette technique produit une
convergence plus rapide. Cependant, un soin particulier l ordre dans
lequel les exemples d apprentissage sont introduits doit tre apport.
Par exemple, quand la mme squence est utilise toutes les
itrations, le rseau peut converger vers des valeurs de poids qui
favorisent quelques exemples qui sont les premiers dans la squence.
Ce problme peut tre rsolu en utilisant une mthode de permutation
de l apprentissage.

Normalisation des entres


Les PMC sont plus sensibles que les mthodes linaires : il

faut centrer et rduire les donnes :


Les entres doivent tre de moyenne nulle
Les entres doivent tre non corrles (utiliser ACP)
Les entres doivent avoir des variances proches

On peut aussi rduire le nombre d entres par rduction de

dimension (et donc le nombre de paramtres) pour


acclrer l apprentissage
Les algorithmes d optimisation donnent un minimum local :
on peut essayer plusieurs points de dpart (diffrentes
initialisations des poids) pour trouver un minimum global

Problme m classes
Les rseaux de neurones ralisent une estimation des probabilits

a posteriori.
Lorsque le problme de classification est plus de deux classes
plusieurs approches sont possibles
Utiliser un seul rseau de neurones pour estimer la probabilit

d appartenance a posteriori aux diffrentes classes


Diviser le problme en sous-problmes deux classes et concevoir un
ensemble de classifieurs deux deux, puis combiner les rsultats de
ces derniers pour obtenir les probabilits a posteriori.
One versus One

One versus All

Premire approche
On cre un rseau de neurones m sorties (One-Versus-All)
Les sorties dsires sont codes de la faon suivante :
l vnement l xk appartient la classe ck on associe un
vecteur de sortie dont seule la composante ni est 1 et les autres
sont 1.
Pour la classification d un nouvel exemple aprs

l apprentissage, on propage les valeurs et la classe choisie


correspond la sortie de valeur maximale.

Descripteurs

xi

m neurones fonction
d activation sigmode
Premire classe :

Classification deux deux


Il est souvent plus sr pour des problmes difficiles, de dcomposer une

classification m classes en m(m-1)/2 problmes de classification 2 classes


Chaque rseau de neurones est spcialis dans la sparation de deux classes
et n apprend sparer que ces deux classes
Comme chaque rseau ne distingue que deux classes, on peut utiliser une
structure simple (une couche cache et un neurone de sortie)
Pour un lment xk classer parmi m classes, on obtient m(m-1)/2 rponses
des classifieurs binaires
Le problme rside dans la faon de les combiner

Descripteurs

xi

Classifieur
sparant deux
classes Ci et Cj
1 neurone fonction
d activation sigmode

Avantages
On ne prsente chaque rseau que les donnes des deux classes

qu il doit discriminer
On obtient des rseaux de neurones beaucoup plus petits dont
l apprentissage est court et la manipulation simple
On peut mettre en uvre pour chaque rseau des techniques afin de
trouver le nombre de neurones cachs
Les descripteurs ncessaires pour sparer les classes Ci et Cj ne sont
pas ncessairement les mmes que ceux qui sont utiles pour sparer
les classes Ci et Ck; on peut donc slectionner les entres et simplifier
les rseaux
Le neurone de sortie fournit une valeur y entre 1 et 1, pour
l interprter comme une probabilit, il suffit de faire un changement
de variable p=(y+1)/2
La simplicit des classification deux deux peut permettre d utiliser
des classifieurs linaires.

Notations
(xk,ck) dsigne un lment de la base avec ck

sa classe.

RCi ,C j

dsigne le rseau qui distingue les


deux classes Ci et Cj
L ensemble des classifieurs est donn par
R = RC0 ,C1 , RC0 ,C2 ,..., RCm!1 ,Cm

et R = m (m ! 1) / 2
k
Le sortie d un rseau est note y x , RCi ,C j
k
y
x
, RCi ,C j ! 0 " Ci
Si

(
)
y (x , R
)< 0 " C

Ci ,C j

Les probabilits estimes


Avec la sortie d un rseau on peut estimer une

probabilit d appartenance avec un simple


changement de variable
Prij = y x k , RCi ,C j + 1 / 2

((

) )

On peut en dduire ensuite deux probabilits

posteriori pour chacune des deux classes


discrimines

si Prij ! 0.5 alors Pr Ci | x k , RCi ,C j = Prij

sinon Pr C j | x k , RCi ,C j = 1 " Prij

Slection directe
Les diffrentes mthodes
Vote majoritaire
Les mthodes de
Price
Hastie

Les codes correcteurs d erreurs


De type Hamming
De type Loss Based Decoding

Vote Majoritaire
C est la mthode la plus simple mais une des

plus efficaces
Pour chaque rseau

compter un vote pour la classe Ck choisie par le

rseau Vk=Vk+1

Affecter l exemple classer la classe Cj qui

maximise le nombre de votes

C j = argmax [Vi ]
i

Exemple
On obtient les valeurs suivantes comme

probabilits pour les classifieurs

1 ! . 0.9 0.6 "


#
$
2 # 0.1 . 0.7 $
3 #% 0.4 0.3 . $&
Ce qui donne 2 votes pour C1, 1 vote pour C2
et aucun vote pour C3
Problme : que faire quand deux classes ont le
mme nombre de votes ? On utilise le rseau
associ pour prendre la dcision

Price
La probabilit que l lment xk appartienne

la classe ck est calcule par la relation


suivante :
Pr (Ci | x

)=

1
m

1
" (m " 2 )
#
j =1, j ! i Prij

Affecter l exemple classer la classe Cj qui

maximise

C j = argmax !# Pr (Ci | x k )"$


i

Exemple
On obtient les valeurs suivantes comme

probabilits pour les classifieurs

1 ! . 0.9 0.4 "


#
$
2 # 0.1 . 0.7 $
3 #% 0.6 0.3 . $&
Pr (C1 | x ) =

1
!! 1
1 "
"
+
#
(3
#
2)
$ $ 0.9 0.4 %
%
'
&&
'

C1 est choisie

Pr (C1 | x ) = 0.3829
Pr (C2 | x ) = 0.0958
Pr (C3 | x ) = 0.25

Hastie
Prij = P (Ci | Ci ou C j )
On sait que
P (Ci | Ci ou C j )= pi / (pi + p j )
On ne peut pas trouver un ensemble de
probabilits pi=Pr(Ci|xk) qui soit compatible
avec tous les Prij
Exemple :
1 ! . 0.9 0.4 "
On a r12>0.5, r23>0.5
#
$
2 # 0.1 . 0.7 $
r31>0.5 ; or on ne peut choisir
# 0.6 0.3 . $
3
%
&
qu une classe parmi les trois !
On va chercher trouver la meilleure
approximation des probabilits
On considre que

Hastie

Pour chaque ij, on a nij lments dans la base d apprentissage et on


a estim tous les rij
nij ij = nij rij
On cherche un modle tel que

"
j !i

"

avec ij
Algorithme:
1.

= pi / (pi + p j )

et

Initialiser les pi (somme normalise des


et les ij

2.

j !i

!p

Pr Ci | x k , RCi ,C j

Rpter jusqu convergence

"n r
"n

ij ij

pi = pi

j !i

ij

ij

j !i

Normaliser les pi et recalculer les ij


3.

La classe finale Cj est

C j = argmax [ pi ]
i

=1

Exemple
On obtient les valeurs suivantes comme

probabilits pour les classifieurs

1 ! . 0.9 0.4 "


#
$
2 # 0.1 . 0.7 $
3 #% 0.6 0.3 . $&
On obtient les probabilits estims suivantes
pour chacune des classes
p=(0.47, 0.25, 0.28)
La classe C1 est choisie

Codes Correcteurs d erreurs


m!b
On considre une matrice M " {#1, 0,1}

Avec m le nombre de classes et b le nombre

de classifieurs binaires. Pour m=4 cela donne


b=4*(4-1)/2=6
La matrice M a la forme suivante :
classe 1 ! +1 +1 +1 0 0 0 "
#
$
classe 2 # %1 0 0 +1 +1 0 $
classe 3 # 0 %1 0 %1 0 +1$
#
$
classe 4 & 0 0 %1 0 %1 %1'
R12 R13 R14 R 23 R 24 R 34
f1 ( x) f 2 ( x) .....................f b ( x)

On va utiliser les
sorties des
classifieurs et non
les probabilits

Error Correcting Output Codes


Combiner tous les classifieurs pour trouver la classe

finale consiste prendre les sorties des classifieurs et


trouver la ligne qui s en rapproche le plus : f(x)=(f1
(x),, fb(x))
F (x ) = argmin d ( f (x ), M (k , !))
k

d ( f (x ), M (k , !)) = # L (M (k , i ), fi (x ))
i =1

L est la fonction de dcodage


1
Hamming decoding : L (M (k , i ), fi (x )) = 1 " sgn (M (k , i ) fi (x ))
2
Loss based decoding : L (M (k , i ), fi (x )) = exp (" M (k , i ) fi (x ))

Exemple d Hamming decoding


Sgn(z) est 1 si z=1, -1 si z=-1 et 0 si z=0
Les lments de la matrice 0 comptent pour

0.5 dans la somme, si M(k,i) et fi(x) sont de


mme signe, cela compte pour 0 et 1 pour ceux
de signes diffrents

+1 -1 -1 -1 -1 +1

! +1 +1 +1 0 0 0 " D=3.5
#
$ D=4.5
# %1 0 0 +1 +1 0 $
# 0 %1 0 %1 0 +1$ D=1.5
#
$ D=2.5
& 0 0 %1 0 %1 %1'

C3

Exemple de Loss-based decoding

0.5 0.9 0.1 0.5 0.75 0.8

! +1 +1 +1 0 0 0 " D=7.1
#
$ D=8.4
%
1
0
0
+
1
+
1
0
#
$
# 0 %1 0 %1 0 +1$ D=4.8
#
$ D=6.6
0
0
%
1
0
%
1
%
1
&
'

C3

La classe prdite par les deux mthodes peut tre diffrente !

Exemple : Lecture de chques


Dix classes (0-9) avec des classifieurs

deux deux (45)


Toutes les classes sont linairement
sparables : un seul neurone sur la
couche cache
18 Erreurs sur 9000 exemples

Rseaux de Neurones Convolution


Les Convolutional Neural Networks (CNN) sont une variante des

MLPs inspire de la biologie faisant partie dun champ de recherche


nomm Deep Learning
Considrations biologiques:
Les cellules du cortex visuel ragissent une petite rgion du champ visuel, appel

champ rceptif, et sont arranges de manire couvrir compltement le champ


visuel
Ces cellules agissent comme des filtres locaux et exploitent la corrlation spatiale
locale prsente dans les images naturelles

Les architectures profondes :


Permettent une reprsentation hirarchique
Sont trs efficaces en reconnaissance

Connectivit parse
Les CNN reproduisent une reprsentation hirarchique en forant une

connectivit locale parse entre des neurones de couches adjacentes


Les neurones cachs de la m-ime couche sont relis un sous
ensemble des neurones de la (m-1)-ime couche (ce sont des
champs rceptifs contigus)

Si la couche (m-1) est la rtine, les neurones de la couche m ont un

champ rceptif de largeur 3 relativement la couche m et de largeur


5 relativement la couche m-1
Lunit de la couche m+1 peut ainsi encoder une caractristique non
linaire de largeur 5 (en terme de pixels)

Poids partags
Dans les CNNs, chaque filtre est rpliqu sur tout le champ visuel.
Ces neurones rpliqus forment une feature map ou tous les paramtres sont

identiques (mme vecteur de poids et biais)

Un feature map est obtenu en convoluant limage dentre par un filtre de

convolution suivi dune fonction non-linaire


Afin dobtenir une reprsentation plus riche des donnes les couches

caches sont composes de plusieurs feature maps

Max-Pooling
Max-Pooling dcoupe limage dentre en zones

rectangulaires non chevauchantes et pour chaque rgion


ressort la plus grande valeur
Cest une sorte de down-sampling non-linaire
Utile car
Rduit la complexit pour les couches suivantes
Permet une forme dinvariance la translation

Architecture dun CNN


Les plus basses couches sont composes de couches alternant convolution et max-

pooling
Les couches les plus hautes sont compltement connectes et correspondent un
MLP classique

Reconnaissance de codes
postaux

Machines

Support de Vecteurs

Minimisation du risque empirique


On veut rsoudre un problme de classification binaire
On dispose de donnes (!,")={(# ,$ ),(# ,$ )(# ,$ )} et le but est
dapprendre une fonction de classification $=&(#)
Pour trouver une telle fonction, on minimise habituellement une
mesure de performance
Habituellement on considre le risque empirique :
1

Minimisation du risque empirique:


Cela consiste chercher la fonction &(#) qui minimise le risque
empirique moyen sur les donnes dapprentissage
Cela ne fonctionne bien que si lon dispose de suffisamment de
donnes (le risque empirique converge vers le risque rel
lorsque '
Pour contrler le sur-apprentissage (overfitting) on prfrera
toujours le modle le plus parcimonieux

La VC Dimension
La dimension de Vapnik-Chervonenkis est une mesure

de la complexit (ou de la capacit) dune classe de


fonctions &(()
La VC-dimension donne le plus grand nombre dexemples
qui peuvent tre expliqus par la famille &(()
Complexit et capacits de gnralisation sont souvent
opposes
Si la famille &(() a suffisamment de capacits pour expliquer

chaque base dexemples, ces fonctions risquent de ne pas bien


gnraliser
Si les fonctions &(() ont une faible capacit mais sont capables
dexpliquer une base dexemples, il est raisonnable de penser
quelles fonctionneront bien sur des exemples inconnus

La VC-Dimension
Partitionnement dun ensemble dexemples
Pour une classification binaire avec N exemples, il y a 2%
dichotomies possibles
Pour N=3 exemples, lensemble de toutes les dichotomies est
{(000),(001),(010),(011),(100),(101),(110),(111)}

Une classe de fonctions &(() est dite comme partitionnant un

ensemble dexemples si pour chaque dichotomie possible, il existe


une fonction qui la modlise

La VC-dimension VC(f) est la taille de la plus grande base

dexemples qui peut tre partitionne par un ensemble de


fonctions &(()
Si la VC dimension est h, alors il existe au moins un ensemble de h

exemples qui peuvent tre discrimins par &(()

Exemple
Soit un problme de classification dans )2 et &(() la famille des

hyperplans orients de sparation (i.e., un perceptron)


Pour N=3, on peut effectuer une sparation de tous les exemples
pour toutes les affectations binaires possibles de classes
La VC-dimension de la famille des hyperplans orients dans )2 est
donc 3

On peut montrer que la VC-dimension de la famille des hyperplans

orients dans )D est D+1

Intrt de la VC-Dimension
Pourquoi la VC-dimension est intressante ?
La VC-Dimension fournit une borne suprieure sur le risque rel
comme une fonction du risque empirique et du nombre dexemples
disponibles

Ou h est la VC-dimension de &((), N est le nombre dexemples et

N>h
Plus le ratio N/h devient grand, plus la VC-confidence devient
petite et le risque empirique est proche du risque rel
Ces rsultats proviennent de la thorie de lapprentissage
statistique introduite par Vapnik et Chervonenkis et qui est
lorigine des machines support de vecteurs

Minimisation du risque structurel


On prfrera chercher un modle qui

soit une balance entre le risque


empirique et la VC-Dimension
Cest le principe de minimisation du
risque structurel
On construit une structure emboite de

classes de fonctions *1*2*+ de VCdimensions croissantes (12+)


Pour chaque classe de fonctions *i,
trouver la solution &, qui minimise le risque
empirique
Choisir la solution &, qui minimise le risque
rel (la somme du risque empirique et de
la VC-confidence)

La VC-Dimension en pratique
Disposer dune borne suprieure de la VC-dimension

nest pas toujours utile


La borne fournie peut tre trop grande
Le VC-dimension ne peut pas tre estime facilement pour des

modles non-linaires tels que les PMC


Chercher minimiser directement le risque structurel amne un
problme doptimisation difficile
La VC-dimension peut tre infinie (e.g., k=1 plus proches voisins)
ou bien requrir un nombre trs important dexemples

Heureusement ceci est utilise pour le cas des modles

linaires de sparation

Hyperplans de sparations optimaux


On considre le problme de

dterminer un hyperplan de
sparation pour un ensemble de
donnes linairement sparables
{(#1,$1),(#2,$2)(#%,$%)}, #)-, ${1,+1}
Lequel des hyperplans choisir ?
Intuitivement un hyperplan qui passe trop

prt des exemples sera sensible au bruit et


gnralisera moins bien
Il semble raisonnable de choisir un hyperplan
loin des exemples pour avoir une meilleure
gnralisation

Ainsi lhyperplan optimal sera celui qui

maximisera la marge : la distance


minimum dun exemple lhyperplan de
sparation

Relation avec la VC-dimension


On peut montrer [Vapnik 1998] que la VC-dimension dun

hyperplan de sparation avec une marge m est borne


par
R est le rayon de la plus petite sphre incluant tous les exemples

Maximiser la marge revient donc minimiser la VC-

dimension
Si lhyperplan a une erreur empirique nulle (sparation
parfaite), maximiser la marge minimisera la borne
suprieure sur le risque rel
Conclusion : Lhyperplan de sparation de marge
maximum minimisera le risque structurel

La marge
La distance entre un point # et un plan (.,/) est
Puisquil y un nombre infini de plans de

sparation, obtenu en rescalant . et /, nous choisissons la solution


pour laquelle la fonction discriminante vaut 1 pour les exemples
proches de la frontire

La distance du plus proche point la

frontire est alors

Et la marge vaut

Maximiser la marge
Le problme de maximisation de la marge est donc

quivalent

Remarque: 0(.) est une fonction quadratique et nadmet

quun seul minimum global et pas de minimum local


Pour rsoudre ce problme, nous allons utiliser une
technique Lagrangienne doptimisation

Kuhn-Tucker Theorem
Etant donn un problme doptimisation

Pour minimiser f sous les contraintes dingalit g et dgalit h, on dfini le

Lagrangien :
A loptimum z*, existent

tels que

(, 1

Soit W(,)=minz L(z, , ), si (, 1 sont


solution du problme de Lagrange dual,

max! ," W (!, " )


s.t. ! i ! 0, "i = 1,..., k
alors le minimiseur z* de L(z, *, *) est la
solution du problme original

Formulation du problme doptimisation


Le problme doptimisation original est

Soit (i0, i=1,,k, le Lagrangien est alors

La solution est obtenue en minimisant selon w et b, et en

maximisant selon (

Equation Lagrangiennes
On drive le Lagrangien

Selon les variables primales w et b, on utilise la premire

condition KKT 20/23=0 et lon obtient les conditions


suivantes

Problme dual
En Dveloppant le Lagrangien,

on obtient

Le premier terme peut sexprimer comme, car

Problme dual
Comme

, on obtient le problme doptimisation


(Lagrangian dual problem):

sous les contraintes


Remarque: la solution du problme primal dpend de la dimensionalit

(w a un coefficient par dimension), alors que la solution du problme


dual dpend du nombre dexemples (un multiplicateur de Lagrange (i
par exemple)
La classification dun nouvel exemple est obtenue par

Vecteurs supports
Daprs les conditions KKT, la solution w

est telle que

Donc #, on a soit (,=0 ou (,>0 et

$,(.4#,+/1)=0

Si (,=0, alors |.4#,+/|>1


Si (,>0, alors .4#,+/=1

Ces exemples sont ceux qui sont sur lun des

deux hyperplans
(puisque $,(.4#,+/1)=0)
et sont appels vecteurs de support

La proportion de vecteurs supports de la

base dexemples donne un estimation de


lerreur en LOO

Vecteurs supports
Seuls les vecteurs supports ((,>0) dterminent la frontire

de sparation

Cas non linairement sparable


Lorsque les donnes sont

non linairement sparables,


on introduit des variables
(slack variables 5,) pour
relcher les contraintes :

Quand 5,>1 lexemple est mal

class
Quand 0 5, 1, lexemple est
dans la marge mais bien class

Soft-Margin optimisation
On considre prsent le problme

s.t.

C (constante de rgularisation)
reprsente un compromis entre
maximiser la marge et
minimiser lerreur

Le problme dual correspondant est

s.t.
Si 0<(,<C : le vecteur support est sur la marge (5,=0)
Si 0<(,=C : le vecteur est dans la marge et soit mal class (5,>1) ou

bien class (0 5, 1)

Produits scalaires
Pour une marge dure ou lche, le problme doptimisation

et la fonction de dcision

nutilisent les exemples dapprentissage #, quau travers

de produits scalaires #,4#j

SVM non-linaires
Thorme de Cover sur la sparabilit de patterns
A complex pattern-classification problem cast in a high-dimensional

space non-linearly is more likely to be linearly separable than in a


low- dimensional space
La puissance des SVM rside dans le fait quils sont une
implmentaiton robuste et efficace du thorme de Cover
Les SVMs oprent en deux tapes
Effectuent une projection non-linaire du vecteur dentre x dans un

espace de grande dimension


Construisent un hyperplan de sparation dans cet espace

Illustration

Principe
Une application nave de ce concept de projection vers une

varit non-linaire dans un espace de grande dimension pose


deux problmes
Statistique: travailler dans des espaces de grandes dimensions est

sujet la maldiction de la dimensionnalit


Computationnel: travailler dans des espaces de grandes dimensions
requiert de grandes capacits calculatoires
Les SVMs contournent ce problme
Les capacits de gnralisation sont assurs en trouvant le classifieur
de plus large marge
La projection peut se faire de manire implicite
La solution dun SVM requiert uniquement des produits scalaires

Les oprations dans lespace de grande dimension peuvent

tre effectus implicitement par une fonction noyau 6(#,,#7) telle


que 6(#,,#7)=<8(#,),8(#7)>

Exemple de projection implicite


Considrons un exemple de classification dans R2
On prend une fonction noyau 6(#,,#7)=(#,4#j)2
On cherche une projection non-linaire 8(#) telle que
(#,4#j)2=8T(#,) 8(#j)

En dveloppant 6(#,,#7), on obtient

Donc en utilisant le noyau 6(#,,#7)=(#,4#j)2, on opre implicitement

dans un espace dfini par

Le produit scalaire 8T(#,) 8(#j) peut donc tre calcul implicitement

dans R2 par le noyau (#,4#j)2 sans effectuer la projection explicitement

Kernels et hyperplans
Partant dun vecteur # dans RD, on dfini une projection 8(#)

dans RD1avec D1>D


Lhyperplan de sparation devient
avec la notation 80(#)=1
Lhyperplan optimum est obtenu par
En combinant avec
Soit:
Que lon rcrit,

puisque

Kernel-based SVM
Si lon utilise un noyau 6(#,,#7), la classification est effectue par

Ce qui correspond au problme doptimisation Langrangien dual :

s.t.

Dfinition dun noyau


Une fonction

telle que
est symtrique et positif
est appel un noyau dfini positif
Mercer Condition: Pour tout noyau positif K dfini sur U,
il existe un espace de produit scalaire V et une fonction
(.):UV telle que
Lien entre distance dans U et similarit dans V

Exemples de noyaux
Noyau linaire

Noyau polynomial

Noyau Gaussien

Effet du noyau

Vous aimerez peut-être aussi