Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Comparaison de différentes techniques d’optimisation pour l’apprentissage non-supervisé Alexandre Bargeton Benjamin Devèze Université Pierre et Marie Curie Présentation du projet PRREC Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations 1 Apprentissage non-supervisé Introduction Etat de l’art 2 Métaheuristiques d’optimisation Introduction Etat de l’art Analyse 3 Métaheuristiques et Clustering Introduction Recherche locale 4 Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Apprentissage non-supervisé Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Problématique Données Un langage de représentation L N exemples xi , décrits dans L Objectif Trouver une fonction ψ qui à chaque description de L associe une classe Ci Construire une organisation de l’espace de représentation qui soit compatible avec les exemples xi Similarité intra-classe / Dissimilarité inter-classe Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Formalisme attribut - valeur Notation Chaque exemple xi = (xi 1 , ..., xid ) ∈ A, A est l’espace des attributs xil ∈ Al , Al un attribut Types d’attribut Symbolique, catégoriel : ensemble limitativement énumérable de valeurs symboliques avec éventuellement une notion d’ordre Numérique : entier ou réel Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Distances et mesures de similarité Objectif Rendre compte de la similarité / dissimilarité entre 2 exemples. Problème Différences entre attributs numériques / symboliques. Mesures de distances Numériques : Minkowski, Euclidienne, Mahalanobis, corrélation de Pearson, similarité cosinus, ... Symboliques : Russel et Rao, Kendall, Sokal et Michener, Jaccard , ... Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Evaluation du clustering Objectif Evaluer la qualité des classes produites mais également la pertinence des représentants de ces classes. Plusieurs méthodes Avec étiquetage connu a priori Conformation de classe (retrouver automatiquement l’étiquetage) Entropie des clusters + entropie de classe Sans étiquetage Compacité + séparation Indice de Dunn Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Classification des méthodes Quelques critères Méthodes agglomératives (ascendantes) / discriminatives (descendantes) Structures produites (partition, recouvrement) Hard Clustering / Fuzzy Clustering Méthodes stochastiques / déterministes Méthodes incrémentales / non incrémentales Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Clustering hiérarchique Principes Génération d’une hiérarchie de clusters Distance entre ensembles de points (minimum, maximum, moyenne, ...) Exemple COBWEB Clustering conceptuel, incrémental Mesure heuristique : Category Utility Sensible à l’ordre de présentation des données Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Clustering de partitionnement Principes Construction d’une partition de l’ensemble de départ Quelques algorithmes EM Maximisation de la vraisemblance des données Optimisation en 2 étapes (Expectation - Maximisation) K-medoids, K-means, K-modes Processus itératif en 2 étapes Minimisation de la somme des carrés des distances entre les exemples et les centroı̈des Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Autres méthodes Clustering basé sur la densité Définition de voisinage connexe par une distance ǫ et un nombre MinPoints Exemple : DBSCAN Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Limitations Défauts des algorithmes classiques Retourne des optima locaux potentiellement loins de l’optimum global (EM, K-means) Donner le nombre de classes à générer (K-means) Sensibilité à l’ordre des données en entrée (Cobweb) Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Métaheuristiques d’optimisation Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Problématique Données Une fonction objectif à optimiser Un espace de recherche discret combinatoire ou continu ne pouvant raisonnablement être parcouru exhaustivement Des opérateurs de voisinage permettant de passer d’un état à un état proche Objectif Trouver une solution approchée de l’optimum global en explorant ”intelligemment” l’espace de recherche Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse De l’optimisation difficile Difficile (cas discret) ? Problèmes combinatoires pour lesquels on ne connaı̂t pas d’algorithme exact polynomial Problèmes dits NP-difficiles Résolution Existence d’heuristiques produisant des solutions proches de l’optimum Mais conçues spécifiquement pour un problème donné Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Description Principales caractéristiques stochastiques directes, pas de calcul de gradient sur la fonction objectif inspirées par des analogies avec la nature, la biologie, l’éthologie, la physique basées sur un équilibre entre intensification et diversification pour échapper aux optima locaux partagent les même défauts Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Classification des méthodes Méthodes de recherche locale Méthodes de descente Recuit simulé, grand déluge, record en record Recherche tabou Méthodes à base de populations Algorithmes évolutionnaires, algorithmes génétiques Colonies de fourmis Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Réglages des méthodes Problématique Réglage des nombreux paramètres Choix d’un bon voisinage Solution Expériences empiriques et/ou expérience de l’utilisateur. Attention : méthodes stochastiques, prévoir plusieurs séries de tests Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Comparaison des méthodes Problématique Comparaison des différentes méthodes Solution Attention : Le temps de calcul n’est pas une solution convenable Optimiser la qualité des solutions Minimiser l’effort de calcul nécessaire pour y parvenir Utiliser des moyennes sur de nombreuses itérations Procédure de rang Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Etat de l’art Analyse Bilan Intérêts Trouver une solution approchée de l’optimum global en s’extrayant des optima locaux Générique Limitations Sensibilité aux paramètres, nombreux paramètres Réglages empiriques Relativement peu de résultats théoriques Difficulté de choix de la méthode la plus adaptée à un problème Coûteux en temps de calcul Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Recherche locale Métaheuristiques et Clustering Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Recherche locale Objectifs Pourquoi utiliser les métaheuristiques pour le clustering ? Le clustering se ramène souvent à l’optimisation d’une fonction objectif Explosion combinatoire au niveau de l’espace des solutions Les algorithmes classiques (EM, K-means) convergent vers un optimum local (potentiellement loin de l’optimum global) Pallier les limitations des algorithmes classiques Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Recherche locale Recherche tabou et clustering - Exemple 1 Michael K. Ng and Joyce C. Wong. Clustering categorical data sets using tabu search techniques. Pattern Recognition, 2002. Description Pk Pn l=1 (n) (n) i =1 wli [dn (zl , xi ) (c) (c) + βdc (zl , xi )] Voisinage : déplacement aléatoire d’un centroı̈de Résultats meilleurs que l’algorithme classique Coûteux en temps de calcul Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Introduction Recherche locale Recherche tabou et clustering - PRESS J. Velcin and J.G. Ganascia. Stereotype extraction with default clustering. 2005. Description Clustering conceptuel basé sur la logique des défauts Voisinage : ajout ou retrait d’un descripteur d’un stéréotype, ajout ou suppression d’un stéréotype Trouve tout seul le nombre de classes Traitement des données lacunaires Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Nos expérimentations Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Description Objectif Mettre en pratique les connaissances acquises Pouvoir effectuer des comparaisons empiriques. Ce que nous avons implémenté En mettant l’accent sur la généricité et la réutilisation méthodes de descente recuit simulée grand déluge record en record recherche tabou algorithmes génétiques Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Architecture Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Validation de l’implémentation Nécessité de validation de l’implémentation Test sur 2 problèmes classiques où les coûts optimaux sont connus Le placement de composants électroniques Le problème du voyageur de commerce (1000 villes) Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Description Description de l’algorithme Utilisation des métaheuristiques ⇒ modélisation du problème sous forme : d’états (coordonnées des centroı̈des dans l’espace des attributs) voisinage (bouger aléatoirement un centroı̈de) fonction objectif à minimiser (compacité - séparation) Chaque exemple est assigné au centroı̈de qui lui est le plus proche (à la manière de K-means). Les méthodes de distances (Russel Rao, Jaccard,...) sont toutes implémentées et sont au choix de l’utilisateur au moment de l’exécution, ainsi que le choix de la métaheuristique et de ses paramètres Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Intégration à Weka Weka ”Collection of machine learning algorithms for solving data mining problems implemented in Java and open sourced under the GPL.” Intérêts Exploiter l’interface graphique offerte par Weka, notamment pour l’importation et l’exportation des fichiers Prétraitement, visualisation des données Support du format de fichier arff et de ses évolutions futures Comparaison aisée de nos résultats avec les algorithmes déjà implémentés (EM, K-means, COBWEB, ...) Partager nos développements Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Description des tests Mode opératoire Moyenne sur 100 tentatives Test 1 1230 instances sur 2 attributs numériques 9 clusters visibles à l’oeil Test 2 Description du règne animal 101 instances, 18 attributs dont 17 symboliques, 7 classes Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Test 1 - Résultats D. Simple D. Grande Recuit Simulé Grand Deluge Record Recherche Tabou AG Population AG Incremental Etats 23251 55025 16521 5001 17901 12432 15680 17907 Temps (s) 50,046 188,908 45,713 10,969 42,488 28,203 41,400 45,504 Coût 0.073 0.071 0.075 0.095 0.073 0.077 0.094 0.083 Tab.: Résultats du test 1 Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Test 1 - Visualisation Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Test 2 - Résultats EM FarthestFirst Kmeans D. Simple D. Grande Recuit Simulé Grand Deluge Record Recherche Tabou AG Population AG Incremental Erreurs 33 28 28 25 25 24 18 22 22 33 28 % d’erreurs 32.67 27.72 27.72 24.75 24.75 23.76 17.82 21.78 21.78 32.67 27.72 Tab.: Résultats du test 2 Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Coût 0.60 0.60 0.62 0.63 0.62 0.61 0.53 0.48 Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Conclusions Métaheuristiques Bonnes solutions Coûteuses en temps de calcul Sensibles aux réglages (nombreux paramètres) Sensibles à la définition du voisinage et de la fonction objectif Choix de la métaheuristique appropriée au problème ? A noter Il semble que toutes les méthodes se valent plus ou moins sur les données relativement simples. Algorithmes génétiques incrémentales sont une bonne surprise. Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Perspectives Perspectives envisageables Améliorer l’algorithme de clustering naı̈f (découverte automatique du nombre de clusters) Comparaison plus poussée des différentes métaheuristiques Configuration automatique des paramètres et de la méthode à utiliser Intégrer complétement PRESS à Weka afin de pouvoir utiliser et comparer d’autres métaheuristiques que la recherche tabou Se pencher sur les méthodes hybrides (initialisation par metaheuristique puis exploration par algorithme classique) Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation Apprentissage non-supervisé Métaheuristiques d’optimisation Métaheuristiques et Clustering Nos expérimentations Implémentation des métaheuristiques Algorithme naı̈f de clustering Nos résultats Conclusions Questions ? Alexandre Bargeton, Benjamin Devèze Apprentissage et Optimisation