Réseaux de neurones : modèle linéaire

Transcription

Réseaux de neurones : modèle linéaire
Réseaux de neurones : modèle linéaire
Fabrice Rossi
http://apiacoa.org/contact.html.
Université Paris-IX Dauphine
Réseaux de neurones – Le modèle linéaire – p.1/58
Plan du cours “modèle linéaire”
1. Le modèle linéaire (lien avec les réseaux de neurones)
2. La régression linéaire simple
3. La régression linéaire multiple
4. Comportement asymptotique des moindres carrés
5. Modèle linéaire et discrimination
Réseaux de neurones – Le modèle linéaire – p.2/58
Cadre applicatif
Le modèle linéaire s’applique aux problèmes supervisés :
Régression
Discrimination (Classification supervisée)
Rappel du modèle mathématique :
N exemples, des vecteurs (xk )1≤k≤N de Rn
discrimination : chaque vecteur est associé à une classe
régression : chaque vecteur est associé à une cible, les
(y k )1≤k≤N , des vecteurs de Rp
Expression statistique des problèmes :
Discrimination : estimer P (Cj |x)
Régression : estimer E(Y |x)
Bibliographie : voir les excellents supports de cours de
Philippe Besse, à l’url :
http://www.lsp.ups-tlse.fr/Besse/enseignement.html
Réseaux de neurones – Le modèle linéaire – p.3/58
Le modèle linéaire en régression
On cherche donc à trouver un lien entre xk et y k , c’est-à-dire
trouver une fonction f telle que f (xk ) ' y k . Le modèle le plus
simple est le modèle linéaire :
paramètres : une matrice A (p lignes et n colonnes) et un
vecteur b (dans Rp )
le modèle : f (xk ) = Axk + b
le modèle est :
affine par rapport à xk
linéaire par rapport à (A, b)
Comment choisir A et b ?
Réseaux de neurones – Le modèle linéaire – p.4/58
Lien avec les réseaux de neurones
Un réseau à une couche :
structure la plus simple possible (ce n’est même pas un
réseau !)
très proche des méthodes classiques (linéaires)
Graphiquement :
Entrées
Sorties
Ici, 3 entrées et 2 sorties : une fonction de R3 dans R2 .
Réseaux de neurones – Le modèle linéaire – p.5/58
Neurone élémentaire
Un neurone est en général défini par :
1. une fonction d’activation (ou de transfert), T : R → R
2. un nombre entier d’entrées
Un neurone à n entrées est associé à n + 1 paramètres
numériques :
n poids synaptiques (chaque poids correspond à une
flèche dans le dessin)
un seuil (threshold) ou biais (bias)
Un neurone à n entrées calcule la fonction suivante :
!
n
X
ai xi + b
f (x1 , . . . , xn ) = T
i=1
Réseaux de neurones – Le modèle linéaire – p.6/58
Calcul pour une couche
Un réseau à une couche avec n et p sorties calcule donc :
!
n
X
aji xi + bj
f (x1 , . . . , xn )j = Tj
i=1
soit matriciellement :
f (x) = T(Ax + b),
avec


T1 (y1 )


