Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSophie Carbonneau Modifié depuis plus de 8 années
1
IFT 501 Recherche d'information et forage de données Chaptitre 8 : Classification automatique concepts de base et algorithmes André Mayers Automne 2014 1
2
L’ALGORITHME DES K-MOYENNES ET SES VARIANTES Section 8.2 (page 496) 2
3
Concepts de base But des algorithmes de cette section : Construire une partition d’une base de données de n objets en K segments. ◦ Étant donné K, trouver une partition de K segments qui optimise une fonction objective (un critère d’évaluation de la segmentation). Pour trouver l’optimum global, il n’y a pas de méthode générale efficace il faut souvent examiner toutes les partitions possibles k-moyennes et k-médoïde sont des méthodes permettant de trouver des optimums locaux. k-moyennes ◦ MacQueen 1967 ◦ Chaque segment est représenté par son centre. k-medoïdes or PAM (Partition around medoids) ◦ Kaufman & Rousseeuw, 1987 ◦ Chaque segment est représenté par un objet du segment. 3
4
Trace d’exécution de k-moyennes 0 1 2 3 4 5 6 7 8 9 10 0123456789 0 1 2 3 4 5 6 7 8 9 0123456789 K=2 choisir deux objets comme centres affecter tous les objets au centre le plus proche mettre à jour les centres des segments réaffecter 4
5
L’algorithme des K-moyennes Sélectionner K points pour être les centroïdes initiaux ◦ Peut-être fait aléatoirement ou en partitonnnant la base de données en K partitions dont on choisit le centroïde Tant que les centroïdes changent d’une itération à l’autre ◦ Former les K segments en affectant chacun des points au centroïde le plus proche ◦ Recalculer le centroïdes de chaque segment Caractéristiques ◦ L’idée de base de l’algorithme est très simple ◦ Segmentation par partitionnement ◦ Les segments sont définis par leurs prototypes ◦ Le nombre de segments doit être spécifié ◦ Il faut choisir une fonction distance une définition de centroïde 5
6
Commentaires généraux sur l’algorithme Les centroïdes initiaux peuvent varier d’un essai à l’autre ◦ Les segments produits peuvent différer d’un essai à l’autre Le centroïde est typiquement le centre des points La proximité est typiquement mesurée par la distance euclidienne, la similarité du cosinus, … L’algorithme converge en général pour les mesures typiques de similarité Souvent l’algorithme converge en quelques itérations ◦ la condition d’arrêt peut être “seul l’appartenance d’un petit nombre de points est modifié d’une itération à l’autre” Complexité est O( n * K * I * d ) ◦ n = # de points, K = # de segments, I = # d’itérations, d = # d’attributs 6
7
2 partitions différentes produites par 2 exécutions de l’algorithme Partitionnement non- optimalPartitionnement optimal Les données 7
8
Description des symboles x : Un objet C i : le i ième segment c i : Le centroïde du segment C i. c : Le centroïde de l’ensemble des données. m i : # d’objets dans le i ème segment. m : # d’objets dans la base de données K : # segments Remarque : le centroïde n’est pas nécessairement celui de la physique, i.e. la moyenne 8
9
La définition de la fonction objective et du centroïde La fonction objective d’un algorithme de forage de donnée est une fonction que l’on cherche à maximiser ou minimiser afin de se rapprocher du résultat voulu. Les algorithmes sont conçus pour itérer tant que l’évaluation de la fonction objective n’a pas atteint un seuil déterminé. Pour l’algorithme K-moyennes, cette évaluation est cachée sous l’étape « Tant que les centroïdes changent d’une itération à l’autre » ◦ Si les centroïdes changent, c’est que toutes les données n’avaient pas été associées au centroïde le plus proche et que les centroïdes idéaux selon cet algorithme n’avaient pas été trouvés. Un centroïde idéal celui qui minimise sa distance aux points qui lui sont associés ◦ La notion de distance peut varier avec la nature du problème 9
10
Les mesures de distances 10
11
Fonction objective et centroïde pour un espace euclidien 11
12
Fonction objective et centroïde pour des données documentaires 12
13
L’impact du choix des centroïdes inititiaux S’il y a autant de centroïdes qu’il y a de vrais segments et qu’ils se trouvent chacun dans un segment alors l’algorithme converge vers les vrais segments ◦ Mais on ne connait pas au départ où se trouvent les segments et on ignore parfois le nombre de segments. Les prochaines diapositives illustrent ce qui se passe lorsque les centroïdes ne se trouvent pas dans les segments 13
14
L’impact du choix des centroïdes inititiaux 14
15
L’impact du choix des centroïdes intitiaux 15
16
L’impact du choix des centroïdes intitiaux 16 Centres des segments choisis initialement
17
L’impact du choix des centroïdes intitiaux 17
18
L’impact du choix des centroïdes intitiaux 18 Comment est-on arrivé à un tel résultat ? (prochaine diapositive)
19
L’impact du choix des centroïdes intitiaux La capture de deux segments par un centroïde est possible si 1) deux segments sont plus proches entre eux que entre chacun de ceux-ci et les autres segments ; 2) il y a un seul centroïde proche de ces 2 segments. 19
20
L’impact du choix des centroïdes intitiaux Chaque paire de segments rapprochés ont deux centroïdes 20
21
L’impact du choix des centroïdes intitiaux Les paires de segments rapprochés n’ont pas deux centroïdes 21
22
La sélection des centroïdes initiaux La probabilité d’avoir un seul centroïde dans chaque segment (K est le nombre de segments réels) diminue rapidement avec la valeur de K et la taille des segments 22
23
Solution au problème des centroïdes initiaux Multiples exécutions ◦ Les probabilités ne sont pas de notre côté À partir d’un échantillon, déterminer les centroïdes initiaux par une méthode de segmentation hiérarchique Choisir un premier centroïde aléatoirement ou comme étant le centre des données et ensuite choisir sucessivement k-1 centroïdes comme étant les points les plus éloignés des centroïdes déjà choisis. Traiter le problème une fois la segmentation terminée voir diapositive un peu plus loin Choisir une variante moins susceptible au problème du choix des centroïdes initiaux ◦ Mise à jour incrémentale des centroïdes exemple : K-moyen par bisection voir diapositives un peu plus loin 23
24
Que faire des segments vides L’algorithme de base peut donner naissance à des segments vides Plusieurs stratégies pour choisir un autre centroïde ◦ Choisir le point qui se trouve le plus loin de tous les autres centroïdes au minimum, on enlève le point qui contribue le plus à la valeur du SSE ◦ Choisir un point à l’intérieur du segment ayant le plus grand SSE Cela entraînera la division de ce segment en deux ◦ S’il y a plusieurs segments vides alors il faut réappliquer l’une des 2 statégies précédentes. 24
25
Réduction du SSE lors du post-traitement Comme le SSE total est la somme des SSE des segments, les stratégies consistent à diminuer globalement le SSE des segments. Pour conserver K constant, les stratégies alternent entre deux phases : 1.division d’un segment ou introduction d’un nouveau centre 2.fusion de deux segments ou dispersion d’un segment division d’un segment ◦ Celui qui contribue le plus au SSE total ou celui dont l’écart type d’un de ses attributs est le plus grand introduction d’un nouveau centre ◦ souvent le point le plus éloigné de tous les centres ou un point du segment contribuant le plus au SSE total fusion de deux segments ◦ souvent les segments les plus rapprochés, ou les deux dont la fusion accroît le moins le SSE total dispersion d’un segment ◦ il s’agit de réaffecter tous les point du segment contribuant le plus au SSE total. 25
26
Mise à jour incrémentale des centroïdes Dans l’algorithme k-moyennes de base, tous les centroïdes sont recalculés après que tous les points ont été affectés à des segments. Une alternative est de recalculer les centroïdes après chaque affectation (approche incrémentale) Les caractéristiques de la mise à jour incrémentale ◦ Chaque affectation entraîne le calcul de 0 (affecter au même segment) ou 2 centroïdes (affecter à un autre segment) ◦ Possible de calculer l’affectation qui optimise une fonction objective arbitraire (différente de SSE total) ; ◦ Plus coûteux Mais comme la convergence est souvent rapide, le nombre de points réaffectés baisse rapidement ◦ Introduit une dépendance sur l’ordre des points choisis ◦ N’introduit jamais de segments vides 26
27
Le prétraitement des données La normalisation des données permet de rendre les segments indépendants des unités de mesure des attributs L’élimination des données marginales permet d’obtenir des centres de segment plus significatifs et mènent à une réduction du SSE total. ◦ Trouver les données marginales n’est pas toujours évident 27
28
Algorithme des k-moyennes par bisection 1. ListeDesSegments [ ] ◦ ; un seul segment contenant tous les points 2. Tant que ListeDesSegments ne contient pas K segments faire 1.Choisir un segment de ListeDesSegments et le supprimer de la liste Plusieurs stratégies pour choisir le segment à diviser le plus gros celui qui contribue le plus au SSE total une combinaison des deux stratégies précédentes 2.Appliquer n fois l’algorithme k-moyenne avec K=2 sur ce segment 3.Ajouter la paire de segments qui minimise le SSE à ListeDesSegments 3. Appliquer K-moyenne en prenant comme point de départ ListeDesSegments ◦ les centroïdes menant à un minimum local pour chaque paire ne sont pas ceux qui menant à un minimum local pour les K segments Si on mémorise les bisections choisies de segments, on obtient une segmentation hiérarchique 28
29
K-moyenne par bisection : figure 8.8 29
30
Les limites de l’algorithme des k-moyennes k-moyennes donne parfois une solution qui ne se rapproche pas des segments naturels si ceux-ci sont ◦ de différentes tailles ◦ de différentes densités ◦ n’ont pas une forme globulaire k-moyenne peut donner de mauvais résultats s’il y a des données marginales Le centre d’un segment peut ne pas ressembler à aucun point réel. 30
31
effets des données marginales 31
32
effets des données marginales 32
33
effets de segments ayant des densités différentes la base de données la segmentation avec k-moyennes (K=3) 33
34
effets des segments non convexes la base de données 34
35
effets des segments non convexes … la segmentation avec k-moyennes (K=2) 35
36
effets des segments non convexes … la base de données la segmentation avec k-moyennes (K=2) 36
37
Aller au-delà des limites de K-moyennes La base de données Les segments produits par k moyenne Il s’agit ici de choisir K > # segment réels pour obtenir des sous-segments des segments réels et ensuite de combiner ces sous-segments. 37
38
Fuzzy C-Means (FCM), Dunn,1973 Une fonction d’appartenance détermine le degré d’appartenance de chaque point à chaque segment. Souvent utilisé dans la reconnaissance des motifs ◦ (pattern recognition) Utilise la fonction objective suivante 38
39
L’algorithme Fuzzy C-Means (FCM) 39
40
L’algorithme Fuzzy C-Means (FCM) 40 n données k segments
41
L’algorithme Fuzzy C-Means (FCM) 41
42
K-médoïdes PAM (Partitioning Around Medoids) PAM (Kaufman and Rousseeuw, 1987), mis en oeuvre en S+ Utilise les objets de la base de données pour représenter les segments 42
43
Algorithme de PAM (Partitioning Around Medoids) 43 1.Choisir K médoïdes arbitrairement parmi les objets 2.Affecter chaque objet au médoïde le plus proche 3.Pour chaque paire (o h, o k ) où o h est un non-médoïde o k est un médoïde TC kh le coût total de l’échange (swap o h o k ) si TC kh < 0, alors remplacer o k par o h 4.Répéter l’étape 2 et 3 tant qu’il y a des échanges La prochaine diapositive explique comment calculer TC kh
44
TCkh : le coût total de l’échange de ok par oh 44 TC kh = i C ikh on considère l’échange de o k par o h où o k est le médoïde actuel, o h est choisi aléatoirement parmi les non-médoïdes o i est un non-médoïde quelconque ≠ o h o newmedi le médoïde le plus proche de o i après l’échange o oldmedi le médoïde le plus proche de o i avant l’échange C ikh = dist(o i, o newmedi ) – dist(o i, o oldmedi )
45
C ikh : le coût de l’échange de o k par o h h k t i 45 après l’échange t k h i i k h t t k hi
46
Illustration de l’ algorithme PAM 46 Coût total = 20 0 1 2 3 4 5 6 7 8 9 10 0123456789 K=2 Choisir aléatoire ment k objets Affecter chaque objet au médoïde le plus proche Choisir aléatoirement O ramdom un objet ≠ médoïde Calculer le coût total de l’échange 0 1 2 3 4 5 6 7 8 9 10 0123456789 Coût total = 26 S’il y a amélioration échanger le médoïde O avec O ramdom Itérer, tant qu’il y a des modifications 0 1 2 3 4 5 6 7 8 9 10 0123456789
47
Critique de l’algorithme PAM L’algorithme PAM donne de bons résultats sur de petites bases de données mais sa complexité ne lui permet pas de traiter de grandes bases de données 47
48
CLARA (Clustering Large Applications) CLARA (Kaufmann and Rousseeuw in 1990) ◦ mis en oeuvre en S+ schéma de l’algorithme ◦ applique PAM à plusieurs échantillons de la base de données ◦ retourne les médoïdes de l’échantillon ayant la meilleure fonction objective s’applique à de grandes bases de données son efficacité dépend de la taille des échantillons si les médoïdes proviennent d’un échantillon biaisé alors ils ne sont pas similaires à ceux que l’on aurait trouvés avec toute la base de données 48
49
CLARANS (A Clustering Algorithm based on Randomized Search) CLARANS (Ng and Han, 1994) ◦ “Randomized” CLARA CLARANS crée des échantillons de voisins dynamiquement Le processus de segmentation peut être présenter comme une fouille dans un graphe où chaque noeud est une solution potentielle ◦ une solution = un ensemble de k médoïdes Si un optimum local est trouvé, CLARANS est réinitialisé avec un noeud choisi aléatoirement et continue sa fouille pour trouver un nouvel optimum local Il est plus efficace et évolutif (scalable) que PAM et CLARA Focusing techniques and spatial access structures may further improve its performance (Ester et al.’95) 49
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.