AVDAT Mnohorozměrné metody, metody klasifikace Shluková analýza Josef Tvrdík Katedra informatiky Přírodovědecká fakulta Ostravská univerzita
Shluková analýza Cílem shlukové analýzy je nalézt v datech podmnožiny podobných objektů. Mějme množinu m objektů, tuto množinu označme M. Pro každé dva objekty a, b M máme číslo σ(a, b), kterému říkáme numerická podobnost. σ : M M R Požadavky na vlastnosti numerické podobnosti: 1 0 σ(a, b) 1 2 σ(a, a) = 1 3 σ(a, b) = σ(b, a) 4 min(σ(a, b), σ(b, c)) σ(a, c) trojúhelníková nerovnost
Shluková analýza Najít rozklad {M i } k i=1, množiny M k 1 M i = M i=1 2 M i M j = 0 pro i j 3 vágní kritérium: objekty uvnitř M i jsou si podobnější mezi sebou než s objekty z množiny M j, např. když a, b M i, c M j, pak σ(a, b) σ(a, c), σ(a, b) σ(b, c) Je mnoho možností, jak definovat numerickou podobnost, jak formulovat postup zařazování objektů do podmnožin, Existuje mnoho metod shlukování
Shluková analýza Charakteristiku (1 σ(a, b)) můžeme chápat jako normovanou vzdálenost dvou objektů a, b. normovaná vzdálenost na [0, 1], d (a, b) = 1 σ(a, b)
Shluková analýza Mnoho způsobů, jak definovat vzdálenost dvou bodů: d(i, i ) = x i x i p = 1 Eukleidovská vzdálenost dvou objektů i, i D E (i, i p p ) = (x ij x i j) 2 = dj 2 (i, i ) Normovaná vzdálenost D N (i, i p p ) = (z ij z i j) 2 = d 2 j (i, i ) s 2 j vzdálenost dvou objektů i, i v L 1 normě (Manhatan) D E (i, i ) = p x ij x i j = p d j (i, i )
Shluková analýza Co je to vzdálenost mezi shluky? nejbližší body? nejvzdálenější body? průměrná vzdálenost? vzdálenost těžišt shluků? Existuje mnoho metod, jak řešit danou úlohu
Shluková analýza hierarchické metody Aglomerativní procedura: Začne od m shluků (každý shluk je tvořen jedním objektem) Postupně spojuje ty shluky, které jsou si nejpodobnější Skončí jedním shlukem, obsahujícím všech m objektů. Rozklady jsou do sebe zasunuty, objekty jednou spojené do shluku zůstávají spolu. Posloupnost spojování můžeme je graficky znázornit dendrogramem.
Shluková analýza hierarchické metody Nejčastěji užívané strategie spojování shluků: single linkage (nejbližší soused, nearest neiborough) - shluk tvoří souvislý podgraf, tj. existuje aspoň jedna cesta mezi dvěma uzly podgrafu, nejméně přísná metoda na podobnost uvnitř shluků, shluky mají tvar souhvězdí complete linkage (nejvzdálenější soused, furthest neiborough) shluk tvoří úplný podgraf, tj. každé dva uzly podgrafu jsou spojeny hranou, nejpřísnější na podobnost uvnitř shluku average linkage - spojuje shluky podle jejich průměrné vzdálenosti centroidní - spojuje shluky podle vzdáleností jejich těžiště
Shluková analýza hierarchické metody, single linkage
Shluková analýza hierarchické metody, complete linkage
Shluková analýza nehierarchické metody, k-means Počet shluků k je předem znám, objekty se rozdělují do shluků tak, aby rozptyl uvnitř shluků byl co nejmenší. Jde tedy o to, abychom nalezli takové přiřazení objektů do shluků tak, aby stopa matice W byla minimální. W = k W g, (1) g=1 W g je Wishartova matice pro shluk g, tj. n g W g = (x (g) j x (g) )(x (g) j x (g) ) T, (2) kde x (g) j je vektor hodnot veličin j-tého objektu v g-tém shluku, ( x (g) ng ) = x(g) j /n g je vektor průměrů (centroid) g-tého shluku.
Shluková analýza nehierarchické metody, k-means Kritériem, jež má být minimalizováno, je pak TRW = tr(w). (3) Je možné zvolit i jiná kritéria klasifikace (Mariott, Dunn atd.) Najít globální minimum je algoritmicky obtížný problém, který neumíme vyřešit v polynomiálním čase.
Shluková analýza nehierarchické metody, algoritmus k-means Obvykle se užívá se algoritmus k-means, který umí najít přijatelné lokální minimum pro většinu jednodušších klasifikačních úloh: 1 Nejdříve se k centroidů (těžišt shluků) zvolí náhodně, bud se vybere náhodně k objektů ze zadaných dat nebo se objekty náhodně klasifikují do k shluků a spočítají jejich těžiště (vektor průměrů). 2 Objekty se zařadí do shluku, jehož těžišti jsou nejbližší a spočítá se nové těžiště každého shluku. 3 Krok 2 se opakuje tak dlouho, dokud dochází ke změně klasifikace objektů.