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

63
Réseaux de neurones : modèle linéaire Fabrice Rossi http://apiacoa.org/contact.html . Universit´ e Paris-IX Dauphine eseaux de neurones – Le mod` ele lin´ eaire – p.1/58

Upload: lydung

Post on 14-Dec-2016

220 views

Category:

Documents


0 download

TRANSCRIPT

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

Réseaux de neurones : modèle linéaireFabrice Rossi

http://apiacoa.org/contact.html.

Universite Paris-IX Dauphine

Reseaux de neurones – Le modele lineaire – p.1/58

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

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

Reseaux de neurones – Le modele lineaire – p.2/58

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

Cadre applicatif

Le modèle linéaire s’applique aux problèmes supervisés :RégressionDiscrimination (Classification supervisée)

Rappel du modèle mathématique :N exemples, des vecteurs (xk)1≤k≤N de R

n

discrimination : chaque vecteur est associé à une classerégression : chaque vecteur est associé à une cible, les

(yk)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 dePhilippe Besse, à l’url :

http://www.lsp.ups-tlse.fr/Besse/enseignement.html

Reseaux de neurones – Le modele lineaire – p.3/58

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

Le modèle linéaire en régression

On cherche donc à trouver un lien entre xk et yk, c’est-à-diretrouver une fonction f telle que f(xk) ' yk. Le modèle le plussimple est le modèle linéaire :

paramètres : une matrice A (p lignes et n colonnes) et unvecteur b (dans R

p)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 ?

Reseaux de neurones – Le modele lineaire – p.4/58

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

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 :

Sorties

Entrees

Ici, 3 entrées et 2 sorties : une fonction de R3 dans R

2.

Reseaux de neurones – Le modele lineaire – p.5/58

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

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ètresnumériques :

n poids synaptiques (chaque poids correspond à uneflèche dans le dessin)un seuil (threshold) ou biais (bias)

Un neurone à n entrées calcule la fonction suivante :

f(x1, . . . , xn) = T

(n∑

i=1

aixi + b

)

Reseaux de neurones – Le modele lineaire – p.6/58

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

Calcul pour une couche

Un réseau à une couche avec n et p sorties calcule donc :

f(x1, . . . , xn)j = Tj

(n∑

i=1

ajixi + bj

)

soit matriciellement :

f(x) = T(Ax+ b),

avec

T(y) =

T1(y1)

· · ·Tp(yp)

Si T = Id, on obtient le modèle linéaire !

Reseaux de neurones – Le modele lineaire – p.7/58

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

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, yk)1≤k≤N

on cherche a et b deux réels tels que yk ' axk + b

solution classique, les moindres carrés :on cherche a et b qui minimisent

E(a, b) =N∑

k=1

(axk + b− yk

)2

on a

∂E∂b

= 2N

(b+

1

N

N∑

k=1

(axk − yk)

)

Reseaux de neurones – Le modele lineaire – p.8/58

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

Régression linéaire simple (2)

on a

∂E∂a

= 2

(a

N∑

k=1

(xk)2 +N∑

k=1

xk(b− yk)

)

si, on note x la moyenne (empirique) des xk, y celle desyk, x2 celle des (xk)2 et xy la moyenne du produit xkyk, ontrouve (en annulant les dérivées) :

a =xy − x.y

x2 − (x)2

b =x2.y − x.xy

x2 − (x)2

Reseaux de neurones – Le modele lineaire – p.9/58

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

Exemple de mise en œuvre

58 60 62 64 66 68 70 72

120

130

140

150

160

women data: American women aged 30−39

Height (in)

Wei

ght (

lb)

Données réelles : taille et poids de femmes américaines en1975 (McNeil, D. R., 1977)

Reseaux de neurones – Le modele lineaire – p.10/58

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

Ca ne fonctionne pas toujours ...

airmiles data

assenger−miles flown by U.S. commercial airlines

airm

iles

1940 1945 1950 1955 1960

010

000

2000

030

000

Données réelles : nombres de milles parcourus sur lescompagnies US entre 1937 et 1960 (Brown, R. G., 1963)

Reseaux de neurones – Le modele lineaire – p.11/58

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

Une petite transformation ...

airmiles data

assenger−miles flown by U.S. commercial airlines

airm

iles

1940 1945 1950 1955 1960

050

0010

000

1500

020

000

2500

030

000

