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