INTELLIGENCE ARTIFICIELLE IAR-1001
Technique d’aggrégation (clustering) Introduction Algorithme k-means Implémentation Python LECTURES: Chapitres 18 Russell & Norvig Notes de cours (site ftp UQTR)
Introduction Lorsque nous ne pouvons définir à priori le nombre de classes Nous devons avant le design du classificateur, extraire un ensemble d’observations (exemples) tirées d’une population quelconque pour ainsi déduire les sous-ensembles distincts L’agrégation (clustering) consiste à regrouper des observations de telle façon que les observations sont semblables dans chaque groupe (agrégats)
Introduction Le but des techniques d’aggrégation est de créer un ensemble d’aggrégats (cluster) regroupant des obser-vations de mêmes caractéristiques Ces techniques cherchent alors à regrouper les ob-servations semblables Le regroupement d’observations est basée entre autre sur la notion de distance par rapport à des centroïdes (centre de masse de chaque classe) Ces techniques sont non supervisées
Algorithme d’aggrégation Les algorithmes d’aggrégation prennent en entrée: Les observations Le nombre de classes k (peut ne pas être spécifié) Les valeurs initiales des k centroïdes Les valeurs initiales des centroïdes peuvent être choisies de façon aléatoire mais la connaissance à priori de la structure des classes peut guider leur choix
Algorithme d’aggrégation Trouver le centroïde (classe) le plus proche
Algorithme d’aggrégation Calculer les nouveaux centroïdes
Algorithme k-means L’algorithme k-means est un exemple très utilisé d’algorithme d’agrégation Le critère d’arrêt de l’algorithme k-mean est basé sur la stabilité des moyennes Son taux de convergence est donc assez rapide
Algorithme k-means Initialisation des centroïdes avec les valeurs initiales FIN = FAUX TANT QUE NON FIN FAIRE POUR chaque observation FAIRE Trouver le centroïde le plus proche Placer l’observation dans l’aggrégat le plus proche FIN POUR SI aucun changement des valeurs des centroïdes FAIRE FIN = VRAI SINON Calculer les nouveaux centroïdes FIN SI FIN TANT QUE
Algorithme k-means (illustration de la convergence)
Algorithme k-means (illustration de la convergence)
Implémentation Python Voir le site: https://datasciencelab.wordpress.com/2013/12/12/clustering-with-k-means-in-python/ Génération de jeux de données
Implémentation Python