Modèle linéaire sur log(airmiles) !

Reseaux de neurones – Le modele lineaire – p.12/58

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

Une autre transformation ...

airmiles data

assenger−miles flown by U.S. commercial airlines

airm

iles

1940 1945 1950 1955 1960

050

0010

000

1500

020

000

2500

030

000

Modèle linéaire sur√airmiles !

Reseaux de neurones – Le modele lineaire – p.13/58

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

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éatoiresyk est une réalisation de la v.a. Y k = axk + b+ Uk

les (Uk)1≤k≤N sont des v.a. indépendantes identiquementdistribuées avec :

E(Uk) = 0

σ2(Uk) = σ2u

Dans ce cadre, on montre quea et b sont des estimateurs sans biais de a et b

1N−2

∑N

k=1

(axk + b− yk

)2

est un estimateur sans biais de

σ2u

si les Uk sont des v.a. gaussiennes, on peut calculer defaçon exacte la distribution de (a, b), ce qui permet dedonner des intervalles de confiance pour les coefficients

Reseaux de neurones – Le modele lineaire – p.14/58

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

Exemple

Protocole :on prend xk équirépartis dans [−1, 1] avec N = 20

on engendre les Uk selon une loi normale d’écart-type 0.2

on pose Y k = 0.5xk − 0.2 + Uk

on calcule a et bon recommence 2000 foispour chaque estimateur, on trace l’histogramme des

valeurs obtenueson calcule la moyenne des valeurs (approximation de

l’espérance d’après la loi des grands nombres) :E(a) ' 0.5002

E (b) ' −0.2004

Reseaux de neurones – Le modele lineaire – p.15/58

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

Exemple (2)

Estimateur de a

a

Effe

ctif

0.3 0.4 0.5 0.6 0.7

050

100

150

200

Reseaux de neurones – Le modele lineaire – p.16/58

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

Exemple (3)

Estimateur de b

b

Effe

ctif

−0.35 −0.30 −0.25 −0.20 −0.15 −0.10 −0.05

050

100

150

Reseaux de neurones – Le modele lineaire – p.17/58

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

Maximum de vraisemblance

Si on choisit un modèle pour les Uk, on peut procéder parmaximum de vraisemblance :

Uk ∼ N (0, σu)vraisemblance d’une observation

L(a, b, x, y) =1

σ√

2πe−

(y−ax−b)2

2σ2

vraisemblance des N observations

L(a, b, (xk), (yk)) =1

(2σuπ)N2

e−

�Nk=1(yk−axk−b)2

2σ2u

Maximiser la vraisemblance revient à maximiser lalog-vraisemblance, soit ici minimiser

∑N

k=1(yk − axk − b)2 !Bruit gaussien ⇒ MV équivalent aux moindres carrés

Reseaux de neurones – Le modele lineaire – p.18/58

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

Résumé des propriétés théoriques

On peut généraliser le modèle au cas où les xk sont desréalisations de v.a. Xk. On fait donc les hypothèsessuivantes :

X et Y sont deux v.a. telles que E(Y |X = x) = ax+ b

σ2(Y |X = x) = σ2u

les (xk, yk) sont des réalisations indépendantes de (X,Y )Dans ce cas :

les estimateurs de a et b obtenus par le critère desmoindres carrés (MC) sont sans biaisl’erreur résiduelle divisée par N − 2 est un estimateur

sans biais de σ2u

si Y − E(Y |X) ∼ N (0, σu) :les estimateurs MC sont ceux du maximum devraisemblanceon peut calculer explicitement la distribution de (a, b)

Reseaux de neurones – Le modele lineaire – p.19/58

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

Attention : robustesse des MC

5 10 15 20

010

2030

4050

donnéesmodèle réelmodèle linéaire

Moindres carrés classiques

Reseaux de neurones – Le modele lineaire – p.20/58

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

Attention : robustesse des MC

5 10 15 20

010

2030

4050

donnéesmodèle réelmodèle linéaire robuste

Moindres carrés robustes

Reseaux de neurones – Le modele lineaire – p.20/58

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

Cas général : la régression linéaire multiple

Dans le cas général, xk et yk sont des vecteurs. La méthodedes moindres carrés conduit à minimiser

E(A, b) =

N∑

k=1

∥∥Axk + b− yk∥∥2

Pour la résolution, on écrit :

Ax+ b = Cz,

avec