T(y) =  · · · 
Tp (yp )
Si T = Id, on obtient le modèle linéaire !
Réseaux de neurones – Le modèle linéaire – p.7/58
Régression linéaire simple
Le cas le plus simple de régression linéaire correspond à
n=p=1:
on dispose de N couples de réels (xk , y k )1≤k≤N
on cherche a et b deux réels tels que y k ' axk + b
solution classique, les moindres carrés :
on cherche a et b qui minimisent
on a
b b) =
E(a,
∂ Eb
= 2N
∂b
N
X
k=1
k
ax + b − y
1
b+
N
N
X
k=1
k 2
(axk − y k )
!
Réseaux de neurones – Le modèle linéaire – p.8/58
Régression linéaire simple (2)
on a
N
X
N
X
∂ Eb
xk (b − y k )
(xk )2 +
=2 a
∂a
k=1
k=1
!
si, on note x la moyenne (empirique) des xk , y celle des
y k , x2 celle des (xk )2 et xy la moyenne du produit xk y k , on
trouve (en annulant les dérivées) :
xy − x.y
b
a =
x2 − (x)2
2 .y − x.xy
x
bb =
x2 − (x)2
Réseaux de neurones – Le modèle linéaire – p.9/58
Exemple de mise en œuvre
140
120
130
Weight (lb)
150
160
women data: American women aged 30−39
58
60
62
64
66
68
70
72
Height (in)
Données réelles : taille et poids de femmes américaines en
1975 (McNeil, D. R., 1977)
Réseaux de neurones – Le modèle linéaire – p.10/58
Ca ne fonctionne pas toujours ...
10000
0
airmiles
20000
30000
airmiles data
1940
1945
1950
1955
1960
assenger−miles flown by U.S. commercial airlines
Données réelles : nombres de milles parcourus sur les
compagnies US entre 1937 et 1960 (Brown, R. G., 1963)
Réseaux de neurones – Le modèle linéaire – p.11/58
Une petite transformation ...
15000
0
5000
10000
airmiles
20000
25000
30000
airmiles data
1940
1945
1950
1955
1960
assenger−miles flown by U.S. commercial airlines
Modèle linéaire sur log(airmiles) !
Réseaux de neurones – Le modèle linéaire – p.12/58
Une autre transformation ...
15000
0
5000
10000
airmiles
20000
25000
30000
airmiles data
1940
1945
1950
1955
1960
assenger−miles flown by U.S. commercial airlines
√
Modèle linéaire sur airmiles !
Réseaux de neurones – Le modèle linéaire – p.13/58
Modélisation statistique
On modélise le problème de la façon suivante :
les (xk )1≤k≤N sont donnés et non aléatoires
y k est une réalisation de la v.a. Y k = axk + b + U k
les (U k )1≤k≤N sont des v.a. indépendantes identiquement
distribuées avec :
E(U k ) = 0
σ 2 (U k ) = σu2
Dans ce cadre, on montre que
b
a et bb sontdes estimateurs
sans biais de a et b
2
PN
1
k
k
b
ax + bb − y
est un estimateur sans biais de
N −2
σu2
k=1
si les U k sont des v.a. gaussiennes, on peut calculer de
façon exacte la distribution de (b
a, bb), ce qui permet de
donner des intervalles de confiance pour les coefficients
Réseaux de neurones – Le modèle linéaire – p.14/58
Exemple
Protocole :
on prend xk équirépartis dans [−1, 1] avec N = 20
on engendre les U k selon une loi normale d’écart-type 0.2
on pose Y k = 0.5xk − 0.2 + U k
on calcule b
a et bb
on recommence 2000 fois
pour chaque estimateur, on trace l’histogramme des
valeurs obtenues
on calcule la moyenne des valeurs (approximation de
l’espérance d’après la loi des grands nombres) :
E(b
a) ' 0.5002
E(bb) ' −0.2004
Réseaux de neurones – Le modèle linéaire – p.15/58
Exemple (2)
100
50
0
Effectif
150
200
Estimateur de a
0.3
0.4
0.5
0.6
0.7
a
Réseaux de neurones – Le modèle linéaire – p.16/58
Exemple (3)
100
50
0
Effectif
150
Estimateur de b
−0.35
−0.30
−0.25
−0.20
−0.15
−0.10
−0.05
b
Réseaux de neurones – Le modèle linéaire – p.17/58
Maximum de vraisemblance
Si on choisit un modèle pour les U k , on peut procéder par
maximum de vraisemblance :
U k ∼ N (0, σu )
vraisemblance d’une observation
(y−ax−b)2
1
−
2σ 2
L(a, b, x, y) = √ e
σ 2π
vraisemblance des N observations
k
k
L(a, b, (x ), (y )) =
1
(2σu π)
N
2
e
−
N (y −ax −b)2
k
k=1 k
2
2σu
Maximiser la vraisemblance revient à
la
Pmaximiser
2
(y
−
ax
−
b)
!
log-vraisemblance, soit ici minimiser N
k
k
k=1
Bruit gaussien ⇒ MV équivalent aux moindres carrés
Réseaux de neurones – Le modèle linéaire – p.18/58
Résumé des propriétés théoriques
On peut généraliser le modèle au cas où les xk sont des
réalisations de v.a. X k . On fait donc les hypothèses
suivantes :
X et Y sont deux v.a. telles que E(Y |X = x) = ax + b
σ 2 (Y |X = x) = σu2
les (xk , y k ) sont des réalisations indépendantes de (X, Y )
Dans ce cas :
les estimateurs de a et b obtenus par le critère des
moindres carrés (MC) sont sans biais
l’erreur résiduelle divisée par N − 2 est un estimateur
sans biais de σu2
si Y − E(Y |X) ∼ N (0, σu ) :
les estimateurs MC sont ceux du maximum de
vraisemblance
on peut calculer explicitement la distribution de (a, b)
Réseaux de neurones – Le modèle linéaire – p.19/58
50
Attention : robustesse des MC
0
10
20
30
40
données
modèle réel
modèle linéaire
5
10
15
20
Moindres carrés classiques
Réseaux de neurones – Le modèle linéaire – p.20/58
50
Attention : robustesse des MC
0
10
20
30
40
données
modèle réel
modèle linéaire robuste
5
10
15
20
Moindres carrés robustes
Réseaux de neurones – Le modèle linéaire – p.20/58
Cas général : la régression linéaire multiple
Dans le cas général, xk et y k sont des vecteurs. La méthode
des moindres carrés conduit à minimiser
N
X
2
k
k
b b) =
Ax + b − y E(A,
k=1
Pour la résolution, on écrit :
Ax + b = Cz,
avec
C = (Ab)
z =
x
1
!
Réseaux de neurones – Le modèle linéaire – p.21/58
Régression linéaire multiple (2)
On montre que la différentielle de E(C) s’écrit :
2
N X
k=1
Cz k − y
k
z
kT
En posant
Z = (z 1 z 2 . . . z N )
Y
= (y 1 y 2 . . . y N )
la différentielle devient :
2(CZ − Y )Z T
Réseaux de neurones – Le modèle linéaire – p.22/58
Régression linéaire multiple (3)
On doit donc résoudre :
ZZ T C T = ZY T
Deux cas :
1. on peut calculer l’inverse de ZZ T (algorithme en O(n3 ))
2. ZZ T n’est pas inversible en pratique : on utilise une SVD
(décomposition en valeurs singulières, algorithme en
O(n4 ))
Il y a toujours une solution et on sait toujours la calculer en prab est l’estimateur des moindres carrés
tique. Cette solution, C,
du modèle linéaire.
Réseaux de neurones – Le modèle linéaire – p.23/58
Singular Value Decomposition
Soit une matrice A, m × n. La SVD de A est un triplet de
matrices, U , D et V telles que :
D est une matrice n × n diagonale dont les termes
diagonaux (les valeurs singulières) sont positifs ou nuls et
rangées par ordre décroissant
U et V sont des matrices orthonormées
A = V DU T
le nombre de valeurs singulières strictement positives
donne le rang de A
Exemple :
! √
! √
!
!√
5 −1 −2
2 −1 −1
1 1
10 0
=
5
2
2 2
−2 1
−1 1
0 0
Réseaux de neurones – Le modèle linéaire – p.24/58
Singular Value Decomposition (2)
Permet de définir la pseudo-inverse d’une matrice :
dans D, on remplace les petites valeurs singulières (par
e Par exemple, s’il
exemple < 10−8 ) par 0, ce qui donne D.
ne reste que 2 valeurs non nulles :




e =
D



α1
0
0
···
0
0
α2
0
···
0
0
.
.
.
0
0
.
.
.
.
.
.
···
0
0
.
.
.
···
0
0
0
.
.
.






e T
A ' V DU
on définit D† comme la matrice diagonale dont les seuls
termes diagnonaux non nuls sont les inverses des αi
on définit la pseudo-inverse de A par A† = V D† U T
Réseaux de neurones – Le modèle linéaire – p.25/58
Exemple : série temporelle
0.5
1.0
xt
1.5
2.0
Une série temporelle
0
50
100
150
200
t
Réseaux de neurones – Le modèle linéaire – p.26/58
Exemple : série temporelle
Une série temporelle
0.5
1.0
xt
1.5
2.0
données
modèle linéaire
0
50
100
150
200
t
Prédiction par modèle linéaire !
Réseaux de neurones – Le modèle linéaire – p.26/58
Exemple
1.0
0.5
0.0
prédiction
1.5
2.0
Qualité de la prédiction
0.5
1.0
1.5
2.0
xt
Réseaux de neurones – Le modèle linéaire – p.27/58
Modélisation auto-regressive
On écrit
xt = a1 xt−1 + a2 xt−2 + . . . + an xt−n + (t)
On trouve les coefficients par moindres carrés (par exemple).
Grosse difficulté : choix de l’ordre du modèle (i.e., la valeur de
n).
Dans notre exemple, n = 2.
Réseaux de neurones – Le modèle linéaire – p.28/58
Représentation graphique en “3D”
data
ar model
3
2.5
2
1.5
1
0.5
0
-0.5
-1
2.5
2
1.5
1
0.5
0
0
0.5
1
1.5
2
2.5
Réseaux de neurones – Le modèle linéaire – p.29/58
Représentation graphique en “3D”
data
ar model
3
2.5
2
1.5
1
0.5
0
-0.5
-1
0
0.5
1
1.5
2
2.5
0
1
0.5
2
1.5
2.5
Réseaux de neurones – Le modèle linéaire – p.29/58
Données réelles
100
50
0
nombre de tâches solaires
150
Tâches solaires
1700
1750
1800
1850
1900
1950
Année
Réseaux de neurones – Le modèle linéaire – p.30/58
Données réelles
Tâches solaires
100
50
0
nombre de tâches solaires
150
données
modèle ar
1700
1750
1800
1850
1900
1950
Année
Réseaux de neurones – Le modèle linéaire – p.30/58
100
50
prédiction
150
Qualité de la prédiction
0
50
100
150
donnée
Réseaux de neurones – Le modèle linéaire – p.31/58
Propriétés théoriques
Exactement les mêmes que pour la régression simple.
Hypothèses :
X et Y sont deux v.a. telles que E(Y |X = x) = Ax + b
cov(Y |X = x) = σu2 I (covariance)
les (xk , y k ) sont des réalisations indépendantes de (X, Y )
Dans ce cas :
les estimateurs de A et b obtenus par le critère des
moindres carrés (MC) sont sans biais
l’erreur résiduelle divisée par N − n − 1 est un estimateur
sans biais de σu2
si Y − E(Y |X) ∼ N (0, σu I) :
les estimateurs MC sont ceux du maximum de
vraisemblance
on peut calculer explicitement la distribution de (A, b)
Réseaux de neurones – Le modèle linéaire – p.32/58
Résumé
En résumé, si les données suivent un modèle linéaire :
on peut estimer simplement ses paramètres (algèbre
linéaire)
l’estimation est sans biais
elle correspond au maximum de vraisemblance pour une
erreur gaussienne
on peut donner des intervalles de confiance, etc.
Problème : que se passe-t-il si les données ne suivent pas
un modèle linéaire ?
Réseaux de neurones – Le modèle linéaire – p.33/58
Régression non linéaire
La régression linéaire est un cas particulier du modèle de
régression paramétrique :
on suppose donnée une fonction F de W × Rn dans Rp
W les paramètres (numériques) du modèle
on cherche w ∈ W tel que F (w, xk ) ' y k
Exemple :
le modèle linéaire pur, F (A, xk ) = Axk , où A est une
matrice p × n
le modèle affine, F ((A, b), xk ) = Axk + b, où A est une
matrice p × n et b un vecteur de Rp
les modèles linéaires généralisés et les perceptrons
multi-couches (cf prochains cours)
Problème : comment choisir w ?
Une solution : les moindres carrés !
Réseaux de neurones – Le modèle linéaire – p.34/58
Pourquoi les moindres carrés ?
Modélisation probabiliste : (xk , y k ) réalisations d’une suite de
variables aléatoires i.i.d. (X k , Y k ).
Loi forte des grands nombres :
N
X
2
1
2
k
k
F (w, x ) − y → E kF (w, X) − Y k p.s.
EbN (w) =
N k=1
En fait, la convergence est uniforme et on a :
lim d(wN , W ) = 0 p.s.
N →∞
avec wN un minimiseur de EbN (w) et W l’ensemble des minima
2
de E kF (w, X) − Y k
Réseaux de neurones – Le modèle linéaire – p.35/58
Exemple
0.9
1.0
1.1
^
EN(0)
1.2
1.3
1.4
1.5
On prend y k = ek , un bruit gaussien de variance 1. Modèle
y k = wxk . Pour w = 0, on obtient l’erreur quadratique
suivante :
0
1000
2000
3000
4000
5000
N
Réseaux de neurones – Le modèle linéaire – p.36/58
Exemple (2)
35
On considère l’erreur du modèle pour w dans [−2, 2], avec
entre 2 et 500 observations. Les xk sont choisis aléatoirement
2
uniformément dans [−5, 5]. Erreur théorique : 1 + 25
w
.
3
0
5
10
15
^
EN(w)
20
25
30
N=2
N=5
N=10
N=15
N=20
N=30
N=50
N=100
N=500
théorique
−2
−1
0
w
1
2
Réseaux de neurones – Le modèle linéaire – p.37/58
8
6
0
2
4
max
w∈[−2,2]
^
E

 N(w)−E(w)


10
12
Exemple (3)
0
1000
2000
3000
4000
5000
N
Ecarts maximaux (en valeur absolue) à l’erreur théorique
Réseaux de neurones – Le modèle linéaire – p.38/58
Pourquoi les moindres carrés ? (2)
Par définition :
2
λ(w) = E kF (w, X) − Y k
=
Z
kF (w, x) − yk2 p(x, y)dxdy
On conditionne, i.e., on utilise p(x, y) = p(y|x)p(x). Après
quelques manipulations, on obtient :
λ(w) =
Z
kF (w, x) − E(Y |x)k2 p(x)dx
Z
2
2
+
E(kY k |x) − kE(Y |x)k p(x)dx
En minimisant λ, on approche donc E(Y |x). L’estimateur de
w par les moindres carrés donne donc asymptotiquement la
meilleure approximation de E(Y |x) par F (w, x).
Réseaux de neurones – Le modèle linéaire – p.39/58
Maximum de vraisemblance
On reprend le raisonnement du cas linéaire :
on suppose que le modèle s’écrit Y k = F (w, X k ) + U k
U k est un vecteur gaussien centré de matrice de
covariance σu I
la vraisemblance de N observations s’écrit alors
k
k
L(w, (x ), (y )) =
1
N e
−
N (y −F (w,x ))2
k
k=1 k
2
2σu
(2σu π) 2
comme pour le modèle linéaire, maximiser la
vraisemblance revient donc à minimiser l’erreur
quadratique
Réseaux de neurones – Le modèle linéaire – p.40/58
Régression linéaire : résumé
Réseau à une couche avec neurones linéaires :
permet de modéliser une relation affine y = Ax + b
les moindres carrés correspondent à la recherche d’une
approximation de E(y|x)
les moindres carrés sont équivalents au maximum de
vraisemblance dans le cas d’un bruit gaussien
les coefficients optimaux sont toujours calculables
le modèle est simple mais utile
A toujours utiliser comme référence avant un traitement par un
réseau de neurones plus puissant.
Réseaux de neurones – Le modèle linéaire – p.41/58
Application à la discrimination
Il suffit de construire y k en fonction de la classe de xk
(codage disjonctif complet) :
problème à deux classes : xk ∈ C1 ⇒ y k = 1,
xk ∈ C 2 ⇒ y k = 0
problème à q classes : y k ∈ Rq , avec xk ∈ Cj ⇔ yqk = δqj
Par exemple pour trois classes, la classe 2 correspond à
(0, 1, 0).
Attention ! Ne jamais utiliser un codage numérique (par
exemple xk ∈ Cj ⇒ y k = j), cela induit une structure
artificielle sur la fonction à modéliser.
Cas linéaire : même méthode de résolution (moindres carrés).
Réseaux de neurones – Le modèle linéaire – p.42/58
Classement d’un nouvel individu
Comment classer x ? Solution intuitive :
deux classes : si F (w, x) > 0.5 ⇒ C1 , sinon C2
q classes : on calcule y = F (w, x) et on affecte x à Cj tel
que yj = maxl yl .
Pourquoi cela fonctionne-t-il ?
F (w, x) approche E(Y |x) :
deux classes : E(Y |X = x) = P (C1 |x)
q classes : E(Yj |X = x) = P (Cj |x)
Donc, F (w, x)
>
0.5 correspond approximativement à
P (C1 |x) > 0.5.
⇒ l’affectation à C1 est la décision optimale.
Réseaux de neurones – Le modèle linéaire – p.43/58
Classement optimal
On coupe l’espace Rn en q zones (quelconques), Rj .
Probabilité de ne pas faire d’erreur en classant x :
P (ok) =
q
X
P (x ∈ Rj , Cj )
j=1
On a
P (ok) =
q
X
j=1
=
P (x ∈ Rj |Cj )P (Cj )
q Z
X
j=1
p(x|Cj )P (Cj )dx
Rj
Réseaux de neurones – Le modèle linéaire – p.44/58
Classement optimal (2)
Pour maximiser P (ok), il suffit de définir Rj par :
Rj = {x | p(x|Cj )P (Cj ) > p(x|Ct )P (Ct ) pour t 6= j}
Or
p(x|Cj )P (Cj ) = P (Cj |x)p(x)
Il suffit donc de choisir j qui maximise P (Cj |x).
Extension : notion de risque. Lkj coût pour la décision k alors
que la vraie classe est j. Coût total :
R=
q Z
X
j=1
q
X
Lkj p(x|Ck )P (Ck )dx
Rj k=1
Application : diagnostic médical par exemple.
Réseaux de neurones – Le modèle linéaire – p.45/58
Le cas gaussien
Distribution gaussienne en dimension quelconque (n) :
p(x) =
1
np
(2π) 2
− 21 (x−µ)T Σ−1 (x−µ)
|Σ|
exp
µ est le vecteur moyenne et Σ la matrice de covariance (|Σ|
est le déterminant de la matrice). On a :
E(x)
= µ
T
E (x − µ)(x − µ)
= Σ
Mélange de q gaussiennes :
p(x) =
q
X
P (Cj )p(x|Cj )
j=1
Réseaux de neurones – Le modèle linéaire – p.46/58
Exemple
Classe 0
Classe 1
0.16
0.14
0.12
0.1
0.08
0.06
0.04
0.02
0
4
3
2
1
-4
-3
0
-2
-1
0
-1
1
2
-2
3
4
-3
2 gaussiennes
Réseaux de neurones – Le modèle linéaire – p.47/58
Exemple (simulation)
Données
−2
0
y
2
4
classe 0
classe 1
−4
−2
0
2
x
2 gaussiennes
Réseaux de neurones – Le modèle linéaire – p.48/58
Exemple (simulation)
Données
+
+
classe 0
classe 1
+
+
+
+
+
4
+
+
+
+
+
2
y
+
0
+
++
++
−2
+
+
+
+
+
−4
+
+
+
+
+
+
+
+ ++
+
+
++
+
+ + ++
+
+
+
+
+
+
+
+
+
++
+
+
+
+
+
+
+
+
+
+
++ +++ +
+
+
+ +
+
+ + ++ + + +
+ + + + + ++
+ +
+
++
+ ++
+
+
+
+
+
+ +
++ +
++ + + ++
+
+
+
++ + +
+
+
+
++
++
+ + +
+
+
+ ++ +
+ + + ++
+
+
+
+
+ +
++
++
+++
++
+ +
++
+ ++ ++ +
++
+
+
++ +
+
+
+
+ +
+
+
+ + + + +++ ++++ + + + + + ++ +++ +
+ + ++
+
+
++
+
+
+
+
+
+
+
+
+
+
++
+
++ + +
++ +++
+ + ++ + +++ ++ +
+
+
+
+
+
+
+ + +
+
+
+
+
+
+ + + ++ + + ++
+ ++
+ +
+
+
++
+ +
+
+
+
+
+
+
+
+
+
+ ++
++ +
+
+
+
+
++
+ + + + ++
+ +
+
+
+
+ + + + + ++
+
+
+
+
+
+ + + ++
+
++
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ +
++
+ +
+
+
+
+ + ++
+
+
+
+
+
+
+
+
+
+
+
+
+
++ +
−2
0
+
+
+
+++
+ ++
+
+
+
+
+
+
+
+
+
+
+
+
+
+
2
x
2 gaussiennes
Réseaux de neurones – Le modèle linéaire – p.48/58
Classement optimal gaussien
Maximiser p(x|Cj )P (Cj ) revient à maximiser
ln(p(x|Cj )P (Cj )), c’est-à-dire :
1
1
T −1
dj (x) = − (x − µj ) Σj (x − µj ) − ln |Σj | + ln P (Cj )
2
2
Pour chaque classe on a une forme quadratique en x :
frontières quadratiques.
Si on a une matrice Σ unique, trouver le dj (x) maximum
revient à trouver le fj (x) maximum :
fj (x) =
µTj Σ−1 x
1 T −1
− µj Σ µj + ln P (Cj )
2
Les fj sont linéaires : frontières linéaires.
Réseaux de neurones – Le modèle linéaire – p.49/58
Maximum de vraisemblance
Le raisonnement appliqué à la régression n’a plus de sens :
cible 1 ou 0
bruit gaussien : aucun sens
Pour un problème à deux classes, on veut que F (w, xk )
approche la probabilité P (C1 |xk ). La vraisemblance peut alors
s’écrire :
k
p(y |w) =
N
Y
k=1
k yk
k
F (w, x ) (1 − F (w, x ))
1−y k
On minimise l’entropie croisée (problème difficile !) :
E(w) = −
N
X
k=1
k
k
k
k
y ln F (w, x ) + (1 − y ) ln(1 − F (w, x ))
Réseaux de neurones – Le modèle linéaire – p.50/58
Fonctions discriminantes
Le modèle linéaire donne en général une mauvaise approximation de P (Cj |x), même dans le cas où il permet un classement optimal.
Pour deux classes, la décision optimale est 1 si P (C1 |x) >
P (C2 |x), 2 sinon. Il suffit donc de connaître le signe de
φ(P (C1 |x)) − φ(P (C2 |x)), où φ est une fonction croissante.
De façon générale, il suffit d’obtenir une fonction discriminante
ψ(x) telle que ψ(x) > 0 si et seulement si P (C1 |x) > P (C2 |x).
Réseaux de neurones – Le modèle linéaire – p.51/58
Activation non linéaire
Il est courant d’utiliser pour T une fonction croissante non
linéaire.
Exemple principal, la sigmoïde logistique :
1
T (x) =
1 + e−x
Motivation : approximation de P (C1 |x) pour deux classes
gaussiennes.
Inconvénient : on ne peut plus calculer les paramètres optimaux ⇒ optimisation de E(w) par descente de gradient.
Réseaux de neurones – Le modèle linéaire – p.52/58
Activation non linéaire (2)
Historiquement, on a beaucoup utilisé la fonction step de
Heaviside :
(
0 quand x < 0
T (x) =
1 quand x ≥ 0
“Modèle” des neurones biologiques (McCulloch et Pitts,
1943)
perceptron (Rosenblatt, 1962), avec souvent 0 remplacé
par −1
adaline (Widrow et Hoff, 1960)
Réseaux de neurones – Le modèle linéaire – p.53/58
Discrimination linéaire
Comme la décision se fait toujours par une règle de la forme
F (w, x) > α et T est croissante, la décision reste linéaire et
donc limitée.
C1
C2
C2
C1
Le plus simple problème non linéairement séparable en dimension 2 se généralise en dimension n, avec n + 2 points.
Le modèle linéaire est limité, mais adapté à certains problèmes.
Réseaux de neurones – Le modèle linéaire – p.54/58
Le perceptron
En première approche : un réseau de neurones à une couche
dont les neurones utilisent la fonction de Heaviside modifiée
(T (x) = −1 quand x < 0, 1 sinon).
Principal problème : l’apprentissage (l’estimation des
paramètres optimaux) car on souhaite minimiser le nombre
de mauvais classements.
Critère du perceptron pour une sortie :
X
E(a) = −
y k (aT xk + b)
xk mal classé
avec y k = 1 si xk ∈ C1 et y k = −1 si xk ∈ C2 .
Réseaux de neurones – Le modèle linéaire – p.55/58
Apprentissage
On utilise l’algorithme suivant :
1. on part de a0 et b0 aléatoires
2. on passe en revue les exemples :
(a) si xk est bien classé, on passe au suivant
(b) sinon, on fabrique at+1 et bt+1 grâce aux équations
suivantes (avant de passer à l’exemple suivant) :
at+1 = at + y k xk
bt+1 = bt + y k
On peut montrer que l’algorithme converge si le problème est
linéairement séparable.
Réseaux de neurones – Le modèle linéaire – p.56/58
Discrimination linéaire : résumé
Réseau à une couche avec neurones avec fonction
d’activation croissante :
permet une discrimination linéaire
les moindres carrés correspondent à la recherche d’une
approximation de P (Cj |x)
mais ils ne réalisent plus le maximum de vraisemblance
les coefficients optimaux sont calculables dans le cas
linéaire et dans certains cas particuliers non linéaires
le modèle est optimal pour des données gaussiennes
avec une matrice de covariance commune
le modèle reste limité
Comme pour la régression linéaire, la discrimination linéaire
constitue un bon modèle de référence.
Réseaux de neurones – Le modèle linéaire – p.57/58
Points généraux importants
Certains éléments abordés jusqu’à présent ne sont pas
spécifiques aux réseaux à une couche :
les moindres carrés correspondent à une estimation
asymptotiquement correcte de E(Y |x) (P (Cj |x) en
discrimination)
pour la régression, les moindres carrés peuvent
correspondre au maximum de vraisemblance (pas pour la
classification)
la discrimination optimale est obtenue en cherchant la
classe la plus probable a posteriori
la valeur de E(w) (ou le nombre d’erreurs de classement)
ne suffit pas pour choisir le modèle optimal, sauf quand on
a “beaucoup” de données
Réseaux de neurones – Le modèle linéaire – p.58/58