Partionnement non-supervisée Intelligence Artificielle et Systèmes Formels Master 1 I2L Sébastien Verel [email protected] http://www-lisic.univ-littoral.fr/∼verel Université du Littoral Côte d’Opale Laboratoire LISIC Equipe CAMOME Introduction Partitionnement automatique Objectifs de la séance 11 Connaitre l’algorithme du k-means Algorithme k-means Introduction Partitionnement automatique Plan 1 Introduction 2 Partitionnement automatique 3 Algorithme k-means Algorithme k-means Introduction Partitionnement automatique Algorithme k-means Types d’apprentissage Apprentissage supervisé : Apprentissage sur un ensemble d’exemples étiquetés : (entrée, sortie désirée) Apprentissage non supervisé : Apprentissage sur un ensemble d’exemples non étiquetés (cf. clustering) Apprentissage semi-supervisé : Apprentissage sur un ensemble d’exemples étiquetés / non étiquetés Apprentissage par renforcement : Apprentissage où les actions sur l’environnement se mesurent par une récompense ... Introduction Partitionnement automatique Algorithme k-means Exemple intuitif id 1 2 3 4 5 6 Qualité 30 40 10 10 35 38 Prix 100 120 20 25 90 110 Peut-on partitionner l’ensemble de ces produits en k = 2 classes ? Si oui, proposer un partition. Un nouveau produit arrive (Q, P) = (32, 92). Dans quelle classe l’affecter ? Pourquoi ? Introduction Partitionnement automatique Algorithme k-means Exemples graphiques 14 13 12 12 11 10 10 8 9 6 8 4 7 6 2 5 0 4 -2 3 -4 2 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 Introduction Partitionnement automatique Algorithme k-means Exemples graphiques 14 13 12 12 11 10 10 8 9 6 8 4 7 6 2 5 0 4 -2 3 -4 2 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 10 Introduction Partitionnement automatique Algorithme k-means Pourquoi partitionner ? Pour comprendre les données, Pour classifier des données, Pour prédire. Quelques exemples issus du LISIC : Monitoring System of Phytoplankton Blooms by using unsupervised classifier and time modeling. K. Rousseeuw, É. Poisson Caillault, A. Lefebvre, D. Hamad. IEEE International Geoscience and Remote Sensing Symposium, IGARSS 2013. Melbourne, Australia, 21-26 July. Constrained Spectral Embedding for K-Way Data Clustering. Guillaume Wacquet ; Emilie Poisson Caillault ; Denis Hamad ; Pierre-Alexandre Hébert Pattern Recognition Letters, Available online 19 February 2013, Detection of contrasted physico-chemical and biological environmental status using unsupervised classification tools. ROUSSEEUW Kevin, LEFEBVRE Alain, CAILLAULT Emilie, HAMAD Denis 5th FerryBox Worshop, Helsinki, Finland, 24-25 April 2013. A new benchmark image test suite for evaluating color texture classification schemes A. POREBSKI, N. VANDENBROUCKE, L. MACAIRE, D. HAMAD Multimedia Tools and Applications Journal, 2013. ... Introduction Partitionnement automatique Algorithme k-means Position du problème Partitionnement entrée : Ensemble de n points / exemples / observations E = {e1 , e2 , . . . , en } sortie : Partition de E P = {P1 , P2 , . . . , Pk } équivalent à une fonction c : E → {1, . . . , k} Introduction Partitionnement automatique Algorithme k-means Position du problème Partitionnement entrée : Ensemble de n points / exemples / observations E = {e1 , e2 , . . . , en } sortie : Partition de E P = {P1 , P2 , . . . , Pk } équivalent à une fonction c : E → {1, . . . , k} Combien de partitions avec k clusters ? Introduction Partitionnement automatique Algorithme k-means Position du problème Partitionnement entrée : Ensemble de n points / exemples / observations E = {e1 , e2 , . . . , en } sortie : Partition de E P = {P1 , P2 , . . . , Pk } équivalent à une fonction c : E → {1, . . . , k} Combien de partitions avec k clusters ? k n /k! Beaucoup même pour n = 100 et k = 2, comment choisir ?... Introduction Partitionnement automatique Algorithme k-means Problème d’optimisation associé Problème d’optimisation Critère de la qualité d’une partition : U : P(E ) → IR Trouver une bonne partition revient à maximiser le critère : argmaxP∈P(E ) U(P) Utilisation de méthodes d’optimisation (locale, greedy, etc.)... Introduction Partitionnement automatique Algorithme k-means Critère de qualité Forme En général, le critère est de la forme : k X w (Pi ) U(P) = i∈1 avec w une mesure de la qualité d’un cluster. Exemples Somme des carrés des distances entre les points du cluster : X X d 2 (x, y ) w (Pi ) = x∈Pi y ∈Pi Probabilité d’observation des points du cluster : Y w (Pi ) = Pr (x|θi ) x∈Pi Introduction Partitionnement automatique Algorithme k-means Algorithmes de partitionnement Différentes approches : Partitionnement hiérarchique : Regroupement (ou séparation) de clusters selon un critère Dendrogramme Partitionnement controı̈de : Utilisation de centres pour paramètrer les clusters k-means (cf. plus loin) Partitionnement fondé sur des distributions de probabilité Un cluster est représenté par une distribution de probabilité dont il faut trouver les paramètres Algorithme E-M, Gaussian mixture models Partitionnement fondé sur la densité : Selon la densité locale de points, croissance du cluster DBSCAN Introduction Partitionnement automatique Algorithme k-means Pseudo-code k-means (1) (1) Choisir (aléatoirement) k centres µ1 , . . . , µk repeat Affecter chaque observations au centre le plus proche : (t) (t) (t) Pi = {ej : d(ej , µi ) ≤ d(ej , µa ) ∀a = 1..k} Mettre à jour les centres (moyenne des clusters) : P (t+1) µ1 = 1(t) e ∈P (t) ej ]Pi j i until plus de changement (convergence) Le k-means est un algorithme local tel que U(P (t+1) ) < U(P (t+1) ), d’où optima local... Introduction Partitionnement automatique Algorithme k-means Avantages / Inconvénients Avantages Facile à interpréter Facile à coder Complexité polynomiale Inconvénients Fixer le nombre de clusters k La forme des clusters est supposée ”sphérique” et les clusters séparables