logo

Shlukování ve strojovém učení

Clustering neboli shluková analýza je technika strojového učení, která seskupuje neoznačenou datovou sadu. Lze jej definovat jako „Způsob seskupování datových bodů do různých shluků sestávajících z podobných datových bodů. Objekty s možnými podobnostmi zůstávají ve skupině, která má menší nebo žádné podobnosti s jinou skupinou.“

Dělá to tak, že v neoznačeném souboru dat najde nějaké podobné vzory, jako je tvar, velikost, barva, chování atd., a rozdělí je podle přítomnosti a nepřítomnosti těchto podobných vzorů.

Je to an učení bez dozoru algoritmu není poskytován žádný dohled a pracuje s neoznačenou datovou sadou.

Po použití této techniky shlukování je každému clusteru nebo skupině přiděleno ID clusteru. Systém ML může toto ID použít ke zjednodušení zpracování velkých a komplexních datových sad.

Technika shlukování se běžně používá pro statistická analýza dat.

java mvc

Poznámka: Clustering je někde podobný jako klasifikační algoritmus , ale rozdíl je v typu datové sady, kterou používáme. Při klasifikaci pracujeme s označeným souborem dat, zatímco při shlukování pracujeme s neoznačeným souborem dat.

Příklad : Pojďme pochopit techniku ​​shlukování na reálném příkladu Mall: Když navštívíme jakékoli nákupní centrum, můžeme pozorovat, že věci s podobným použitím jsou seskupeny dohromady. Například trička jsou seskupena v jedné sekci a kalhoty jsou v jiných sekcích, podobně jsou v sekci zelenina jablka, banány, mango atd. seskupeny do samostatných sekcí, abychom věci snadno zjistili. Technika shlukování také funguje stejným způsobem. Další příklady shlukování jsou seskupování dokumentů podle tématu.

Technika shlukování může být široce používána v různých úlohách. Některá nejběžnější použití této techniky jsou:

  • Segmentace trhu
  • Statistická analýza dat
  • Analýza sociálních sítí
  • Segmentace obrazu
  • Detekce anomálií atd.

Kromě těchto obecných zvyklostí jej používají Amazonka ve svém systému doporučení, aby poskytoval doporučení podle předchozího vyhledávání produktů. Netflix také používá tuto techniku ​​k doporučení filmů a webových seriálů svým uživatelům podle historie sledování.

co je obj v javě

Níže uvedený diagram vysvětluje fungování shlukovacího algoritmu. Můžeme vidět, že různé druhy ovoce jsou rozděleny do několika skupin s podobnými vlastnostmi.

Shlukování ve strojovém učení

Typy shlukovacích metod

Metody shlukování jsou široce rozděleny na Tvrdé shlukování (datový bod patří pouze do jedné skupiny) a Měkké shlukování (datové body mohou patřit i do jiné skupiny). Existují však i další různé přístupy shlukování. Níže jsou uvedeny hlavní metody shlukování používané ve strojovém učení:

    Rozdělení do clusterů Shlukování na základě hustoty Klastrování založené na distribučním modelu Hierarchické shlukování Fuzzy Clustering

Rozdělení do clusterů

Je to typ shlukování, které rozděluje data do nehierarchických skupin. To je také známé jako metoda založená na centroidech . Nejběžnějším příkladem dělení do clusterů je Algoritmus shlukování K-Means .

V tomto typu je datová sada rozdělena do sady k skupin, kde K se používá k definování počtu předdefinovaných skupin. Střed shluku je vytvořen tak, že vzdálenost mezi datovými body jednoho shluku je minimální ve srovnání s těžištěm jiného shluku.

Shlukování ve strojovém učení

Shlukování na základě hustoty

Metoda shlukování založená na hustotě spojuje oblasti s vysokou hustotou do shluků a libovolně tvarované distribuce se vytvářejí tak dlouho, dokud lze hustou oblast propojit. Tento algoritmus to dělá tak, že identifikuje různé shluky v datové sadě a spojuje oblasti s vysokou hustotou do shluků. Husté oblasti v datovém prostoru jsou od sebe odděleny řidšími oblastmi.

Tyto algoritmy mohou čelit potížím při shlukování datových bodů, pokud má datová sada různé hustoty a velké rozměry.

Shlukování ve strojovém učení

Klastrování založené na distribučním modelu

V metodě shlukování založené na distribučním modelu jsou data rozdělena na základě pravděpodobnosti, jak datová sada patří ke konkrétní distribuci. Seskupení se provádí za předpokladu, že některé distribuce jsou běžné Gaussovo rozdělení .

Příkladem tohoto typu je Algoritmus shlukování očekávání-maximalizace který používá gaussovské modely směsí (GMM).