C = (Ab)

z =

(x

1

)

Reseaux de neurones – Le modele lineaire – p.21/58

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

Régression linéaire multiple (2)

On montre que la différentielle de E(C) s’écrit :

2N∑

k=1

((Czk − yk

)zkT)

En posant

Z = (z1z2 . . . zN )

Y = (y1y2 . . . yN )

la différentielle devient :

2(CZ − Y )ZT

Reseaux de neurones – Le modele lineaire – p.22/58

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

Régression linéaire multiple (3)

On doit donc résoudre :

ZZTCT = ZY T

Deux cas :

1. on peut calculer l’inverse de ZZT (algorithme en O(n3))

2. ZZT n’est pas inversible en pratique : on utilise une SVD(décomposition en valeurs singulières, algorithme enO(n4))

Il y a toujours une solution et on sait toujours la calculer en pra-

tique. Cette solution, C, est l’estimateur des moindres carrés

du modèle linéaire.

Reseaux de neurones – Le modele lineaire – p.23/58

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

Singular Value Decomposition

Soit une matrice A, m× n. La SVD de A est un triplet dematrices, U , D et V telles que :

D est une matrice n× n diagonale dont les termesdiagonaux (les valeurs singulières) sont positifs ou nuls etrangées par ordre décroissantU et V sont des matrices orthonorméesA = V DUT

le nombre de valeurs singulières strictement positivesdonne le rang de A

Exemple :(

1 1

2 2

)=

√5

5

(−1 −2

−2 1

)( √10 0

0 0

) √2

2

(−1 −1

−1 1

)

Reseaux de neurones – Le modele lineaire – p.24/58

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

Singular Value Decomposition (2)

Permet de définir la pseudo-inverse d’une matrice :dans D, on remplace les petites valeurs singulières (par

exemple < 10−8) par 0, ce qui donne D. Par exemple, s’ilne reste que 2 valeurs non nulles :

D =

α1 0 0 · · · 0

0 α2 0 · · · 0

0 0 0 · · · 0

... 0... 0

...

0...

... · · · 0

A ' V DUT

on définit D† comme la matrice diagonale dont les seulstermes diagnonaux non nuls sont les inverses des αi

on définit la pseudo-inverse de A par A† = V D†UT

Reseaux de neurones – Le modele lineaire – p.25/58

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

Exemple : série temporelle

0 50 100 150 200

0.5

1.0

1.5

2.0

Une série temporelle

t

x t

Reseaux de neurones – Le modele lineaire – p.26/58

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

Exemple : série temporelle

0 50 100 150 200

0.5

1.0

1.5

2.0

Une série temporelle

t

x t

donnéesmodèle linéaire

Prédiction par modèle linéaire !

Reseaux de neurones – Le modele lineaire – p.26/58

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

Exemple

0.5 1.0 1.5 2.0

0.0

0.5

1.0

1.5

2.0

Qualité de la prédiction

xt

préd

ictio

n

Reseaux de neurones – Le modele lineaire – p.27/58

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

Modélisation auto-regressive

On écrit

xt = a1xt−1 + a2xt−2 + . . . + anxt−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.

Reseaux de neurones – Le modele lineaire – p.28/58

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

Représentation graphique en “3D”

dataar model

00.5

11.5

22.5

0

0.5

1

1.5

2

2.5

-1-0.5

00.5

11.5

22.5

3

Reseaux de neurones – Le modele lineaire – p.29/58

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

Représentation graphique en “3D”

dataar model

00.5

11.5

22.5

0 0.5 1 1.5 2 2.5

-1

-0.5

0

0.5

1

1.5

2

2.5

3

Reseaux de neurones – Le modele lineaire – p.29/58

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

Données réelles

Tâches solaires

Année

nom

bre

de tâ

ches

sol

aire

s

1700 1750 1800 1850 1900 1950

050

100

150

Reseaux de neurones – Le modele lineaire – p.30/58

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

Données réelles

Tâches solaires

Année

nom

bre

de tâ

ches

sol

aire

s

1700 1750 1800 1850 1900 1950

050

100

150

donnéesmodèle ar

Reseaux de neurones – Le modele lineaire – p.30/58

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

Qualité de la prédiction

0 50 100 150

5010

015

0

donnée

préd

ictio

n

Reseaux de neurones – Le modele lineaire – p.31/58

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

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) = σ2uI (covariance)

