Hierarchické seskupení
V IT oblasti , přesněji v oblasti analýzy a automatické třídění všech údajů , ponětí o hierarchické seskupení krytů různých clustering metody a je rozdělit do dvou hlavních skupin: metody ‚bottom-up‘ a ‚potomci‘.
Hierarchická sestupná klasifikace
Takzvané metody „shora dolů“ začínají od obecného řešení po konkrétnější. Metody v této kategorii začínají jediným klastrem obsahujícím všechny z nich a poté jsou v každé fázi rozděleny podle kritérií, dokud není získána sada různých klastrů.
Vzestupná hierarchická klasifikace (CAH)
Na rozdíl od takzvaných metod „shora dolů“ se vzestupná hierarchická klasifikace nazývá „zdola nahoru“, protože vychází ze situace, kdy jsou všichni jednotlivci ve třídě sami, poté jsou shromažďováni ve stále větších třídách. Hierarchický kvalifikátor pochází ze skutečnosti, že vytváří hierarchii H , sadu tříd ve všech fázích algoritmu, která ověřuje následující vlastnosti:
-
Ω∈H{\ displaystyle \ Omega \ v H}
: v horní části hierarchie, když se seskupujeme, abychom získali jednu třídu, jsou všichni jednotlivci seskupeni;
-
∀ω∈Ω,{ω}∈H{\ displaystyle \ forall \ omega \ in \ Omega, \ {\ omega \} \ v H}
: ve spodní části hierarchie jsou všichni jednotlivci sami;
-
∀(h,h′)∈H2,h∩h′=∅{\ displaystyle \ forall (h, h ') \ v H ^ {2}, h \ cap h' = \ emptyset}
nebo nebo : vezmeme-li v úvahu dvě třídy seskupení, pak buď nemají společného jednotlivce, nebo je jedna zahrnuta do druhé.h⊂h′{\ displaystyle h \ podmnožina h '}
h′⊂h{\ displaystyle h '\ podmnožina h}
Jedná se o metodu automatické klasifikace používanou při analýze dat ; z množiny z n jednotlivců, jeho cílem je distribuovat tyto jedince do určitého počtu tříd.
Ω{\ displaystyle \ Omega}
Metoda předpokládá, že máme míru odlišnosti mezi jednotlivci; v případě bodů umístěných v euklidovském prostoru můžeme použít vzdálenost jako měřítko odlišnosti. Rozdílnost mezi jednotlivci x a y bude zaznamenána .
dissim(X,y){\ displaystyle dissim (x, y)}
Algoritmus
Zásada
Zpočátku každý jednotlivec tvoří třídu, tj. N tříd. Snažíme se snížit počet tříd na , to se děje iterativně. V každém kroku jsou sloučeny dvě třídy, čímž se snižuje počet tříd. Dvě třídy vybrané ke sloučení jsou ty, které jsou nejblíže, jinými slovy ty, jejichž odlišnost mezi nimi je minimální, tato hodnota odlišnosti se nazývá agregační index . Protože nejbližší jednotlivci jsou shromážděni jako první, první iterace má nízký agregační index, ale bude růst z iterace na iteraci.
nebvs.lnassEs<ne{\ displaystyle nb_ {třídy} <n}
Měření odlišnosti mezi třídami
Odlišnost dvou tříd, z nichž každá obsahuje jednotlivce, je definována jednoduše odlišností mezi jejími jednotlivci.VS1={X},VS2={y}{\ displaystyle C_ {1} = \ {x \}, C_ {2} = \ {y \}}
dissim(VS1,VS2)=dissim(X,y){\ displaystyle dissim (C_ {1}, C_ {2}) = dissim (x, y)}
Pokud mají třídy několik jednotlivců, existuje několik kritérií, která umožňují vypočítat odlišnost. Nejjednodušší jsou následující:
- Minimální skok zachová minimální vzdálenost mezi jednotlivci a : ;VS1{\ displaystyle C_ {1}}
VS2{\ displaystyle C_ {2}}
dissim(VS1,VS2)=minX∈VS1,y∈VS2(dissim(X,y)){\ displaystyle dissim (C_ {1}, C_ {2}) = \ min _ {x \ v C_ {1}, y \ v C_ {2}} (dissim (x, y))}
- Maximální skok je odlišnost mezi jednotlivci a nejdál: ;VS1{\ displaystyle C_ {1}}
VS2{\ displaystyle C_ {2}}
dissim(VS1,VS2)=maxX∈VS1,y∈VS2(dissim(X,y)){\ displaystyle dissim (C_ {1}, C_ {2}) = \ max _ {x \ v C_ {1}, y \ v C_ {2}} (dissim (x, y))}
- Průměrná vazba je pro výpočet průměrné vzdálenosti mezi jednotlivci a : ;VS1{\ displaystyle C_ {1}}
VS2{\ displaystyle C_ {2}}
dissim(VS1,VS2)=mÓyEneneEX∈VS1,y∈VS2(dissim(X,y)){\ displaystyle dissim (C_ {1}, C_ {2}) = průměrný_ {x \ v C_ {1}, y \ v C_ {2}} (dissim (x, y))}
- The Ward vzdálenost klade za cíl maximalizovat inter-class setrvačnost: S a čísla dvou tříd, a jejich příslušné těžišť.dissim(VS1,VS2)=ne1∗ne2ne1+ne2dissim(G1,G2){\ displaystyle dissim (C_ {1}, C_ {2}) = {\ frac {n_ {1} * n_ {2}} {n_ {1} + n_ {2}}} dissim (G_ {1}, G_ {2})}
ne1{\ displaystyle n_ {1}}
ne2{\ displaystyle n_ {2}}
G1{\ displaystyle G_ {1}}
G2{\ displaystyle G_ {2}}
Implementace pseudokódu
Příspěvky:
- jednotlivci: seznam jednotlivců
- nbClasses: počet tříd, které nakonec chceme získat
Konec:
- třídy: seznam tříd zpočátku prázdný, třída je považována za seznam jednotlivců
Pour i=1 à individus.longueur Faire
classes.ajouter(nouvelle classe(individu[i]));
Fin Pour
Tant Que classes.longueur > nbClasses Faire
// Calcul des dissimilarités entre classes dans une matrice triangulaire supérieure
matDissim = nouvelle matrice(classes.longueur,classes.longueur);
Pour i=1 à classes.longueur Faire
Pour j=i+1 à classes.longueur Faire
matDissim[i][j] = dissim(classes[i],classes[j]);
Fin Pour
Fin Pour
// Recherche du minimum des dissimilarités
Soit (i,j) tel que matDissim[i][j] = min(matDissim[k][l]) avec 1<=k<=classes.longueur et k+1<=l<=classes.longueur;
// Fusion de classes[i] et classes[j]
Pour tout element dans classes[j] Faire
classes[i].ajouter(element);
Fin pour
supprimer(classes[j]);
Fin Tant Que
Dendrogram
Dendrogram je grafické znázornění vzestupnou hierarchické klasifikace; Často se prezentuje jako binární strom, jehož listy jsou jednotlivci zarovnané na ose x. Když se dvě třídy nebo dva jednotlivci setkají s agregačním indexem , nakreslí se svislé čáry od úsečky dvou tříd na souřadnici , pak jsou spojeny vodorovným segmentem. Z agregačního indexu můžeme nakreslit souřadnice, která ukazuje klasifikaci na dendrogramu.
Složitější verze klasifikačního stromu mohou potenciálně pomoci vytvořit rozhodovací strom .
τ{\ displaystyle \ tau}
τ{\ displaystyle \ tau}
τ{\ displaystyle \ tau}
τ{\ displaystyle \ tau}
Podívejte se také
Související články
externí odkazy
Bibliografie
Poznámky a odkazy
-
(in) Gabor Székely J. a Maria L. Rizzo, „ Hierarchické shlukování prostřednictvím spojení mezi mezerami: Metoda minimální odchylky Warda. ” , Journal of Classification , sv. 22, n o 2Září 2005, str. 151-183 ( DOI 10.1007 / s00357-005-0012-9 )
<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">