Shlukovací algoritmy založené na vzorkování Marta Žambochová Katedra matematiky a statistiky Fakulta sociálně ekonomická Univerzita J. E. Purkyně v Ústí nad Labem 3.– 5. června 2012 Nové Hrady
Motivace Potřeba metod pro analýzu dat velkých datových souborů Minimalizace počtu průchodů celým datovým souborem Výběr vzorku dat
Algoritmy využívající ke vzorkování stromy CLARANS (pro velké datové soubory) (Clustering Large Application based on RANdomized Search) BIRCH (Balanced Iterative Reducing and Clustering using Hierarchies) SCAHIPAT (Spatial Clustering Algorithm Based on Hierarchical-Partition Tree)
CLARANS (pro velké soubory) R*- stromy 8 29 3 1 2 4 6 7 9 15 26 30 35 40 43
CLARANS náhodný výběr k medoidů přiřazení zbývajících objektů k jim nejbližšímu medoidu náhodný výběr jednoho zástupce z medoidů a náhodný výběr jednoho z objektů zkoumaného souboru, který není medoidem zjištění, zda by záměnou těchto dvou objektů došlo ke zlepšení pokud by ke zlepšení došlo, provede záměnu
BIRCH CF - stromy
BIRCH vytvoření CF-stromu postupným zařazením datových objektů kondenzace vytvořeného CF-stromu a optimalizace jeho velikosti shlukování listových vrcholů pomocí aglomerativního hierarchického algoritmu shlukování (přerozdělení objektů k jejich nejbližším centrům, a tím získání nového složení shluků)
SCAHIPAT H-P stromy (Hierarchical-Partition Tree)
SCAHIPAT vytvoření H-P stromu výpočet statistik (hustota, hranice) pro každou podmnožinu spojování vhodných podmnožin vyřazení objektů, které jsou podezřelé z odlehlosti
Algoritmy nevyužívající ke vzorkování stromy BIRCH k-průměrů FEKM (Fast and Exact K-Means)
BIRCH k-průměrů Shluky (skupiny) objektů Upravená varianta algoritmu BIRCH Nevytváří CF-strom Uspořádaná trojice údajů (m, q, b), kde m je velikost daného shluku, q je kvalita daného shluku (součet druhých mocnin vzdáleností centroidu od všech objektů ve shluku) a b je centroid shluku
FEKM Náhodný výběr Postup zpracování: Prvotní vytvoření přiměřeně velkého výběrového souboru z původního souboru dat V rámci tohoto souboru jsou vytvořeny shluky pomocí klasického algoritmu k-průměrů V každé iteraci se zaznamená všech k center a k nim popisné statistiky V druhé fázi algoritmus prochází celý datový soubor Každý datový objekt se přiřadí do určitého shluku (k nejbližšímu centru) Problém chybného zařazení do shluku se týká především objektů ležících na okraji shluků Ve třetí fázi se algoritmus zabývá podezřelými okrajovými body, které odhalila a uložila předchozí fáze Provádí se přepočet s využitím uložených statistik popisujících každý jednotlivý shluk a podezřelých okrajových objektů. Pokud existuje přepočtené centrum, které je od původního více vzdálené, než předem zadaná kritická hodnota, vrací se algoritmus do druhé fáze a probíhá opětovný průchod celým datovým souborem
Shrnutí Nevýhoda většina zmíněných algoritmů = vzorkování přináší zhoršenou kvalitu shlukování Nevýhoda algoritmu FEKM = malý počet průchodů celým souborem pouze ve výjimečných případech, závisí na prvotním vzorku dat Bylo by možné zkombinovat některý z uvedených algoritmů s algoritmem FEKM tak, aby bylo dosaženo lepších výsledků?