les (xk, yk) sont des réalisations indépendantes de (X,Y )Dans ce cas :

les estimateurs de A et b obtenus par le critère desmoindres carrés (MC) sont sans biaisl’erreur résiduelle divisée par N − n− 1 est un estimateur

sans biais de σ2u

si Y − E(Y |X) ∼ N (0, σuI) :les estimateurs MC sont ceux du maximum devraisemblanceon peut calculer explicitement la distribution de (A, b)

Reseaux de neurones – Le modele lineaire – p.32/58

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

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 biaiselle correspond au maximum de vraisemblance pour une

erreur gaussienneon 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 ?

Reseaux de neurones – Le modele lineaire – p.33/58

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

Régression non linéaire

La régression linéaire est un cas particulier du modèle derégression paramétrique :

on suppose donnée une fonction F de W × Rn dans R

p

W les paramètres (numériques) du modèleon cherche w ∈W tel que F (w, xk) ' yk

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 unematrice p× n et b un vecteur de R

p

les modèles linéaires généralisés et les perceptronsmulti-couches (cf prochains cours)

Problème : comment choisir w ?

Une solution : les moindres carrés !

Reseaux de neurones – Le modele lineaire – p.34/58

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

Pourquoi les moindres carrés ?

Modélisation probabiliste : (xk, yk) réalisations d’une suite devariables aléatoires i.i.d. (Xk, Y k).Loi forte des grands nombres :

EN(w) =1

N

N∑

k=1

∥∥F (w, xk) − yk∥∥2 → E

(‖F (w,X) − Y ‖2)

p.s.

En fait, la convergence est uniforme et on a :

limN→∞

d(wN ,W ) = 0 p.s.

avec wN un minimiseur de EN(w) et W l’ensemble des minima

de E(‖F (w,X) − Y ‖2)

Reseaux de neurones – Le modele lineaire – p.35/58

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

Exemple

On prend yk = ek, un bruit gaussien de variance 1. Modèleyk = wxk. Pour w = 0, on obtient l’erreur quadratiquesuivante :

0 1000 2000 3000 4000 5000

0.9

1.0

1.1

1.2

1.3

1.4

1.5

N

EN(0

)

Reseaux de neurones – Le modele lineaire – p.36/58

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

Exemple (2)

On considère l’erreur du modèle pour w dans [−2, 2], avecentre 2 et 500 observations. Les xk sont choisis aléatoirementuniformément dans [−5, 5]. Erreur théorique : 1 + 25

3w2.

−2 −1 0 1 2

05

1015

2025

3035

w

EN(w

)

N=2N=5N=10N=15N=20N=30N=50N=100N=500théorique

Reseaux de neurones – Le modele lineaire – p.37/58

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

Exemple (3)

0 1000 2000 3000 4000 5000

02

46

810

12

N

max

w∈

[−2,

2]

EN(w

)−E

(w)

Ecarts maximaux (en valeur absolue) à l’erreur théorique

Reseaux de neurones – Le modele lineaire – p.38/58

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

Pourquoi les moindres carrés ? (2)

Par définition :

λ(w) = E(‖F (w,X) − Y ‖2) =

∫‖F (w, x) − y‖2

p(x, y)dxdy

On conditionne, i.e., on utilise p(x, y) = p(y|x)p(x). Aprèsquelques manipulations, on obtient :

λ(w) =

∫‖F (w, x) − E(Y |x)‖2

p(x)dx

+

∫ (E(‖Y ‖2|x) − ‖E(Y |x)‖2)

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).Reseaux de neurones – Le modele lineaire – p.39/58

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

Maximum de vraisemblance

On reprend le raisonnement du cas linéaire :on suppose que le modèle s’écrit Y k = F (w,Xk) + Uk

Uk est un vecteur gaussien centré de matrice decovariance σuI

la vraisemblance de N observations s’écrit alors

L(w, (xk), (yk)) =1

(2σuπ)N2

e−

�Nk=1(yk−F (w,xk))2

2σ2u

comme pour le modèle linéaire, maximiser lavraisemblance revient donc à minimiser l’erreurquadratique

Reseaux de neurones – Le modele lineaire – p.40/58

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

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’uneapproximation de E(y|x)les moindres carrés sont équivalents au maximum de

vraisemblance dans le cas d’un bruit gaussienles coefficients optimaux sont toujours calculablesle modèle est simple mais utile

