Machine learning Systèmes à apprentissage Introduction aux

publicité
Machine learning
Systèmes à apprentissage
Plan du cours
· Introduction aux systèmes à apprentissage
- Motivations
- Qu’est-ce que l’apprentissage ?
- Induction et causalité
- Apprentissage et recherche d ’une fonction
- Différents types d ’apprentissage
· Apprentissage supervisé
- Régression
- Classification
· Apprentissage non supervisé : clustering
- Clustering
- Analyse en composantes principales
· Apprentissage par renforcement
Introduction aux systèmes à apprentissage
Motivations
• Il est souvent difficile d’expliciter les connaissances nécessaires à
l’élaboration automatique d’une certaine tâche → difficile de construire
un système autonome permettant d’accomplir une tâche donnée ou de
résoudre un problème donné.
• Souvent, on ne sait même pas comment résoudre un problème donné (ou
accomplir une tâche donnée)
• Solution: construire des systèmes (machines) dotés de la faculté
d’apprendre → Systèmes à apprentissage (Machine learning)
1
Introduction aux systèmes à apprentissage
Qu’est-ce que l’apprentissage ?
• Mémoriser quelque chose
• Apprendre des faits au travers d’observations et d’explorations
• Amélioration sensori-motrice et/ou amélioration de ses connaissances
par la pratique
• Organiser de nouvelles connaissances en un tout cohérent
Définition. Un système est capable d’apprentissage s’il est doté d’un
mécanisme d’adaptation permettant d’améliorer l’accomplissement d’une
certaine tâche par répétition de celle-ci.
Introduction aux systèmes à apprentissage
Qu’est-ce que l’apprentissage ?
Définition. Un système est capable d’apprentissage s’il est doté d’un
mécanisme d’adaptation permettant d’améliorer l’accomplissement d’une
certaine tâche par répétition de celle-ci.
Entrées (capteurs)
Sorties (Actionneurs)
Système
Mécanisme
d’adaptation
Mesure de performance vis à vis
de la tâche à accomplir
2
Introduction aux systèmes à apprentissage
Qu’est-ce que l’apprentissage ? - Induction et causalité
Un type d’apprentissage très courant est l’acquisition d’informations dans
le but de faire des prédictions concernant le futur (prévisions).
Principe de sens commun. La répétition d’un même événement dans des
circonstances identiques, nous conforte dans l’idée que cet événement se
reproduira lorsque ces mêmes circonstances seront réalisées.
Chaque fois que l’on a constaté une hausse de la pression atmosphérique, cela
s’est accompagné du beau temps.
Conclusion : la prochaine fois que je constaterai une hausse de pression
atmosphérique je pourrai conclure à l’apparition du beau temps.
On retrouve cette idée que l’on apprend quelque chose de la répétition.
⇒ Croyance en la régularité des phénomènes : les mêmes causes
produisent les mêmes effets
Introduction aux systèmes à apprentissage
Apprentissage et recherche d ’une fonction
Etant donné un ensemble d’exemples entrée/sortie, trouver une fonction
permettant de représenter au mieux la relation entrée/sortie.
- Prononciation : fonction liant les lettres aux sons.
- Lecture de caractères manuscrits : fonction liant un ensemble de pixels
aux lettres.
- Diagnostic : fonction liant les symptômes aux causes
Le problème de l’apprentissage d’une fonction implique 3 aspects :
- La mémorisation (base d ’apprentissage).
- La moyennisation (recherche des régularités).
- La généralisation (capacité à fournir la bonne réponse pour de nouveaux
exemples).
3
Introduction aux systèmes à apprentissage
Différents types d ’apprentissage
Apprentissage supervisé (Supervised learning). Etant donné un ensemble
d’exemples entrée/sortie, trouver une règle (une loi) permettant de prédire
la sortie associée à une nouvelle entrée.
- Régression
- Classification
Apprentissage non supervisé (Unsupervised learning). Etant donné un
ensemble d ’exemples non étiquetés (on ne connaît pas la sortie), grouper ces
exemples par paquets (clusters) « cohérents ».
- Clustering
Apprentissage par renforcement (reinforcement learning). Le système
interagit avec son environnement en exécutant des actions à partir
d ’observations. En fonction des actions réalisées, le système est puni ou
récompensé; il doit apprendre à choisir les actions permettant de récolter le
plus grand nombre de récompenses.
Apprentissage supervisé - Régression
Sommaire
· Position du problème
· Régression au sens des moindres carrés
- Algorithme LMS (méthode en ligne )
- Formule des moindres carrés simples
- Interprétation probabiliste
· Le problème du surajustement → régularisation
- Interprétation probabiliste de la régularisation
· Quelques autres méthodes
- Régression L1
- Régression par noyau (kernel regression)
- Régression linéaire localement pondérée
4
Apprentissage supervisé - Régression
Position du problème
Etant donné un ensemble d’exemples entrée/sortie :
xi ∈ R n : xiT = [ xi ,1
xi , 2
xi ,n ],
( xi , yi ) i =1,…, N
yi ∈ R , i = 1,… , N
on souhaite prédire yN+1 pour la nouvelle donnée xN+1 :
yˆ N +1 = f ( x N +1 , w)
Avec f ( . , w) : Fonction de régression à choisir et à paramétrer (calcul de w).
Apprentissage supervisé - Régression
Régression linéaire (par rapport aux données et aux paramètres)
On souhaite estimer yn+1 à l’aide d’une fonction linéaire des données :
yˆ N +1 = f ( x N +1 , w) = w0 + w1 x N +1,1 +
x N +1 = [1 x N +1,1
T
+ wn x N +1,n = x N +1w
T
x N +1,n ], w = [w0
T
x N +1, 2
w1
wn ]
w2
Pb : Calculer le vecteur des paramètres w permettant de réaliser au
mieux l’estimation.
Régression linéaire
80
y
60
60
40
40
20
y
20
0
0
-20
-20
-40
0
1
2
3
4
5
x
6
Régression linéaire
80
7
8
9
-40
0
1
2
3
4
5
6
7
8
9
x
5
Apprentissage supervisé - Régression
Régression linéaire optimale au sens des moindres carrés
Régression linéaire
80
Obs y
Erreur (résidu)
60
y − yˆ
40
Coût à minimiser :
T
yˆ = x w
20
J ( w) =
0
1 N
( yi − xiT w) 2
∑
2 i =1
-20
-40
0
1
2
3
4
5
6
7
8
9
x
Apprentissage supervisé - Régression
Méthode temps réel - Algorithme LMS
J ( w) =
N
1 N
2
T
(
y
−
x
w
)
=
J i (W )
∑ i i
∑
2 i =1
i =1
Méthode du gradient
⎛ ∂
⎞
w k +1 = w k − α ⎜
J ( w) ⎟
⎝ ∂w
⎠ w= wk
N
∂
∂
J ( w) = ∑
J i ( w) et
∂w
i =1 ∂w
∂
1 ∂
J i ( w) =
( yi − xiT w) 2
∂w
2 ∂w
= −( yi − xi w) xi
T
Algorithme LMS
w
k +1
= w + α ( y k − xk w ) xk
k
T
k
6
Apprentissage supervisé - Régression
Méthode des moindres carrés simple
1 N
T
2
( yi − xi w)
∑
2 i =1
1
1
2
T
= y − Xw 2 = ( y − Xw) ( y − Xw)
2
2
1
= ( y T y − 2 y T Xw + wT X T Xw)
2
J ( w) =
∂
J ( w) = − X T y + X T Xw → w = ( X T X ) −1 X T y
∂w
⎡ x1T ⎤
⎢ T⎥
x
N ×n
X ∈ R : X = ⎢ 2 ⎥,
⎢ ⎥
⎢ T⎥
⎣⎢ x N ⎦⎥
⎡ y1 ⎤
⎢y ⎥
N
y∈R : y = ⎢ 2 ⎥
⎢ ⎥
⎢ ⎥
⎣ yN ⎦
Apprentissage supervisé - Régression
Régression non linéaire par rapport aux données - Exemple
polynome de gré :2
80
T
2
yˆ i = w0 + w1 xi + w2 xi = X i w
⎡ w0 ⎤
⎡1⎤
⎥
⎢
X i = ⎢ xi ⎥, w = ⎢⎢ w1 ⎥⎥
⎢⎣ w2 ⎥⎦
⎢⎣ xi2 ⎥⎦
60
40
20
y
0
Remarque : La fonction de
régression demeure linéaire par
rapport aux paramètres.
-20
-40
0
1
2
3
4
5
6
7
8
9
x
7
Apprentissage supervisé - Régression
Régression non linéaire par rapport aux données
Etant donné un ensemble d’exemples entrée/sortie :
xi ∈ R n : xiT = [ xi ,1
xi , 2
xi ,n ],
Soit : X i = [1
f1 ( xi )
T
[
yi ∈ R , i = 1,… , N
f d ( xi )]
f 2 ( xi )
Par exemple : X = 1 xi ,1
T
i
( xi , yi ) i =1,…, N
xi , 2
2
i ,1
2
x
xi , 2
xi ,1 xi , 2
]
⎡ X 1T ⎤
⎡ y1 ⎤
⎢ T⎥
⎢y ⎥
X
Soit : X ∈ R N ×d : X = ⎢ 2 ⎥, y ∈ R N : y = ⎢ 2 ⎥
⎢ ⎥
⎢ ⎥
⎢ T⎥
⎢ ⎥
⎢⎣ X N ⎥⎦
⎣ yN ⎦
2
Le vecteur paramètre qui minimise y − Xw 2 , s'écrit : w = ( X T X ) −1 X T y
T
Prédiction : yˆ N +1 = X N +1w
Apprentissage supervisé - Régression
Interprétation probabiliste des MCS
y
Vraisembla nce
⎛ 1
⎞
L( w) = ∏ exp⎜ −
( y − X iT w) 2 ⎟
2
2
σ
⎝
⎠
i =1
T
yˆ = X i w
N
⎛ 1
= exp⎜ −
2
⎝ 2σ
y xi ~ N ( X i w, σ )
T
N ( X i w, σ ) =
T
0
0
2
2
N
∑(y − X
i =1
T
i
2⎞
w) ⎟
⎠
⎛ ( y − X iT w) 2 ⎞
1
⎟
exp⎜⎜ −
⎟
2σ 2
2π σ
⎝
⎠
xi
Recherche de w au sens du maximum de vraisemblance = recherche de
w au sens des moindres carrés :
wopt = arg max L ( w) = arg min J ( w)
w
w
8
Apprentissage supervisé - Régression
Le problème du sur-ajustement : régularisation
polynome de gré :10
100
50
0
y
-50
-100
-150
0
1
2
3
4
5
6
7
8
9
x
Le problème du sur-ajustement (sur-apprentissage) ne permet pas de généraliser
Apprentissage supervisé - Régression
Le problème du sur-ajustement : régularisation
polynome de gré :10 a ve c ré gula ris a tion
80
60
Minimiser :
40
1
2
2
y − Xw 2 + ε w 2
2
Avec ε petit, la solution s ’écrit :
y 20
−1
w = (X X + εI) X y
T
0
T
-20
-40
0
1
2
3
4
5
6
7
8
9
x
9
Apprentissage supervisé - Régression
Interprétation probabiliste de la régularisation
vraisemblance :
y xi ~ N ( X w, σ ) =
T
i
Information a priori :
2
⎛ ( y − X iT w) 2 ⎞
1
⎟
exp⎜⎜ −
2
⎟
2
σ
2π σ
⎝
⎠
⎛ εw 2 ⎞
σ2
1
⎟
w ~ N (0,
)=
exp⎜⎜ −
2 ⎟
ε
2π σ
⎝ 2σ ⎠
On veut maximiser l ’information a posteriori :
p ( w x1 ,… , xn ) =
p ( w, x1 ,… , xn )
p ( x1 ,… , xn )
∝ p ( w, x1 ,… , xn )
⎛ ε
p ( w, x1 ,… , x N ) = exp⎜ −
⎝ 2σ
⎡ 2
= exp ⎢−
⎣ 2σ
N
2⎞
⎛ ε
⎞
w 2 ⎟∏ exp⎜ −
( y − X T w) 2 ⎟
⎠ i =1
⎝ 2σ
⎠
N
⎛ ε
⎞⎤
2
w 2 + ∑ ( y − X T w) 2 ⎟⎥
⎜−
i =1
⎝ 2σ
⎠⎦
Apprentissage supervisé - Régression
Sensibilité des MCS - Robustesse
N
J ( w) = ∑ ( yi − X w)
i =1
T
i
Ji
2
N
= ∑ Ji
i =1
T
i
yi
X w
∂J i
∂yi
Sensibilité par rapport aux yi
yi
T
i
X w
10
Apprentissage supervisé - Régression
Régression L1 - Moindres valeurs absolues (MVA)
Ji
N
J ' ( w) = ∑ yi − X i w
'
Ji
T
i =1
N
= ∑ J 'i
yi
T
i =1
Xi w
Résolution d’un problème d’optimisation
linéaire (programmation linéaire)
Sensibilité par rapport aux yi
N
⎧
min
⎪w, c =[ c1 c N ] ∑ ci
i =1
⎪
⎨
T
⎪ yi − X i w ≤ ci i = 1,… , N
⎪⎩ X iT w − yi ≤ ci i = 1,… , N
∂J i
∂yi
'
yi
T
i
X w
Apprentissage supervisé - Régression
Régression L1 - Moindres valeurs absolues (MVA)
30
30
y
y
MVA
MVA
25
25
20
20
15
MCS
15
MCS
10
10
5
5
0
0
x
0
1
2
3
4
5
6
7
8
9
-5
x
0
1
2
3
4
5
6
7
8
9
11
Apprentissage supervisé - Régression
Régression par noyau (Kernel regression)
Méthode de régression non paramétrique : nécessite de disposer
en permanence de la base de données
S igma 2 =1
30
y
25
N
20
yˆ ( x ) =
15
10
∑ y k(x − x )
i =1
N
i
i
∑ k(x − x )
i
i =1
5
0
x
0
1
2
3
4
5
6
7
8
k ( x − xi ) = e
9
⎛ ( x − xi ) 2
⎜−
⎜
2σ 2
⎝
⎞
⎟
⎟
⎠
Apprentissage supervisé - Régression
Régression par noyau (Kernel regression)
S igma 2 =0.01
30
y
25
20
15
10
5
0
x
0
1
2
3
4
5
6
7
8
9
12
Apprentissage supervisé - Régression
Régression linéaire localement pondérée (Locally weighted linear regression (LWR))
Méthode de régression non paramétrique : nécessite de disposer
en permanence de la base de données
S igma 2 =1
30
y
Pour un point donné
x on minimise le critère :
25
N
J ( w, x) = ∑ k ( x − xi )( yi − X i w)
20
T
i =1
15
10
wopt ( x ) = arg min J ( w, x )
5
w
0
x
0
1
2
3
4
5
6
7
8
9
k ( x − xi ) = e
⎛ ( x − xi ) 2
⎜−
⎜
2σ 2
⎝
yˆ ( x) = X T wopt ( x )
⎞
⎟
⎟
⎠
Apprentissage supervisé - Régression
Régression linéaire localement pondérée (Locally weighted linear regression (LWR))
S igma 2 =0.02
30
y
25
20
15
10
5
x
0
0
1
2
3
4
5
6
7
8
9
13
Apprentissage supervisé - Classification
Sommaire
· Position du problème
· Classification probabiliste
- Exemple introductif : le sélecteur aléatoire
- Classification bayesienne optimale
- Notion de rejet en classification
- Paramétrage du classifieur : le cas gaussien
· Classification neuronale
· Classification floue
Apprentissage supervisé - Classification
Position du problème
Soit un ensemble de données réparties en k classes :
xi ∈ R n : xiT = [ xi ,1
xi , 2
xi ,n ],
( xi , yi ) i =1,…, N
yi ∈ {1, 2,… , k }, i = 1,… , N
on souhaite pouvoir associer une nouvelle donnée xN+1 à l’une des classes.
C’est un problème de décision : à quelle classe de données, la nouvelle
donnée « ressemble » le plus ?
Différence avec la régression : les « sorties » sont ici discrètes, à chaque
valeur discrète correspond une classe.
Base de données
C1
C2
Nouvelles données
Méthodes
∈ C1
Approche probabiliste
∈ C2
Approche neuronale
∈ ?
Approche floue
14
Apprentissage supervisé - Classification
Approche probabiliste - Exemple introductif : le sélecteur aléatoire
s1
s2
sm
s3
On considère m sources de variables aléatoires
dont on connaît les lois de densité de probabilité.
Sélecteur
aléatoire
On note p(x/Si) la loi de densité de probabilité de la va
délivrée par la source Si
x
Le sélecteur aléatoire permet de sélectionner
l’une des sources au gré du hasard
Lorsqu’une source est sélectionnée, on réalise une observation x(t) .
Problème : déterminer à partir de l’observation x(t) la source sélectionnée
Sélection équiprobable des sources
Deux cas :
Sélection non équiprobable des sources
Apprentissage supervisé - Classification
Approche probabiliste - Exemple introductif : le sélecteur aléatoire
Sélection équiprobable des sources
La source sélectionnée correspond au plus grand des
p(x/Si ). La source Si sélectionnée est telle que :
Densité de probabilité
s1
s2
sm
s3
p(x/s2)
p ( x / si ) = Max p ( x / sj )
j =1…m
Soit P(Si/x) la probabilité pour que la source Si soit
sélectionnée, l’observation x étant réalisée, on a :
x
p(x/s3)
m
m
∑ P( si / x) = 1 =
i =1
p(x/s1)
Une observation de
x
i
i =1
m
∑ p( x / s )
j =1
p(x/sm)
x
∑ p( x / s )
On a donc :
m
=∑
i =1
j
P( si / x) =
p( x / si )
m
∑ p( x / s )
j
j =1
p ( x / si )
m
∑ p( x / s )
j =1
j
Cette relation permet de calculer la probabilité pour que la source Si soit sélectionnée
l’observation x étant réalisée. La source sélectionnée correspond à la plus grande des probabilités
15
Apprentissage supervisé - Classification
Approche probabiliste - Exemple introductif : le sélecteur aléatoire
Sélection non équiprobable des sources
Considérons deux sources S1 et S2 avec S1 ayant deux fois
plus de chance d’être sélectionnée que S2.
Densité de probabilité
s1
s2
p(x/s1)
⇔ Trois sources équiprobables dont deux identiques à S1
La source S1 a 2 chances sur 3 d’être sélectionnée ⎧ P( s1 ) = 2 3
→⎨
La source S2 a 1 chance sur 3 d’être sélectionnée
⎩ P ( s2 ) = 1 3
P(s1)=2/3
P(S1) et P(S2) sont les probabilités a priori
x
d’occurrence des sources.
p(x/s2)
Une mesure x étant réalisée, la source sélectionnée correspond au
plus grand des deux nombres : P(S1)p(x/ S1) à P(S2)p(x/ S2).
P(s1)=1/3
Pour m sources, on a alors la règle de décision suivante :
x
Une observation de
P ( si ) p ( x / si ) = Max P ( s j ) p ( x / sj )
j =1…m
x
La probabilité d’occurrence de la source Si l’observation x étant réalisée s’écrit alors :
P ( si / x ) =
P ( si ) p ( x / si )
C’est la formule de Bayes. Elle permet de calculer les
probabilités a posteriori d’occurrence des sources, c’est à
dire une fois l’observation réalisée.
m
∑ P( s j ) p( x / s j )
j =1
Apprentissage supervisé - Classification
Approche probabiliste - Classification bayesienne optimale
L’exemple du sélecteur aléatoire n’est autre qu’un problème de classification.
Soit x(t) le vecteur des observations et considérons m classes C1, C2, … , Cm.
Soit p(r/Ci ) la loi de densité de probabilité de la variable x correspondant à la classe Ci.
Soit P(Ci ) la probabilité a priori d’occurrence de la classe Ci .
La probabilité d’occurrence de la classe Ci une observation r étant réalisée
(probabilité a posteriori) s ’écrit :
P(Ci / x) =
P(Ci ) p( x / Ci )
m
∑ P(C ) p( x / C )
j =1
j
, i = 1… m
j
L ’observation r est alors affectée à la classe Ci fournissant la plus grande probabilité a posteriori :
x(t ) ∈ Ci : P (Ci / x) = Max P (C j / x)
j =1…m
La probabilité d’une mauvaise classification s’écrit :
1 − Max P (Cj / x )
j =1…m
Elle est minimale, cette approche est donc optimale au sens d’une erreur de classification minimale
16
Apprentissage supervisé - Classification
Notion de rejet en classification
On distingue deux types de rejet : le rejet d’ambiguïté et le rejet en distance.
Le rejet d'ambiguïté se produit lorsqu’une observation se trouve sur la frontière
séparant plusieurs classes ou un domaine commun à celles-ci.
Classe : C1
x
Classe : C2
Décider dans ces conditions de l’appartenance de l’observation à l’une des classes plutôt
qu’à l’autre constitue un risque d’erreur important. Soit Ra le seuil de rejet par
ambiguïté, la règle de rejet s’écrit :
Si
eclass = 1 − Max P (C j / x ) > Ra
j =1…l
alors l’observation est rejetée par ambiguïté
Apprentissage supervisé - Classification
Notion de rejet en classification
Le rejet en distance se produit lorsqu’une observation se trouve dans une zone
éloignée de toutes les classes connues.
x
Classe : C1
Classe : C2
Cette situation peut signifier la nécessité de prendre en compte une nouvelle classe
pour laquelle on ne dispose d’aucune information dans la base d’apprentissage. Soit Rd le
seuil de rejet en distance, la règle de rejet s’écrit :
Si
Max P (Cj / x ) < Rd
j =1…l
alors l’observation est rejetée en distance
17
Apprentissage supervisé - Classification
Approche probabiliste - Paramétrage des classes : le cas gaussien
Dans les applications réelles, les lois de densité de probabilité des classes ne sont pas connues.
En pratique, l’hypothèse gaussienne est souvent adoptée. Chaque classe est modélisée par une
loi de densité de probabilité gaussienne de dimension q (dimension de x) :
p ( x / Ci ) =
⎛ 1
⎞
exp⎜ − ( x − mi )T Σ i−1 ( x − mi ) ⎟
2
⎝
⎠
(2π ) det (Σ i )
1
q
avec mi la moyenne de la classe Ci et Σi sa matrice de variance covariance. Ces deux
paramètres peuvent êtres calculés à l’aide des estimateurs suivants :
mˆ i =
1
Ni
Ni
∑x ,
j =1
j
1
Σˆ i =
Ni
Ni
∑ (x
j =1
j
− mi )( x j − mi )
T
Les probabilités a priori, d’occurrences des classes P(Ci), sont estimées à l’aide de la relation :
Pˆi =
Ni
l
∑N
j =1
j
où Ni représente l’effectif de la classe Ci etl le nombre de classes connues.
Apprentissage supervisé - Classification
Approche neuronale
1
w12,1
1
w10,1
w11,1
w
Σ
ξ11
f1
y11=f(ξ11)
w1n,1
2
1
w20,1
1,1
w22,1
Σ
w30,1
w31,1
ξ 21
w32,1
f2
y2 1
w2n,1
Σ
Neurone N°1
Neurone N°1
1
+1
w10,2
y31=f(ξ31)
-1
Neurone N°1
1
1
w20,2
w11,2
ξ31
w3n,1
w0,2
w21,2
w31,2
u1
w12,2
u2
Σ
ξ12
f1
y12=f(ξ12)
w1n,2
w22,2
Σ
f2
y22
w2n,2
un
Σ
w22,m
w1n,m
f1
y1m=f(ξ1m)
+1
y32=f(ξ32)
-1
Neurone N°2
w0,m
w31,m
Σ
ξ2m
w2n,m
Neurone N°m
ξ32
1
w0,m
w21,m
ξ1m
Σ
Neurone N°2
1
w10,m
w11,m
w32,2
w3n,2
Neurone N°2
1
w12,m
ξ 22
w32,m
f2
y2m=f(ξ2m)
Σ
+1
y3m=f(ξ3m)
-1
w3n,m
Neurone N°m
Neurone N°m
18
Apprentissage supervisé - Classification
Approche floue
(
(
) (
) (
)
)
~1
~2
1
2
Si x est A1 et x est A1 Alors la classe est C1
~1
~2
1
2
Si x est A 2 et x est A 2 Alors la classe est C2
x1
x
µ11 ( x 1 ,θ 11 )
2
µ12 ( x 2 ,θ 12 )
Π
α1
+
f1(x,θ1)
max
µ 21 ( x 1 ,θ 12 )
µ ( x ,θ )
2
2
2
2
2
Π
α2
α max
f2(x,θ2)
-1
-
-
C1
+1
C2
+1
+
-1
+
Fonction
d’adaptation
C 1d
+
C2d
Apprentissage non supervisé
Sommaire
· Position du problème
· Analyse en composantes principales
- Motivations
- Principe de l’ACP
- Définition des composantes principales
- Calcul de la 1ère composante principale
- Calcul de la 2ème composante principale
- Méthode générale
- Exemple
· Clustering (ou techniques de regroupement)
- Qu’est-ce que le clustering
- Applications
- Mesure de dissimilarité (similarité d’objets)
- Méthode des K-moyennes (K-means)
- Fuzzy k-means et algorithme de Gustafson-Kessel
19
Apprentissage non supervisé
Position du problème
• Rappelons que dans le cadre de la classification et de la régression, on
dispose d ’un ensemble de couples entrée/sortie (xi, yi )i=1,…,N. L’objectif est
de prédire la sortie yN+1 associée à une nouvelle donnée xN+1. Ces méthodes
sont dites à apprentissage supervisé (on connaît la réponse pour chaque
entrée).
• Dans le cas des méthodes non supervisées, on dispose uniquement de
données non étiquetées (xi )i=1,…,N (on ne connaît pas la réponse).
• Pb : que peut-on apprendre de données non étiquetées (unlabelled data) ?
Apprentissage non supervisé
Position du problème
• Généralement il est facile de collecter des données brutes, mais les
étiquetées peut être une tâche d ’ampleur insurmontable.
• Les données peuvent être de grande dimension ( xi ∈ R1000 ), il est alors
intéressant de rechercher une représentation de faible dimension permettant
de décrire les données initiales sans trop de perte d’information.
• Pour tout traitement ultérieur, il est toujours utile de connaître comment
sont structurées les données.
Les méthodes d’apprentissage non supervisé permettent de répondre à ces
types de problème :
-Analyse en composantes principales
-Clustering
20
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Motivations
L’analyse en composantes principales (ACP) permet de réduire la
dimension des données initiales en minimisant la perte d ’information.
Le principe est de rechercher un nouvel ensemble de données de plus
faible dimension qui conserve au mieux l’information contenue dans les
données initiales (élimination des composantes fortement corrélées).
Par information, on entend le degré de corrélation entre les
composantes des données. Deux composantes seront dites très
informatives si elles sont non corrélées.
L ’analyse en composantes principales est une transformation linéaire
permettant de ne retenir que les composantes non corrélées. Celles-ci
sont appelées les composantes principales.
L’ACP peut être vue comme une rotation d ’axes telle que les données
projetées sur les nouveaux axes soient de variance maximale. Le nouveau
système d’axes est orthogonal.
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Motivations
Caractéristiques de 24 modèles de voiture (Source : L’argus de l’automobile, 2004)
Modèle
Citroën C2 1.1 Base
Smart Fortwo Coupé
Mini 1.6 170
Nissan Micra 1.2 65
Renault Clio 3.0 V6
Audi A3 1.9 TDI
Peugeot 307 1.4 HDI 70
Peugeot 407 3.0 V6 BVA
Mercedes Classe C 270 CDI
BMW 530d
Jaguar S-Type 2.7 V6 Bi-Turbo
BMW 745i
Mercedes Classe S 400 CDI
Citroën C3 Pluriel 1.6i
BMW Z4 2.5i
Audi TT 1.8T 180
Aston Martin Vanquish
Bentley Continental GT
Ferrari Enzo
Renault Scenic 1.9 dCi 120
Volkswagen Touran 1.9 TDI 105
Land Rover Defender Td5
Land Rover Discovery Td5
Nissan X-Trail 2.2 dCi
Cylindrée Puissance Vitesse
(ch)
(km/h)
(cm3)
1124
61
158
698
52
135
1598
170
218
1240
65
154
2946
255
245
1896
105
187
1398
70
160
2946
211
229
2685
170
230
2993
218
245
2720
207
230
4398
333
250
3966
260
250
1587
110
185
2494
192
235
1781
180
228
5935
460
306
5998
560
318
5998
660
350
1870
120
188
1896
105
180
2495
122
135
2495
138
157
2184
136
180
Poids
(kg)
932
730
1215
965
1400
1295
1179
1640
1600
1595
1722
1870
1915
1177
1260
1280
1835
2385
1365
1430
1498
1695
2175
1520
Largeur Longueur
(mm)
(mm)
1659
3666
1515
2500
1690
3625
1660
3715
1810
3812
1765
4203
1746
4202
1811
4676
1728
4528
1846
4841
1818
4905
1902
5029
2092
5038
1700
3934
1781
4091
1764
4041
1923
4665
1918
4804
2650
4700
1805
4259
1794
4391
1790
3883
2190
4705
1765
4455
Xi = [cylindrée puissance vitesse poids largeur longueur]T, i=1,…,24
21
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Principe de l ’ACP
Chaque visage est représenté par un vecteur de grande dimension x ∈ R 361
Comment choisir U ?
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Principe de l ’ACP
Les données sont des vecteurs d ’un espace
multidimensionnel. Dans la suite on suppose
les données centrées réduites.
X = [X 1
X = [ xi ,1
T
i
X N ],
xi ,n ], i = 1,… , N
Objectif : projeter les données (les Xi)
suivant des axes permettant de maximiser
la variance des données.
Echantillon de N observations dans
un espace de dimension 2.
22
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Principe de l ’ACP
La projection d ’un vecteur Xi sur un axe
uk s ’écrit :
proj( X i , uk ) = ukT X i
u2
La direction de plus grande variance est
telle que E ((u1T X i ) 2 ) est maximale sur tout
les Xi . La direction u1 est la première
composante principale.
u1
E ((u1 X i ) ) =
T
2
1
N
N
∑ (u
T
1
i =1
⎛1
= u1T ⎜
⎝N
Xi) =
2
N
∑X X
i =1
i
T
i
1
N
N
∑u
i =1
T
1
T
X i X i u1
⎞
T
⎟u1 = u1 C XX u1
⎠
Cxx est la matrice de variance covariance
des données (les Xi).
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Définition des composantes principales
Etant donné un ensemble de N observations d’un vecteur de dimension n
X = [X 1
X N ],
X i = [ xi ,1
xi ,n ], i = 1,… , N
T
On définit la première composante principale des N données, par la
transformation linéaire
z1 = u1T X , z1T = [z1,1
[
z1, N ], z1,i = u1T X i = ∑ u1, j xi , j
n
j =1
]
Où le vecteur u1T = u1,1 u1, 2 u1,n est choisi de sorte que E ((u1T X i ) 2 ) soit maximum
T
sur tout les Xi, et que u1 soit unitaire : u1 u1 = 1
u1 = arg max u C XX u ⇔ u1 = arg min − u C XX u
T
T
u =1
u =1
⎛1
C XX = ⎜
⎝N
N
∑X X
i =1
i
T
i
⎞
⎟
⎠
23
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Définition des composantes principales
De la même façon on définit la kième composante principale des N données, par la
transformation linéaire :
z k = uk X , z k = [z k ,1
T
T
[
z k , N ], z k ,i = u k X i = ∑ u k , j xi , j , k = 1,… , n
n
T
j =1
]
Où le vecteur u kT = u k ,1 u k , 2 u k , n est choisi de sorte que E ((u kT X i ) 2 ) soit maximum
T
sur tout les Xi, sous les contraintes : u kT u k = 1 et u k ul = 0, k > l ≥ 1
⎧uk = arg max u T C XX u
⎧uk = arg min − u T C XX u
⎪
⎪
u =1
u =1
⇔
⎨
⎨
T
T
⎪⎩uk ul = 0, k > l ≥ 1
⎪⎩uk ul = 0, k > l ≥ 1
⎛1
C XX = ⎜
⎝N
N
∑X X
i =1
i
T
i
⎞
⎟
⎠
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Calcul de la 1ère composante principale
⎧max u1T C XX u1
⎧min − u1T C XX u1
⎪ u1
⎪
T
T
⇔ ⎨ u1
⇔ min J (u1 ), J (u1 ) = −u1 C XX u1 + λ (u1 u1 − 1)
⎨
u
1
⎪⎩u1T u1 = 1
⎪⎩u1T u1 = 1
∂
J (u1 ) = −2C XX u1 + 2λu1 = 0 → (C XX − λI ) u1 = 0
∂u1
u1 est le vecteur propre de Cxx associé à la valeur propre λ=λ1
On a maximisé : u1T C XX u1 = u1T λ1u1 = λ1
Par conséquent, λ1 est la plus grande valeur propre de Cxx
λ1 représente la variance des données projetées sur u1.
24
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Calcul de la 2ème composante principale
⎧max u 2T C XX u 2
⎧min − u2T C XX u 2
⎪ u2
⎪
⇔ ⎨ u2
⎨
T
T
⎪⎩u2 u 2 = 1, u2 u1 = 0
⎪⎩u 2T u 2 = 1, u 2T u1 = 0
⎧⎪min J (u 2 )
⇔ ⎨ u2
, J (u2 ) = −u2T C XX u 2 + λ (u2T u 2 − 1)
T
⎪⎩u2 u1 = 0
∂
J (u2 ) = −2C XX u 2 + 2λu2 = 0 → (C XX − λI ) u 2 = 0
∂u 2
u2 est le vecteur propre de Cxx associé à la valeur propre λ=λ2.
(Notons que la contrainte u2Tu1=0 est satisfaite puisque u1 et u2 sont des vecteurs propres)
On a maximisé : u 2 C XX u 2 = u 2 λ2u 2 = λ2 ,
T
T
(λ2 ≠ λ1 )
Par conséquent, λ2 est la deuxième plus grande valeur propre de Cxx.
λ2 représente la variance des données projetées sur u2.
D ’une manière générale, la kème composante principale correspond au kème vecteur
propre de Cxx associé à la kème plus grande valeur propre de Cxx.
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Méthode générale
Etant donné un ensemble de N observations d’un vecteur V de dimension n
V1 , V2 ,…VN
Vi = [vi ,1
T
vi ,n ], i = 1,… , N
1. Construire la matrice X des données normalisées
X = [X 1
xi ,1 =
X N ],
vi ,1 − m1
σ1
1 N
⎧
⎪m1 = N ∑ xi ,1
⎪
i =1
,
⎨
N
1
2
⎪σ =
( xi ,1 − m1 )
⎪⎩ 1 N − 1 ∑
i =1
, xi , 2 =
X i = [ xi ,1
T
vi , 2 − m2
σ2
xi ,n ], i = 1,… , N
,… , xi ,n =
vi ,n − mn
σn
1 N
1 N
⎧
⎧
⎪mn = N ∑ xi ,n
⎪m2 = N ∑ xi , 2
⎪
⎪
i =1
i =1
,… , ⎨
⎨
N
N
1
1
2
2
⎪σ =
⎪σ =
( xi , 2 − m2 )
( xi ,n − mn )
∑
∑
2
n
⎪
⎪⎩
N − 1 i =1
N − 1 i =1
⎩
25
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Méthode générale
Etant donné la matrice X des données normalisées
X = [X 1
X N ],
X iT = [ xi ,1
xi ,n ], i = 1,… , N
2. Calculer la matrice de variance covariance Cxx de X :
C XX =
1
⎛ 1 N
⎞
XX T = ⎜
X i X iT ⎟
∑
N −1
⎝ N − 1 i =1
⎠
3. Calculer les valeurs propres de Cxx : λ1> λ2>... λn-1> λn.
4. Calculer les vecteurs propres associés aux valeurs propres λ1 à λn : u1, u2,…, un
et construire la matrice :
⎡u1T ⎤
⎢ ⎥
T
U = ⎢ ⎥, ui = [ui ,1
⎢u nT ⎥
⎣ ⎦
ui ,n ], i = 1,… , n
Notons que U n ’est autre qu’une matrice de changement de base
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Méthode générale
3. Réduction de la dimension des données. Construire la matrice Ur correspondant
aux r vecteurs propres associés aux r plus grandes valeurs propres de Cxx : λ1>... λk.
⎡u1T ⎤
⎢ ⎥
T
U r = ⎢ ⎥, ui = [ui ,1
⎢u rT ⎥
⎣ ⎦
ui ,n ], i = 1,… , r
5. Calculer le nouveau jeu de données (dimension réduites) :
Z = [z1
z2
z N ] = U r X , zi = [ zi ,1
T
zi ,r ] ∈ R , i = 1,… , N
r
Reconstruction des données initiales : Xˆ = U T Z
26
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Choix du nombre de composantes
On élimine les composantes de moindre variance.
25
λ1
λ2
Variance (%)
20
15
λ3
λ4
10
5
λ5
λ6
PC5
PC6
λ7
λ8
λ9
λ10
PC7
PC8
PC9
PC10
0
PC1
PC2
PC3
PC4
On ne perd pas trop d’information si les valeurs propres associées aux composantes
éliminées sont faibles relativement à celles que l’on conserve :
- Données initiales de dimension n
- On calcule n valeurs propres et vecteurs propres
- On choisit les r vecteurs propres correspondant aux r plus grandes valeurs propres
- Les données finales sont de dimension r
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Exemple
27
Apprentissage non supervisé
Analyse en composantes principales (ACP) - Exemple
Apprentissage non supervisé
Clustering - Sommaire
· Clustering (ou techniques de regroupement)
- Qu’est-ce que le clustering
- Applications
- Mesure de dissimilarité (similarité d’objets)
- Méthode des K-moyennes (K-means)
- Fuzzy k-means et algorithme de Gustavson-Kessel
28
Apprentissage non supervisé
Clustering (regroupement) - Qu’est-ce que le clustering
Le clustering consiste en une organisation de données en groupes (clusters)
de façon que les données appartenant à un même groupe soient fortement
similaires.
• Définir une mesure de similarité (dissimilarité) entre objets (données).
• Construire un algorithme permettant de créer des groupes de similarité
tels que:
- La mesure de similarité des éléments dans un même groupe soit
maximale.
- La mesure de similarité des éléments appartenant à des groupes
distincts soit minimale.
Le clustering permet d ’avoir une bonne vision de la manière dont sont
structurées les données
Apprentissage non supervisé
Clustering (regroupement) - Applications
- Segmentation
- Classification (pour trouver les classes)
- Recherche d ’information (Web)
- Compression de données
- Modélisation
- etc
29
Apprentissage non supervisé
Clustering (regroupement) - Mesure de dissimilarité
Soit X la matrice des données :
X = [X 1
X N ],
X iT = [ xi ,1
xi ,n ], i = 1,… , N
Un choix courant de la mesure de dissimilarité entre deux données Xi et Xj, est
la distance euclidienne :
D( X i , X j ) = X i − X j
2
=
n
∑ (x
l =1
i ,l
− x j ,l )
2
Les clusters définis à l’aide de la distance Euclidienne sont invariants par
translations ou rotations dans l’espace de représentation, cela n’est pas vrai
dans le cas d’une mise à l’échelle des données
⇒ il n ’est pas toujours désirable d ’effectuer une normalisation des données.
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
• Les données sont représentées à l ’aide de K clusters (groupes)
• Chaque groupe est défini par un prototype pk représentant la moyenne des
éléments du groupe (centre du groupe)
• Chaque donnée est affectée à un seul groupe. On peut définir la fonction
d’appartenance µik de la donnée n°i au cluster n° k :
µik ∈ {0,1},
K
∑µ
k =1
ik
= 1 ∀i
Exemple : 4 données et 3 clusters :
⎡1
⎢0
[ µik ] = ⎢
⎢0
⎢
⎣0
0 0⎤
0 1⎥⎥
1 0⎥
⎥
0 1⎦
X 1 ∈ cluster k = 1
X 2 ∈ cluster k = 3
X 3 ∈ cluster k = 2
X 4 ∈ cluster k = 3
Remarque : les prototypes pk sont inconnus ainsi que les fonctions d ’appartenance.
30
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
Calcul des prototypes pk et des fonctions d ’appartenance µik
On minimise la fonction coût :
N K
⎧
⎪ J = ∑∑ µik X i − pk
⎪
i =1 k =1
⎨K
⎪ µ = 1 ∀i
ik
⎪⎩∑
k =1
1. Choisir le nb K de clusters et initialisation des prototypes pk, k=1,…,K
2. Minimiser J par rapport aux µik → affecter chaque donnée Xi à
l ’unique prototype le plus proche pk.
3. Minimiser J par rapport aux pk →
N
pk = ∑ µik X i
i =1
N
∑µ
i =1
ik
4. Tant que J>e aller en 2
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
31
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
32
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
33
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
Apprentissage non supervisé
Clustering (regroupement) - Méthode des k-moyennes
34
Apprentissage non supervisé
Clustering (regroupement) - Fuzzy c-means
Permet de partitionner les données en ensembles nondisjoints (recouvrements) à l’aide d’une mesure de
similarité des données
A partir de l’ensemble des données
x i = [ xi ,1 , xi , 2 ,… , xi ,n ] ∈ ℜ , i = 1,… , N
T
n
Trouver la matrice de partitionnement flou:
⎡ µ11 … µ1C ⎤
⎥, µ ∈ [0,1]
M = [ µik ] = ⎢⎢
ik
⎥
⎢⎣ µ N 1 … µ NC ⎥⎦
et les centres des clusters:
V = {v1 ,… v C }, v k ∈ ℜ
n
Apprentissage non supervisé
Clustering (regroupement) - Fuzzy c-means
Xi
Fonction objectif à minimiser
N
C
J = ∑∑ µikm X i − Vk
i =1 k =1
Dik
2
2
Vk
Sous les contraintes
0 ≤ µik ≤ 1, i = 1,… , N , k = 1,… , C Degré d’appartenance
∑
C
k =1
µik , i = 1,… , N
0 < ∑i =1 µ ik < N , k = 1,… , C
N
total membership
pas de cluster vide
m ∈ (1, ∞) fuzziness parameter
35
Apprentissage non supervisé
Clustering (regroupement) - Fuzzy c-means
Répéter
1. Calculer le centre des clusters
N
µmx
∑
i =1 ik i
vk =
N
∑i=1 µikm
2. Calculer les distances
On initialise V ou U
d ik = (x i − v k ) (x i − v k )
2
T
3. Mettre à jour la matrice de partitionnement
1
µik = C
∑ j =1 (dik2 / dij2 )1/( m−1)
Jusqu’à ∆U < ε D’autres tests d’arrêt sont possibles
Apprentissage non supervisé
Clustering (regroupement) - Algorithme de Gustafson-Kessel
• Utilise une mesure de distance adaptative
d 2 ( x i − v k ) = ( x i − v k )T A k ( x i − v k )
A k = Fk
1/ n
−1
Fk
• Fuzzy covariance matrix
Fk
∑
=
N
i =1
( µik ) (x i − v k )(x i − v k )
m
∑
N
i =1
( µik )
T
m
36
Apprentissage non supervisé
Clustering (regroupement) - Algorithme de Gustafson-Kessel
Répéter
1. Calculer le centre des clusters
N
µmx
∑
i =1 ik i
vk =
N
∑i=1 µikm
2. Calculer les distances
d = Fk
2
ik
1/ n
−1
k
(x i − v k ) F (x i − v k )
T
Fk
∑
=
N
i =1
( µik ) (x i − v k )(x i − v k )
m
∑
N
i =1
( µik )
T
m
3. Mettre à jour la matrice de partitionnement
1
µik = C
2
∑ j =1 (dik / dij2 )1/( m−1)
Jusqu’à ∆U < ε
37
Réseaux de neurones
Réseaux de neurones
• Repères historiques
• Inspiration biologique
• Le neurone formel
• Caractéristiques générales des réseaux de neurones
• Les architectures
Apprentissage des réseaux
• Principe de l’apprentissage
• Réseaux monocouche
• Réseaux multicouche
Réseaux de neurones
Le point de départ : la cybernétique (1942, congrès sur l’organisation du cerveau, NY)
Norbert Wiener 1948 : La cybernétique est la science qui étudie les processus de contrôle chez
l’animal et dans la machine.
Problématique : construire des machines « intelligentes », i.e. donner aux machines des
performances de plus en plus proches de celles de l’homme.
Intelligence artificielle (IA)
Approche connexionniste (réseaux de neurones)
modélisation du système cérébral
Approche symbolique (systèmes experts)
modélisation des processus cognitifs
1
Réseaux de neurones
Repères historiques
En 1943 : Mc Culloch et Pitts → Neurone formel.
En 1949 : Donald Hebb → Règle de Hebb (explication de l ’apprentissage)
En 1957 : Franck Rosenblatt → Perceptron (règle du perceptron).
En 1959 : Bernard Widrow → Adaline (LMS).
En 1969 : Marvin Minsky et Seymour Papert → critique du perceptron.
En 1970 : Teuvo Kohonen → Apprentissage compétitif.
En 1982 : John Hopfield → Modèle de Hopfield (réseau entièrement connecté).
En 1985 : David Rumelhart et Yann Le Cun → Algorithme de rétro-propagation.
Le neurone formel
Inspiration biologique
Synapse
Axone
Corps cellulaire
Noyau
Dendrites
Le corps cellulaire : il effectue les transformations biologiques nécessaires à la survie du neurone
Les dendrites : elles forment une arborescence autour du corps cellulaire et jouent le rôle de
récepteur de signaux
L’axone : il transmet le signal émis par le neurone
Les Synapses : ils réalisent l’interconnexion des neurones
2
Le neurone formel
Un neurone formel est une fonction non linéaire de la somme pondérée de ses entrées:
1
Principales fonctions d’activation f
1
1
Fonction de Heaviside
w0
w1
0.8
0.8
0.6
0.6
0.4
0.4
0.2
u1
w2
u2
n
ξ = ∑ ui wi
Σ
i =0
f
0.2
0
0
-0.2
-0.2
-0.4
-0.4
-0.6
y=f(ξ)
-0.6
-0.8
-0.8
-1
-5
-4
-3
-2
-1
0
1
2
3
4
5
Fonction linéaire saturée
wn
ξ = ∑ ui wi = u w = w u , y = f (ξ )
T
T
0.8
0.6
0.6
0.4
0.4
u = [1 u1 u2
w = [w0
T
w1
w2
0
-0.2
-0.2
-0.4
-0.4
-4
-3
-2
-1
0
1
2
3
4
5
1
0
1
2
3
4
5
-1
-5
-4
-3
-2
-1
0
1
2
3
4
5
0
1
2
3
4
1
Fonction sigmoïde
0.9
0.8
0.8
0.6
0.7
0.4
0.6
Les coefficients de pondération wi, ou poids, sont
les paramètres ajustables du neurone
-1
-0.8
-1
-5
wn ]
-2
-0.6
-0.8
un ]
T
-3
0.2
0
-0.6
i =0
-4
Fonction linéaire
0.8
0.2
n
-1
-5
1
1
un
Fonction signe
Fonction tangente
hyperbolique
0.2
0.5
0
0.4
-0.2
0.3
-0.4
0.2
-0.6
0.1
-0.8
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
-1
-5
-4
-3
-2
-1
5
L’interconnexion de plusieurs neurones formels réalise un réseau de neurones
Caractéristiques générales des réseaux de neurones
Un réseau de neurones réalise une fonction non linéaire de ses entrées par composition des
fonctions réalisées par chacun de ses neurones.
Les réseaux de neurones sont des approximateurs universels.
Toute fonction continue bornée peut être approchée avec une précision arbitraire, dans un
domaine fini de l’espace de ses variables, par un réseau de neurones comportant une couche
de neurones cachés en nombre fini, possédant tous la même fonction d’activation, et un
neurone de sortie linéaire
Les réseaux non bouclés
Deux types d’architecture
Les réseaux bouclés
{
{
Approximation de fonctions non linéaires
Classification automatique d’objets
Modélisation de processus statiques non linéaires
Identification des systèmes dynamiques non linéaires
Commande non-linéaire
Mémoires associatives dynamiques (bassin d’attraction)
3
Les réseaux de neurones non bouclés ou statiques
Un réseau de neurones non bouclé réalise une fonction statique non linéaire de ses entrées,
par composition des fonctions réalisées par chacun de ses neurones
Réseau non bouclé monocouche (perceptron monocouche) : y (k ) = h(u (k ), w)
un
Wn,m
w2,m
w1,m
Σ
u2
Wn,2
w2,2
w1,2
Σ
w0,m 1
Neurone
ξm
N°m
u1
Neurone
N°2
f
Wn,1
w2,1
Σ
w0,2 1
Neurone
N°1
ξ2
f
ym=f(ξm)
w1,1
w0,1
1
ξ1
f
y2=f(ξ2)
y1=f(ξ1)
Les réseaux de neurones non bouclés ou statiques
Réseau non bouclé multicouche (perceptron multicouche) : y (k ) = h(u (k ), w)
1
1
w10,1
1
w 1,1
w12,1
1
w20,1
2
w 1,1
w22,1
Σ
ξ11
f1
y11=f(ξ11)
w1n,1
w30,1
w31,1
Σ
ξ21
f2
y21=f(ξ21)
w2n,1
w32,1
Σ
Neurone N°1
y31=f(ξ31)
Neurone N°1
1
1
w 0,2
1
2
w 0,2
w11,2
f3
w n,1
Neurone N°1
1
ξ31
3
w0,2
w21,2
w31,2
u1
w12,2
u2
Σ
ξ12
f1
y12=f(ξ12)
w1n,2
w22,2
Σ
f2
y22=f(ξ22)
2
w n,2
w 0,m
Σ
w22,m
w1n,m
y1m=f(ξ1m)
y32=f(ξ32)
w0,m
w31,m
Σ
ξ2m
w2n,m
Neurone N°m
f3
1
w0,m
w21,m
f1
ξ32
Neurone N°2
1
1
ξ1m
Σ
Neurone N°2
1
w11,m
w32,2
w3n,2
Neurone N°2
un
w12,m
ξ22
w32,m
f2
y2m=f(ξ2m)
Σ
ξ3m
f3
y3m=f(ξ3m)
w3n,m
Neurone N°m
Neurone N°m
4
Les réseaux de neurones bouclés ou dynamiques
Un réseau de neurones bouclé est un système dynamique non linéaire, régi par des équations
différentielles ou aux différences.
x(t ) = ϕ ( x(t ), u (t ) )
y (t ) = ψ (x(t ), u (t ) )
u (t )
ϕ
x(k + 1) = ϕ ( x(k ), u (k ) )
y ( k ) = ψ ( x(k ), u (k ) )
y (t )
u (k )
Réseau de neurones
statique
Réseau de neurones
statique
ψ
ψ
x(t )
x(t )
⌠
⌡
ϕ
y (k )
x( k + 1)
x(k )
z-1
Les réseaux de neurones bouclés ou dynamiques
Exemple de mise sous forme d’état d’un réseau bouclé
5
Les réseaux de neurones bouclés ou dynamiques
Modélisation de systèmes dynamiques non linéaires
y ( k + 1) = g ( y ( k ), … , y ( k − n y + 1), u ( k ), … , u ( k − nu + 1))
y(k+1)
Réseaux de neurones réalisant une approximation de
la fonction non linéaire g
u(k-1)
u(k)
u(k-nu+1)
-1
-1
-1
Z
Z
y(k-ny+1)
Z
y(k-1)
-1
-1
y(k)
Z-1
Z
Z
Mémoires associatives
Réseau
Dynamique
Apprentissage des réseaux de neurones
L’apprentissage d’un réseau de neurones consiste à modifier son comportement jusqu’à
l’obtention d’un comportement désiré. L’apprentissage fait appel à des exemples de comportement
Phase d’apprentissage : Permet d’ajuster les poids du réseau
(
(
) ⎫⎪
)⎪
⎧ u1 , y d
1
⎪
d
⎪ u2 , y2
⎨
⎪
⎪ u N , yd
N
⎩
(
Réseau de
Neurones
uk
Base d’apprentissage
yk
Algorithme de
modification des poids du
réseau
⎬
⎪
⎪
⎭
)
εk
-
yk
J (W ) =
1
N
∑ε
T
k
εk
k
+
ydk
ydk
Phase de test : Permet d’évaluer les capacités de généralisation du réseau
Base de test
(
(
) ⎫⎪
)⎪
(
)
⎧ u '1 , y d '
1
⎪
d'
⎪ u '2 , y 2
⎨
⎪
⎪ u'N , y d '
M
⎩
⎬
⎪
⎪
⎭
u’k
Réseau de
Neurones
yk
-
εk
+
Critère de
validation
du réseau
J
yd’k
6
Algorithmes d’apprentissage, cas des réseaux monocouche
Règle du Perceptron
1
Pour une entrée donnée, on peut distinguer 4 cas :
w0
w1
u1
w2
u2
Σ
ξ
y
1
1er cas :
2ème cas :
d=1
d=0,
y=1
y=0
3ème cas :
4ème cas :
d=0,
d=1,
y=1
y=0
wm
}
}
On ne
modifie pas
les poids
On modifie
les poids
um
Dans le 3ème cas if faut diminuer les poids
Dans le 4ème ces il faut augmenter les poids
Règle du perceptron
ε
+
d
wk +1 = wk + α (d k − yk )uk
wk +1 = wk + αε k uk
Algorithmes d’apprentissage, cas des réseaux monocouche
Algorithme d’apprentissage Perceptron
1. Initialisation des poids (par exemple à 0)
2. Présentation d’un exemple uk de la base d’apprentissage
3. Calcul de la sortie yk obtenue pour l ’entrée uk
4. Si la sortie du Perceptron est différente de la sortie désirée dk pour
l’exemple uk alors modification des poids :
wk +1 = wk + αε k uk
5. Tant que tous les exemples de la base d’apprentissage ne sont pas traités
correctement, retour à l’étape 2.
7
Algorithmes d’apprentissage, cas des réseaux monocouche
L’apprentissage, un problème d’optimisation
u
Soit un système d’entrée u, de sortie y et
possédant des éléments de réglage w
y
Système
L’optimalité d’un système n’a de sens que
relativement à un certain critère de performance
w
Un système est dit optimal relativement au critère J(w), si lors de son
fonctionnement la quantité J est extrémale (maximale ou minimale)
Optimiser un système consiste à déterminer le réglage w conduisant à un critère
de performance J(w) extremum :
wopt = arg min J (w)
wopt = arg max J (w)
w∈W
w∈W
Fonctionnement avec une consommation de carburant minimale
Fonctionnement avec une vitesse de déplacement maximale
Algorithmes d’apprentissage, cas des réseaux monocouche
L’apprentissage, un problème d’optimisation
uk
Base
D’apprentissage
dk
Dans le cas d’un réseau de neurones, on
souhaite un fonctionnement à erreur minimale
Réseau de neurones
+
yk
εk
-
w
L’apprentissage du réseau consiste alors à déterminer le vecteur poids w
permettant de minimiser un critère sur l’erreur d’apprentissage
J (w ) =
1
N
N
∑εk
k =1
J (w ) =
1
N
N
∑ εk
k =1
J (w ) =
1
N
N
∑ε
k =1
2
k
8
Algorithmes d’apprentissage, cas des réseaux monocouche
L’ADALINE (adaptative linear element) de Widrow
1
L’apprentissage est réalisé sur la sortie linéaire du neurone
w0
Apprentissage
w1
u1
w2
u2
Σ
ξ
1
- MCS
- MCR
- Gradient → LMS
y
-1
wm
um
Algorithme
d’apprentissage
-
ε
+
d
⎡1⎤
⎢u k ⎥
uk = ⎢ 1 ⎥
⎢ ⎥
⎢ k⎥
⎣um ⎦
⎡ w0k ⎤
⎢ k⎥
w
wk = ⎢ 1 ⎥
⎢ ⎥
⎢ k⎥
⎣⎢ wm ⎦⎥
Algorithmes d’apprentissage, cas des réseaux monocouche
Méthode des moindres carrés simples (MCS)
C’est une méthode non itérative. Il s ’agit de déterminer le vecteur poid w
permettant la minimisation du critère quadratique suivant:
J ( w) =
1
N
N
2
∑ (d k − ξ k ) =
k =1
(
)
−1
wopt = U U U d
T
N
∑ε
k =1
2
k
⎛ ∂2J ⎞
⎛ ∂J ⎞
⎟⎟
⎜⎜
>0
= 0 et ⎜⎜ 2 ⎟⎟
w
∂
⎠ w= wopt
⎝
⎝ ∂ w ⎠ w= wopt
J(w) est minimum pour w=wopt si :
Ce qui conduit à :
1
N
T
⎡ u1T ⎤
⎡ d1 ⎤
⎢ T⎥
⎢d ⎥
u
2⎥
⎢
, U =⎢ 2⎥
avec : d =
⎢ ⎥
⎢ ⎥
⎢ T⎥
⎢ ⎥
⎢⎣u N ⎥⎦
⎣d N ⎦
9
Algorithmes d’apprentissage, cas des réseaux monocouche
Méthode des moindres carrés récursifs (MCR)
C’est une méthode itérative (implémentation temps réel possible), qui permet la mise
à jour du vecteur poids à partir de la donné d ’un nouvel exemple.
Pour N exemples la méthode des MCS permet le
calcul direct du vecteur poids:
(
w N = U TU
)
−1
UT d
Problème : comment modifier le vecteur poids wn lorsque l’on connaît un nouvel
exemple uN+1, dN+1 ?
On pose FN=(UTU)-1, et l’on utilise les récurrences suivantes :
T
⎧
FN u N +1 u N +1 FN
⎪ FN +1 = FN −
T
1 + u N +1 FN u N +1
⎨
⎪
T
⎩w n +1 = w N + FN +1 u N +1 d N +1 − u N +1 w N
(
)
Algorithmes d’apprentissage, cas des réseaux monocouche
Méthode du gradient, algorithme LMS
C’est une méthode itérative. Il s ’agit de déterminer le vecteur poids wk permettant de
diminuer le critère J(wk) à chaque présentation de la base d ’exemples.
J ( wk ) =
1
N
N
2
∑ (d n − ξ n ) =
n =1
1
N
N
∑ε
n =1
2
n
Le vecteur poids est calculé à l ’aide de la formule du gradient : w k +1
Ce qui conduit à :
w k +1 = w k +
⎛ ∂J ⎞
⎟⎟
= w k − µ ⎜⎜
⎝ ∂ w ⎠ w= wk
2µ N
∑εnun
N n =1
Dans le cas de l ’algorithme LMS, la méthode du gradient est appliquée sur (εk)2 au lieu
de J(wk). Le vecteur poids est donc modifié à chaque présentation d’un exemple. La règle
de modification des poids s ’écrit :
w k +1 = w k + 2 µε k u k
10
Algorithmes d’apprentissage, cas des réseaux multicouche
Algorithme de rétropropagation
wkjl +1
wlji
ξ il −1 yil −1
s
ξ lj y j
l +1
ξ kl +1 yk
Neurone N° i de la
couche l-1
Neurone N° j de la
couche l
Neurone N° k de la
couche l+1
Poids de la connexion
reliant le neurone i de la
couche l-1 au neurone j
de la couche l
Poids de la connexion
reliant le neurone i de la
couche l-1 au neurone j
de la couche l
( )
( )
ξ lj = ∑ wlji yil −1 , y lj = f ξ lj , ξ kl +1 = ∑ wkjl +1 y lj , ykl +1 = f ξ kl +1
i
j
Objectif : minimiser l’erreur quadratique commise un exemple donné :
J=
1
o 2
(d − y )
2
Où d est la sortie désirée et yo la sortie effective du réseau
Algorithmes d’apprentissage, cas des réseaux multicouche
Algorithme de rétropropagation
Pour chaque exemple présenté, on réalise les calculs suivants :
( )
Calcul des ξj et yj pour l ’ensemple
des neurones
ξ lj = ∑ wlji yil −1 , y lj = f ξ lj
Calcul des erreurs locales pour la
couche de sortie
ek = ( y k − d k ) f ' ξ k
Calcul des erreurs locales pour
l ’ensemble des neurones des
couches cachées
i
o
( )
o
o
( )∑ e
l +1
k
e j = f ' ξk
l
o
l +1
wkj
k
o −1
Couche de sortie : ∆wkj = µek y j
o
Modification des poids
o
l −1
Couches cachées : ∆w ji = − µe j yi
l
l
11
Système d’inférence floue
Plan du cours
Système d’inférence floue
· Motivations
· Repères historiques
· Notion de sous-ensembles flous
· Définition d’un sous-ensemble flou
· Sous-ensembles flous particuliers
· Opérations simples sur les sous-ensembles flous
· Relations floues
· Image d’un sous-ensemble flou par une relation floue
· Les différents modes de raisonnement
· Constitution d ’un système d ’inférence floue
Système d’inférence floue
Motivations
La théorie des sous-ensembles flous (SEF), est une approche permettant
de traiter des concepts imprécis ou mal définis comme par exemple :
• Les hommes de grande taille
• un véhicule luxueux
• un appartement confortable etc.
Cela est rendu possible en assouplissant la notion d’appartenance d’un
élément à un sous-ensemble → concept de sous-ensemble flou
Cette approche permet d’élaborer des systèmes de raisonnement
déductif automatique, appelés système d’inférence floue (SIF)
Un système d’inférence floue est un dispositif permettant de coder de la
connaissance imprécise, imparfaite, mal définie… et d’établir un
raisonnement de type déductif à partir de cette base de connaissances.
1
Système d’inférence floue
Repères historiques
En 1965 : L. A. Zadeh introduit la notion de sous-ensemble flou.
En 1975 : A. Mamdani réalise le premier contrôleur flou.
En 1985 : T. Takagi et M. Sugeno introduisent la notion de modèle flou
d’un système suivant une approche multimodèle.
En 1990 : Utilisation des algorithmes neuronaux pour le réglage de
systèmes flous → Réseaux neuro-flous.
En 1992 : K. Tanaka et M. Sugeno développe une approche du type
Lyapunov pour l’analyse de la stabilité d’un modèle flou.
En 1996 : K. Tanaka, T. Ikeda et H.O. Wang développe une approche
du type LMI pour l’analyse de la robustesse d’un modèle flou.
Système d’inférence floue
Notion de sous-ensemble flou
Soit A un sous-ensemble d'un ensemble X. Dans la théorie classique des ensembles
la notion d'appartenance est très rigide, un élément x de X appartient ou
n'appartient pas à A, c'est l'un ou l'autre.
On appelle fonction caractéristique de A la fonction binaire : µ A ( x) : X → {0,1}
Cette fonction caractéristique est telle que µA(x)=1 si l'élément x de X
appartient à A et vaut zéro sinon.
On symbolise le sous-ensemble A de X en hachurant la région située sous le
graphe de la fonction µ A(x)
µ A (x)
A
1
A = {(x, µ A ( x)) : x ∈ X }
x
2
Système d’inférence floue
Notion de sous-ensemble flou
On suppose maintenant que la fonction µA(x) peut prendre une valeur quelconque
de l'intervalle [0, 1]. Dans ces conditions, un élément x de X peut :
- ne pas appartenir à A (µA(x)=0)
- appartenir un peu à A (µA(x) voisin de 0)
- appartenir moyennement à A (µA(x) voisin de 0,5)
- appartenir fortement à A (µA(x) voisin de 1)
- appartenir à A (µA(x)=1)
On généralise ainsi la notion d'appartenance ce qui permet de manipuler des
concepts non rigoureusement définis.
Système d’inférence floue
Définition d’un sous-ensemble flou
~
Étant donné un ensemble X, un sous-ensemble flou A de X est défini par une
fonction caractéristique d'appartenance (ou fonction d'appartenance) notée µ A~ ( x) :
[ ]
µ A~ ( x) : X → 0,1
~
Pour tout x de X, µ A~ ( x) indique le degré ou niveau d'appartenance de x à A . On
~
symbolise un sous-ensemble flou A de X en hachurant la région située sous le
graphe de la fonction µ A~ ( x) .
µ ~A (x )
~
A
On généralise ainsi la notion usuelle
d'ensemble dont la fonction caractéristique ne
peut prendre que deux
~ valeurs {0,1}. Un sousensemble flou (SEF) A de X est représenté par
l'ensemble des paires ordonnées (x, µ A~ ( x) ), ce
que l'on note :
1
x
~
A = {(x , µ A~ ( x ) ) : x ∈ X }
~
On définit le support du sous-ensemble flou A comme étant l'ensemble des éléments
~
x de X tel que µ A~ ( x) > 0 . On appelle noyau du sous-ensemble flou A l'ensemble
des éléments x de X tel que µ A~ ( x) = 1
3
Système d’inférence floue
Sous-ensembles flous particuliers
On appelle intervalle flou un SEF normal et convexe dont le noyau comporte au
moins deux éléments.
~
A
µ A~ ( x)
1
x
a
b
Intervalle flou
Un intervalle flou permet la représentation d'un intervalle aux bords mal définis
du genre « compris environ entre a et b ».
Système d’inférence floue
Sous-ensembles flous particuliers
On appelle nombre flou un SEF normal et convexe dont le noyau se réduit à un
unique point de X.
µ A~ ( x )
~
A
1
x
a
Nombre flou
Un nombre flou permet de représenter une évaluation floue du genre « environ a »
4
Système d’inférence floue
Sous-ensembles flous particuliers
Un singleton est un « sous-ensemble flou » dont le support se réduit à l'unique
point du noyau.
µ A~ ( x ) = δ (a )
1
x
a
Singleton
Les singletons permettent d'introduire des nombres dans un système ne
manipulant que des grandeurs symboliques.
Système d’inférence floue
Sous-ensembles flous particuliers
µA~ (x)
µ ~A ( x)
~
A
1
µA~ (x ) = δ (a )
1
1
x
a
x
b
Intervalle flou
x
a
a
Nombre flou
Singleton
En conclusion, les sous-ensembles flous précédents permettent de donner une
représentation des propositions floues suivantes :
« x est compris environ entre a et b » (intervalle flou), « x est environ a »
(nombre flou), « x est a » (singleton)
Représentation possible de « x est petit » et de « x est grand »
µ petit (x )
µ grand (x )
1
1
x
x
5
Système d’inférence floue
Sous-ensembles flous particuliers
A partir de quel âge on peut-on considérer que l’on est vieux ?
40, 50, 60, 70, 80 …
Plusieurs réponses possibles selon la personne à qui on pose la question.
Difficile d’établir un seuil.
1
µvieux
0
40
70
âge
Système d’inférence floue
Opérations simples sur les sous-ensembles flous
Complémentaire
µ ~A(x)
~
~
:A
:A
1
µA~ (x) = 1− µA~ (x)
Le complémentaire est un opérateur de n égation
Intersection
µ A~ ∩B~ ( x ) = min (µA~ ( x ), µB~ ( x) )
x
1
µA~ ∩ ~B (x )
~
~
~
~
: A∩ B
:A
:B
Le min est un opérateur de conjonction noté T
x
µ A~ ∪ ~B (x )
Réunion
µ ~A∪B~ ( x) = max(µA~ ( x), µB~ ( x))
~
:A
~
~
:A∪B
~
:B
1
1
Le max est un opérateur de disjonction noté ⊥
x
6
Système d’inférence floue
Relations floues
Etant donnés deux ensembles X et Y, on appelle relation floue de X vers Y tout
~
sous -ensemble flou ℜ du produit cartésien X× Y :
µ A×
~ ~ ( x, y)
B
~
ℜ ⊂ X ×Y
~ ~
A, B
~ ~
A× B
~
~
Soit A un SEF de X et B un SEF de Y
on définit le produit cartésien par :
~ ~
A × B = ( x, y ), µ A~×B~ ( x, y ) : x ∈ X , y ∈ Y
1
x
T
{(
µ A~× B~ ( x, y ) =
(µ
~
~
)
~
A
( x ), µ B~ ( y ) )
}
y
~
Ce produit cartésien représente une relation floue : ℜ = A × B ⊂ X × Y
µℜ~ ( x, y ) = µ A~× B~ ( x, y ) =
T
La fonction d’appartenance s’écrit :
(µ
~
A
( x ), µ B~ ( y) )
Système d’inférence floue
Image d’un sous-ensemble flou par une relation floue
~
~
Soit ℜ une relation floue d’un ensemble X vers un ensemble Y, et soit A' un SEF de
~
~
~
X. On appelle image du SEF A' par la relation floue ℜ , le SEF B' de Y défini par :
T
µ B~' ( y) = sup
(µ
x
~
A'
( y), µℜ~ ( x, y ))
~ ~
A, B
~ ~ ~
ℜ = A× B
~
A'
~
B'
1
x
y
µ ℜ~ ( x , y )
7
Système d’inférence floue
Les différents modes de raisonnement
Raisonnement déductif
Si A est vraie alors B est vraie
S’il pleut alors il y a des nuages
A est vraie
Il pleut
par conséquent, B est vraie
donc il y a des nuages
Si A est vraie alors B est vraie
S’il pleut alors il y a des nuages
B est fausse
Il n ’y a pas de nuage
par conséquent, A est fausse
donc il ne pleut pas
Système d’inférence floue
Les différents modes de raisonnement
Raisonnement inductif
Si A est vraie alors B est vraie
S’il pleut alors il y a des nuages
B est vraie
Il y a des nuages
par conséquent, A devient plus
plausible
Donc, il est plausible qu’il pleuve
Si A est vraie alors B est vraie
S’il pleut alors il y a des nuages
A est fausse
Il ne pleut pas
par conséquent, B devient moins
plausible
Donc il est peu plausible qu’il y ait
des nuages
P(A⋅B)=P(B|A)⋅P(A)
P(A⋅B)=P(A|B)⋅P(B)
P(A|B)=P(A)⋅P(B|A)/P(B)
8
Système d’inférence floue
Les différents modes de raisonnement
Raisonnement abductif
A partir de faits observés, on construit une
hypothèse permettant d ’expliquer les faits
observés.
Lorsqu’on lâche un objet, il tombe.
Hypothèse explicative : la terre exerce une
force sur l ’objet→théorie de la gravitation
C’est la démarche scientifique : on construit une théorie permettant
d ’expliquer une multitude de faits d’observation
Système d’inférence floue
Constitution d ’un système d ’inférence floue
Un système d’inférence flou est un dispositif permettant de coder de la
connaissance imprécise, imparfaite, mal définis… et d’établir un
raisonnement de type déductif à partir de cette base de connaissances.
Ψ
Base de connaissances
La base de règles linguistiques modélisée
~
par une relation floue : ℜ
x(t ) ⊂ X
Φ
~
x (t ) ⊂ X
Fuzzification
~y (t ) ⊂ Y
°
Opérateur image
(Inférence floue)
∆
y (t ) ∈ Y
Défuzzification
Un système d'inférence floue (SIF) réalise une fonction non linéaire Ψ d'une
partie X de l’espace d’entrée vers une partie Y de l’espace de sortie
(
~
)
y(t ) = Ψ (x(t ) ) = ∆ Φ( x(t) )o ℜ
9
Système d’inférence floue
Constitution d ’un système d’inférence floue
La base de règles - Notion de variable linguistique ou variable floue
Un SIF est caractérisé par un ensemble de règles linguistiques permettant de représenter des
connaissances qualitatives
Ces règles sont des fonctions de variables linguistiques notées : (X, T(X), X)
1
X : le référentiel
X : le nom de la grandeur observée (température, vitesse...)
T(X) : l'ensemble des termes linguistiques permettant de
caractériser X
GN
-120
MN
PN
ZE
PP
MP
-80
-40
0
40
80
GP
120
x
Les termes linguistiques sont représentés à l'aide de SEF du référentiel X
(Position, T(position) = {GN,MN,PN,ZE,PP,MP,GP}, [-120, 120])
Soient les variables linguistiques (Xi, T(Xi), Xi) i=1…nx et (Y, T(Y), Y) , une base de règles
linguistiques est une liste de propositions conditionnelles floues de la forme :
(
) (
)
(
)
~1
~2
~n
~
Rk : Si X1 est A k et X 2 est A k et K et X nx est A k x AlorsY est B k avec k = 1K l
10
Téléchargement