algebra množin
Shlukování ve strojovém učení

Hierarchické shlukování

Hierarchické shlukování lze použít jako alternativu pro dělené shlukování, protože není nutné předem specifikovat počet shluků, které mají být vytvořeny. V této technice je datová sada rozdělena do shluků, aby se vytvořila stromová struktura, která se také nazývá a dendrogram . Pozorování nebo libovolný počet shluků lze vybrat řezáním stromu na správné úrovni. Nejběžnějším příkladem této metody je Aglomerativní hierarchický algoritmus .

Shlukování ve strojovém učení

Fuzzy Clustering

Fuzzy clustering je typ měkké metody, ve které datový objekt může patřit do více než jedné skupiny nebo clusteru. Každá datová sada má sadu koeficientů členství, které závisí na stupni členství ve shluku. Algoritmus Fuzzy C-means je příkladem tohoto typu shlukování; někdy je také známý jako algoritmus Fuzzy k-means.

Algoritmy shlukování

Clusterovací algoritmy lze rozdělit na základě jejich modelů, které jsou vysvětleny výše. Jsou publikovány různé typy shlukovacích algoritmů, ale běžně se používá jen několik. Algoritmus shlukování je založen na druhu dat, která používáme. Některé algoritmy například potřebují uhodnout počet shluků v daném souboru dat, zatímco některé potřebují najít minimální vzdálenost mezi pozorováním souboru dat.

Zde diskutujeme hlavně o populárních shlukovacích algoritmech, které jsou široce používány ve strojovém učení:

    Algoritmus K-Means:Algoritmus k-means je jedním z nejpopulárnějších shlukovacích algoritmů. Klasifikuje datovou sadu rozdělením vzorků do různých shluků stejných rozptylů. V tomto algoritmu musí být specifikován počet clusterů. Je rychlý, vyžaduje méně výpočtů a má lineární složitost Na). Algoritmus střední hodnoty:Algoritmus středního posunu se snaží najít husté oblasti v hladké hustotě datových bodů. Je to příklad modelu založeného na centroidech, který pracuje na aktualizaci kandidátů na těžiště tak, aby byly středy bodů v dané oblasti.Algoritmus DBSCAN:Stojí pro prostorové shlukování aplikací s hlukem na základě hustoty . Je to příklad modelu založeného na hustotě podobného střednímu posunu, ale s některými pozoruhodnými výhodami. V tomto algoritmu jsou oblasti s vysokou hustotou odděleny oblastmi s nízkou hustotou. Z tohoto důvodu lze shluky nalézt v libovolném tvaru.Shlukování očekávání a maximalizace pomocí GMM:Tento algoritmus lze použít jako alternativu pro algoritmus k-means nebo pro ty případy, kdy může K-means selhat. V GMM se předpokládá, že datové body jsou Gaussově distribuovány.Aglomerativní hierarchický algoritmus:Aglomerativní hierarchický algoritmus provádí hierarchické shlukování zdola nahoru. V tomto případě se s každým datovým bodem na začátku zachází jako s jedním shlukem a poté se postupně spojuje. Hierarchie clusteru může být reprezentována jako stromová struktura.Propagace afinity:Liší se od ostatních shlukovacích algoritmů, protože nevyžaduje specifikovat počet shluků. V tomto případě každý datový bod posílá zprávu mezi dvojicí datových bodů až do konvergence. Má O(N2T) časová složitost, což je hlavní nevýhoda tohoto algoritmu.

Aplikace Clusteringu

Níže jsou uvedeny některé běžně známé aplikace techniky shlukování ve strojovém učení:

    Při identifikaci rakovinných buněk:Algoritmy shlukování jsou široce používány pro identifikaci rakovinných buněk. Rozděluje soubory údajů o rakovině a bez rakoviny do různých skupin.Ve vyhledávačích:Vyhledávače také pracují na technice shlukování. Výsledek hledání se zobrazí na základě nejbližšího objektu k vyhledávacímu dotazu. Dělá to seskupením podobných datových objektů do jedné skupiny, která je daleko od ostatních odlišných objektů. Přesný výsledek dotazu závisí na kvalitě použitého shlukovacího algoritmu.Segmentace zákazníků:Používá se v průzkumu trhu k segmentaci zákazníků na základě jejich výběru a preferencí.V biologii:Používá se v proudu biologie ke klasifikaci různých druhů rostlin a zvířat pomocí techniky rozpoznávání obrazu.Na půdě:Technika shlukování se používá při identifikaci oblasti podobného využití území v databázi GIS. To může být velmi užitečné, když zjistíte, že pro jaký účel má být konkrétní pozemek využíván, tedy pro jaký účel je vhodnější.