A toujours utiliser comme référence avant un traitement par un

réseau de neurones plus puissant.

Reseaux de neurones – Le modele lineaire – p.41/58

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

Application à la discrimination

Il suffit de construire yk en fonction de la classe de xk

(codage disjonctif complet ) :problème à deux classes : xk ∈ C1 ⇒ yk = 1,xk ∈ C2 ⇒ yk = 0problème à q classes : yk ∈ R

q, avec xk ∈ Cj ⇔ ykq = δqj

Par exemple pour trois classes, la classe 2 correspond à(0, 1, 0).Attention ! Ne jamais utiliser un codage numérique (parexemple xk ∈ Cj ⇒ yk = j), cela induit une structureartificielle sur la fonction à modéliser.

Cas linéaire : même méthode de résolution (moindres carrés).

Reseaux de neurones – Le modele lineaire – p.42/58

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

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 telque 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.

Reseaux de neurones – Le modele lineaire – p.43/58

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

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∑

j=1

P (x ∈ Rj, Cj)

On a

P (ok) =

q∑

j=1

P (x ∈ Rj|Cj)P (Cj)

=

q∑

j=1

Rj

p(x|Cj)P (Cj)dx

Reseaux de neurones – Le modele lineaire – p.44/58

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

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}

Orp(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 alorsque la vraie classe est j. Coût total :

R =

q∑

j=1

Rj

q∑

k=1

Lkjp(x|Ck)P (Ck)dx

Application : diagnostic médical par exemple.

Reseaux de neurones – Le modele lineaire – p.45/58

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

Le cas gaussien

Distribution gaussienne en dimension quelconque (n) :

p(x) =1

(2π)n2

√|Σ|

exp− 12(x−µ)T Σ−1(x−µ)

µ est le vecteur moyenne et Σ la matrice de covariance (|Σ|est le déterminant de la matrice). On a :

E(x) = µ

E((x− µ)(x− µ)T

)= Σ

Mélange de q gaussiennes :

p(x) =

q∑

j=1

P (Cj)p(x|Cj)

Reseaux de neurones – Le modele lineaire – p.46/58

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

Exemple

Classe 0Classe 1

-4-3

-2-1

01

23

4 -3

-2

-1

0

1

2

3

4

00.020.04

0.060.08

0.10.120.140.16

2 gaussiennes

Reseaux de neurones – Le modele lineaire – p.47/58

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

Exemple (simulation)

−4 −2 0 2

−2

02

4

Données

x

y

classe 0classe 1

2 gaussiennes

Reseaux de neurones – Le modele lineaire – p.48/58

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

Exemple (simulation)

+

+

+

+

+

+

+

+

+

+

+

+

++

+

++

+

+

+

+

+

+

++

+

+

+

+

+

+

++

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+++

++

+

+

++

+

+

+

+++

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+ +

+

+

++

+

+

++

++

++

+

++

+

+

+

+

+

+

+

+

++

+

++

+

+

+

+

+

+

+

++ +

+

+

+

+

+

−4 −2 0 2

−2

02

4

Données

x

y

+

+

+

++

+

+

+ +

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+++

+

++

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

+

++

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+ +

+

+

++

+

+

+

+

+

+

+

+

+

++

+

+

+

+

+

++

+

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+ ++

+

+

+

++

+

+

++

+

+ +++

+

+

+

+

+

++

+

+

+ +

+

+

+

+

+

+

+

+

+

++

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

++

+

++

+ +

+

+

+

+

+

+

++

classe 0classe 1

2 gaussiennes

Reseaux de neurones – Le modele lineaire – p.48/58

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

Classement optimal gaussien

Maximiser p(x|Cj)P (Cj) revient à maximiserln(p(x|Cj)P (Cj)), c’est-à-dire :

dj(x) = −1

2(x− µj)

TΣ−1j (x− µj) −

1

2ln |Σj| + lnP (Cj)

Pour chaque classe on a une forme quadratique en x :frontières quadratiques.Si on a une matrice Σ unique, trouver le dj(x) maximumrevient à trouver le fj(x) maximum :

fj(x) = µTj Σ−1x− 1

2µT

j Σ−1µj + lnP (Cj)

Les fj sont linéaires : frontières linéaires.

Reseaux de neurones – Le modele lineaire – p.49/58

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

Maximum de vraisemblance

Le raisonnement appliqué à la régression n’a plus de sens :cible 1 ou 0bruit gaussien : aucun sens

Pour un problème à deux classes, on veut que F (w, xk)

approche la probabilité P (C1|xk). La vraisemblance peut alorss’écrire :

p(yk|w) =

N∏

k=1

F (w, xk)yk

(1 − F (w, xk))1−yk

On minimise l’entropie croisée (problème difficile !) :

E(w) = −N∑

k=1

(yk lnF (w, xk) + (1 − yk) ln(1 − F (w, xk))

)

Reseaux de neurones – Le modele lineaire – p.50/58

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

Fonctions discriminantes

Le modèle linéaire donne en général une mauvaise approxi-

mation de P (Cj|x), même dans le cas où il permet un classe-

ment 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).

