Algoritmus CURE

CURE ( Clustering Using Representatives ) je účinný algoritmus shlukové analýzy pro velké databáze .  Algoritmus je ve srovnání s metodou k-means odolnější vůči odlehlým hodnotám a je schopen detekovat shluky, které nemají kulový tvar as velkým rozptylem velikosti.

Nevýhody tradičních algoritmů

Populární algoritmus k-means minimalizuje součet čtvercových chyb :

Pokud existuje velký rozdíl ve velikosti nebo geometrii různých shluků, metoda kvadratické chyby může rozdělit velké shluky, aby se minimalizovala druhá mocnina chyby, což není vždy správné. Také v případě hierarchických shlukovacích algoritmů je tento problém přítomen, protože žádný z měřítek vzdálenosti mezi shluky ( ) nemá tendenci pracovat s různými formami shluků. Také doba běhu je velká, pokud je n velké.

Problém s algoritmem BIRCH je v tom, že při generování shluků po kroku 3 používá algoritmus těžiště shluků a přiřazuje každou informaci shluku s nejbližším těžištěm. Použití pouze těžišť k přerozdělení bodů má problém, pokud shluky netvoří jednotné velikosti a tvary.

Shlukovací algoritmus CURE

Aby se předešlo problémům s nejednotnými velikostmi nebo tvary shluků, používá CURE hierarchický shlukovací algoritmus , který vytváří kompromis mezi těžištěm a všemi extrémy. V algoritmu CURE jsou vybrány konstantní body shluku c s dobrým rozložením a tyto body jsou staženy do těžiště shluku o nějakou hodnotu. Body po kontrakci se používají jako zástupci shluku. Shluky s nejbližší dvojicí zástupců jsou kombinovány v každém kroku hierarchického shlukovacího algoritmu CURE. To umožňuje algoritmu CURE správně rozpoznat shluky a činí jej méně citlivým na odlehlé hodnoty.

Doba běhu je O( n 2 log n ), což jej činí poměrně drahým, a prostorová složitost algoritmu je O( n ).

Algoritmus nelze použít přímo na velkou databázi z důvodu vysoké výpočetní náročnosti. Následující vylepšení řeší tento problém.

Pseudokód

CURE (počet bodů, k )

Vstup: Sada bodů S

Výstup: k clusterů

Dostupnost

Viz také

Poznámky

Literatura