e-Motion Group © Olivier Aycard (E. Gaussier) Université Joseph Fourier Méthodes de classification : Partitionnement des données
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Introduction On suppose maintenant quon ne connaît pas les classes auxquelles appartiennent les données (contrairement aux méthodes de catégorisation) : –Méthode de classification –Apprentissage non supervisé On veut répartir les données en K classes disjointes Il faut une représentation pour chaque classe Il faut trouver une méthode pour classifier les données
e-Motion Group © Introduction On veut répartir les étudiants en 2 classes en fonction de leur note
e-Motion Group © Introduction On veut répartir les étudiants en 2 classes en fonction de leur note Les étudiants dont la note est inférieure ou égale à 7 (ou 8, 9, 10) et les étudiants dont la note est supérieure à 7 (ou 8, 9, 10)
e-Motion Group © Introduction On veut répartir les étudiants en 2 classes en fonction de leur note Les étudiants dont la note est comprise entre 3 et 7 et les étudiants dont la note est comprise entre 11 et 16
e-Motion Group © Introduction On veut répartir les étudiants en 2 classes en fonction de leur note On a un nouvel étudiant dont la note est 9 Comment va-t-on le classer ?
e-Motion Group © Introduction On veut répartir les étudiants en 2 classes en fonction de leur note La classe détudiants dont la moyenne est de 5,40 et la classe détudiants dont la moyenne est de Un étudiant avec une note de 9 fait partie de la 1 ère classe
e-Motion Group © Introduction On veut maintenant répartir les étudiants en 3 classes en fonction de leur note
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Notion de distance ou métrique Pour partitionner des données, il faut pouvoir mesurer la distance entre 2 points (ou entre un point et une classe) (distance euclidienne) (distance de Manhattan) Ce sont les 2 distances les plus simples et les plus utilisés Le choix de la distance influence la répartition des points Les « meilleures » distances sont souvent dépendantes du problème étudié (cf. TP)
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Principe du partitionnement Répartir les N points en K classes disjointes Chaque point est affecté à la classe la plus proche Chaque classe est représentée par un point µ i (appelé le centre de gravité de la classe) avec 1<= i <= K Il faut trouver les K points représentants les classes Problème de minimisation
e-Motion Group © Exemple de partitionnement Reprenons notre exemple de partitionnement des étudiants en fonction de leur note On choisit deux classes : µ 1 = 3 et µ 1 = 14 On répartit les étudiants en fonction de la distance entre leur note et chaque classe
e-Motion Group © Exemple de partitionnement µ 1 = 3 et µ 2 = 14
e-Motion Group © Exemple de partitionnement µ 1 = 4 et µ 2 = 12 µ 1 = 4 et µ 1 = 12 partitionnent mieux les données que µ 1 = 3 et µ 1 = 14
e-Motion Group © Exemple de partitionnement Pour trouver le meilleur partitionnement, il faut calculer D (i,j) pour tous les couples (i, j) avec 0 <= i, j <= 20 Il y a 21 2 couples possibles Si on voulait partitionner les étudiants en 5 classes, il faudrait tester 21 5 (4x10 6 ) quintuplets possibles Dans le cas général, une approche exhaustive est à proscrire En plus, on se restreint à des valeurs entières pour représenter les classes On utilise lalgorithme des k-moyennes
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Algorithme des k moyennes Initialiser µ 1, …, µkµk Répéter Pour chaque classe µi,µi, recalcul du centre de gravité µi µi = Tant que Δ µ > ε Pour chaque donnée xj xj avec 1 <= j N, affectation à la classe i la plus proche : Ci Ci = min i d(x j, µi)µi) Complexité : O(KNI) avec I : nombre ditérations
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 2 classes Initialisation : µ 1 = 3 et µ 2 = 14 Affectation des données aux 2 classes Recalcul des centres de gravité
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 2 classes 2ème itération : µ 1 = 5.39 et µ 2 = Affectation des données aux 2 classes Recalcul des centres de gravité
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 3 classes Initialisation : µ 1 = 1, µ 2 = 6 et µ 3 = 9 Affectation des données aux 3 classes Recalcul des centres de gravité
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 3 classes 2 ème itération : µ 1 = 3, µ 2 = 5.89 et µ 3 = Affectation des données aux 3 classes Recalcul des centres de gravité
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 3 classes (autres valeurs initiales pour les centres de gravité) Initialisation : µ 1 = 0, µ 2 = 6 et µ 3 = 18 Valeurs finales des centres de gravité Affectation des données aux 3 classes
e-Motion Group © Exemple de lalgorithme des k-moyennes pour 3 classes (autres valeurs initiales pour les centres de gravité) : encore !!! Initialisation : µ 1 = 0, µ 2 = 10 et µ 3 = 20 Valeurs finales des centres de gravité Affectation des données aux 3 classes
e-Motion Group © Répartition des étudiants en 3 classes (résumé) Selon les valeurs initiales des centres de gravité, on obtient : On a des problèmes de minimums locaux : 2 minimums locaux et 1 minimum global En pratique, les 3 valeurs obtenues sont « utilisables »
e-Motion Group © Problème de maximums locaux Selon les valeurs initiales des centres de gravité, on obtient une répartition différente des données dans les classes Comment obtenir la meilleure répartition ? 2 solutions possibles : 1.On exécute lalgorithme k-moyenne n fois en choisissant aléatoirement les centres de gravité; On prend les centres de gravités qui minimisent D. 2.On exécute lalgorithme k-moyenne n fois en choisissant aléatoirement les centres de gravité; On regroupe les données qui se retrouvent toujours dans les mêmes classes (forme forte); On calcule les centres de gravités de ces classes; On exécute lalgorithme k-moyenne avec ces centres de gravités. Aucun de ces 2 algorithmes nassure de trouver le minimum global En pratique, lalgorithme des formes fortes donne de bons résultats
e-Motion Group © Exemple de lalgorithme des formes fortes(1/2) On exécute lalgorithme des k-moyennes 5 fois avec des centres de gravité choisis aléatoirement On obtient : 2 fois2 fois1 fois On a 4 formes fortes: µ 1 = 3.66, µ 2 = 6.73, µ 3 = et µ 4 = 15.09
e-Motion Group © Exemple de lalgorithme des formes fortes(2/2) On choisit 3 centres de gravités parmi les 4 formes fortes, on a 4 possibilités : 1.µ 1 = 3.66, µ 2 = 6.73 et µ 3 = µ 1 = 3.66, µ 2 = 6.73 et µ 3 = µ 1 = 3.66, µ 2 = et µ 3 = µ 1 = 6.73, µ 2 = et µ 3 = On obtient :
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Choix du nombre de classes(1/2) Lalgorithme K-moyennes suppose que le nombre de classes est fixée En pratique, on veut souvent déterminer le nombre de classes dans lesquelles on va répartir les données On peut mesurer si un nombre donné de classes est « correct » : –on veut que les données appartenant à une même classe soit le plus proche les unes des autres –la variance des données dune même classe doit être faible : on appelle aussi cela linertie intra classe –cest en fait ce que fait lalgorithme k-moyennes Plus on a de classes, plus la variance est faible : il suffit donc davoir beaucoup de classes !!! K D
e-Motion Group © Choix du nombre de classes(2/2) Il faut aussi prendre en compte la distance entre les classes : la distance entre les classes doit être la plus grande possible La distance entre les classes est aussi appelé linertie inter classe Elle se calcule en mesurant la variance des centres de gravité de chaque classe par rapport au centre de gravité de lensemble des données Il faut maximiser la distance entre les classes et minimiser la distance entre les données dune même classe Dans notre exemple, on pourra choisir K=4 K Variance intra classe Variance inter classe
e-Motion Group © Plan du cours Introduction Distance ou métrique Principe du partitionnement et exemple Lalgorithme k-moyennes Problème de minimums locaux et lalgorithme des formes fortes Choix du nombre de classes Conclusion
e-Motion Group © Conclusion (1) On cherche à répartir un ensemble de N données en K classes Les données ne sont pas étiquetées –Apprentissage non supervisé –Méthode de classification Lalgorithme des k-moyennes répartit les N données en K classes en minimisant la distance entre les données de chaque classe et le centre de gravité de la classe correspondante Lalgorithme des K-moyennes est un algorithme itératif qui part dune valeur initiale pour chaque centre de gravité et laméliore itérativement –Il trouve un minimum local dans lensemble des centres de gravité
e-Motion Group © Conclusion (2) Lalgorithme des formes fortes permet de trouver de « bonnes » valeurs pour les valeurs initiales des centres de gravité Pour trouver le nombre de classes K pour répartir un ensemble de N données, on cherche à maximiser la distance entre les classes (i.e. linertie inter classe) et à minimiser la distance entre les données dune même classe (i.e. linertie intra classe) Il nous faut une distance/mesure pour répartir les données Il existe dautres méthodes de classification : modèles de mélanges (généralisation de lalgorithme k-moyennes)