Reseaux de neurones – Le modele lineaire – p.51/58

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

Activation non linéaire

Il est courant d’utiliser pour T une fonction croissante nonlinéaire.Exemple principal, la sigmoïde logistique :

T (x) =1

1 + e−x

Motivation : approximation de P (C1|x) pour deux classes

gaussiennes.

Inconvénient : on ne peut plus calculer les paramètres opti-

maux ⇒ optimisation de E(w) par descente de gradient.

Reseaux de neurones – Le modele lineaire – p.52/58

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

Activation non linéaire (2)

Historiquement, on a beaucoup utilisé la fonction step deHeaviside :

T (x) =

{0 quand x < 0

1 quand x ≥ 0

“Modèle” des neurones biologiques (McCulloch et Pitts,1943)perceptron (Rosenblatt, 1962), avec souvent 0 remplacé

par −1adaline (Widrow et Hoff, 1960)

Reseaux de neurones – Le modele lineaire – p.53/58

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

Discrimination linéaire

Comme la décision se fait toujours par une règle de la formeF (w, x) > α et T est croissante, la décision reste linéaire etdonc limitée.

C2 C1

C1 C2

Le plus simple problème non linéairement séparable en di-

mension 2 se généralise en dimension n, avec n+ 2 points.

Le modèle linéaire est limité, mais adapté à certains pro-

blèmes.

Reseaux de neurones – Le modele lineaire – p.54/58

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

Le perceptron

En première approche : un réseau de neurones à une couchedont les neurones utilisent la fonction de Heaviside modifiée(T (x) = −1 quand x < 0, 1 sinon).Principal problème : l’apprentissage (l’estimation desparamètres optimaux) car on souhaite minimiser le nombrede mauvais classements.Critère du perceptron pour une sortie :

E(a) = −∑

xk mal classé

yk(aTxk + b)

avec yk = 1 si xk ∈ C1 et yk = −1 si xk ∈ C2.

Reseaux de neurones – Le modele lineaire – p.55/58

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

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 équationssuivantes (avant de passer à l’exemple suivant) :

at+1 = at + ykxk

bt+1 = bt + yk

On peut montrer que l’algorithme converge si le problème est

linéairement séparable .

Reseaux de neurones – Le modele lineaire – p.56/58

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

Discrimination linéaire : résumé

Réseau à une couche avec neurones avec fonctiond’activation croissante :

permet une discrimination linéaireles moindres carrés correspondent à la recherche d’une

approximation de P (Cj|x)mais ils ne réalisent plus le maximum de vraisemblanceles coefficients optimaux sont calculables dans le cas

linéaire et dans certains cas particuliers non linéairesle modèle est optimal pour des données gaussiennes

avec une matrice de covariance communele modèle reste limité

Comme pour la régression linéaire, la discrimination linéaire

constitue un bon modèle de référence.

Reseaux de neurones – Le modele lineaire – p.57/58

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

Points généraux importants

Certains éléments abordés jusqu’à présent ne sont passpécifiques aux réseaux à une couche :

les moindres carrés correspondent à une estimationasymptotiquement correcte de E(Y |x) (P (Cj|x) endiscrimination)pour la régression, les moindres carrés peuvent

correspondre au maximum de vraisemblance (pas pour laclassification)la discrimination optimale est obtenue en cherchant la

classe la plus probable a posteriorila valeur de E(w) (ou le nombre d’erreurs de classement)

ne suffit pas pour choisir le modèle optimal, sauf quand ona “beaucoup” de données

Reseaux de neurones – Le modele lineaire – p.58/58