Comparaison de différentes techniques d`optimisation pour l

publicité
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
Téléchargement