logo

Klastrovanie v strojovom učení

Klastrovanie alebo klastrová analýza je technika strojového učenia, ktorá zoskupuje neoznačený súbor údajov. Dá sa definovať ako „Spôsob zoskupovania údajových bodov do rôznych zhlukov, ktoré pozostávajú z podobných údajových bodov. Objekty s možnou podobnosťou zostávajú v skupine, ktorá má menšie alebo žiadne podobnosti s inou skupinou.“

Robí to nájdením niektorých podobných vzorov v neoznačenom súbore údajov, ako je tvar, veľkosť, farba, správanie atď., a rozdeľuje ich podľa prítomnosti a neprítomnosti týchto podobných vzorov.

Je to učenie bez dozoru algoritmu nie je poskytnutý žiadny dohľad a pracuje s neoznačeným súborom údajov.

Po použití tejto techniky klastrovania sa každému klastru alebo skupine poskytne identifikátor klastra. Systém ML môže použiť toto ID na zjednodušenie spracovania veľkých a zložitých súborov údajov.

Technika klastrovania sa bežne používa na štatistická analýza údajov.

Poznámka: Klastrovanie je niekde podobné ako klasifikačný algoritmus , ale rozdiel je v type súboru údajov, ktorý používame. Pri klasifikácii pracujeme s označeným súborom údajov, zatiaľ čo pri zhlukovaní pracujeme s neoznačeným súborom údajov.

Príklad : Poďme pochopiť techniku ​​zhlukovania na príklade Mall v reálnom svete: Keď navštívime akékoľvek nákupné centrum, môžeme pozorovať, že veci s podobným využitím sú zoskupené. Napríklad tričká sú zoskupené v jednej sekcii a nohavice sú v inej sekcii, podobne ako v sekciách zelenina, jablká, banány, mango atď., sú zoskupené v samostatných sekciách, aby sme veci ľahko zistili. Technika klastrovania tiež funguje rovnakým spôsobom. Ďalšími príkladmi klastrovania je zoskupovanie dokumentov podľa témy.

Technika klastrovania môže byť široko používaná v rôznych úlohách. Niektoré najbežnejšie použitia tejto techniky sú:

  • Segmentácia trhu
  • Štatistická analýza údajov
  • Analýza sociálnych sietí
  • Segmentácia obrazu
  • Detekcia anomálií atď.

Okrem týchto všeobecných použití ho používajú Amazon vo svojom systéme odporúčaní poskytovať odporúčania podľa predchádzajúceho vyhľadávania produktov. Netflix tiež používa túto techniku ​​na odporúčanie filmov a webových seriálov svojim používateľom podľa histórie pozerania.

Nižšie uvedený diagram vysvetľuje fungovanie klastrovacieho algoritmu. Vidíme, že rôzne druhy ovocia sú rozdelené do niekoľkých skupín s podobnými vlastnosťami.

Klastrovanie v strojovom učení

Typy metód klastrovania

Metódy klastrovania sa vo všeobecnosti delia na Tvrdé zhlukovanie (údajový bod patrí len do jednej skupiny) a Mäkké zhlukovanie (dátové body môžu patriť aj do inej skupiny). Existujú však aj iné rôzne prístupy klastrovania. Nižšie sú uvedené hlavné metódy klastrovania používané v strojovom učení:

    Rozdelenie do klastrov Zhlukovanie založené na hustote Klastrovanie založené na distribučnom modeli Hierarchické klastrovanie Fuzzy Clustering

Rozdelenie do klastrov

Ide o typ klastrovania, ktorý rozdeľuje údaje do nehierarchických skupín. Je tiež známy ako metóda založená na centroidoch . Najbežnejším príkladom delenia klastrovania je Algoritmus klastrovania K-Means .

V tomto type je množina údajov rozdelená na množinu k skupín, pričom K sa používa na definovanie počtu preddefinovaných skupín. Stred klastra je vytvorený tak, že vzdialenosť medzi dátovými bodmi jedného klastra je minimálna v porovnaní s ťažiskom iného klastra.

Klastrovanie v strojovom učení

Zhlukovanie založené na hustote

Metóda zhlukovania založená na hustote spája oblasti s vysokou hustotou do zhlukov a vytvárajú sa ľubovoľne tvarované distribúcie, pokiaľ je možné spojiť hustú oblasť. Tento algoritmus to robí identifikáciou rôznych zhlukov v súbore údajov a spája oblasti s vysokou hustotou do zhlukov. Husté oblasti v dátovom priestore sú od seba rozdelené redšími oblasťami.

Tieto algoritmy môžu čeliť ťažkostiam pri zoskupovaní údajových bodov, ak má súbor údajov rôzne hustoty a veľké rozmery.

Klastrovanie v strojovom učení

Klastrovanie založené na distribučnom modeli

V metóde klastrovania založenej na modeli distribúcie sa údaje rozdeľujú na základe pravdepodobnosti toho, ako množina údajov patrí ku konkrétnej distribúcii. Zoskupenie sa vykonáva za predpokladu, že niektoré distribúcie sú bežné Gaussovo rozdelenie .

Príkladom tohto typu je Algoritmus zhlukovania očakávaní a maximalizácie ktorý používa Gaussove modely zmesí (GMM).

Klastrovanie v strojovom učení

Hierarchické klastrovanie

Hierarchické klastrovanie sa môže použiť ako alternatíva pre rozdelené klastrovanie, pretože nie je potrebné vopred špecifikovať počet klastrov, ktoré sa majú vytvoriť. Pri tejto technike je súbor údajov rozdelený do zhlukov, aby sa vytvorila stromová štruktúra, ktorá sa tiež nazýva a dendrogram . Pozorovania alebo ľubovoľný počet zhlukov je možné vybrať rezom stromu na správnej úrovni. Najbežnejším príkladom tejto metódy je Aglomeratívny hierarchický algoritmus .

Klastrovanie v strojovom učení

Fuzzy Clustering

Fuzzy klastrovanie je typ mäkkej metódy, v ktorej môže dátový objekt patriť do viac ako jednej skupiny alebo klastra. Každý súbor údajov má súbor koeficientov členstva, ktoré závisia od stupňa členstva v klastri. Algoritmus Fuzzy C-znamená je príkladom tohto typu klastrovania; niekedy je tiež známy ako algoritmus Fuzzy k-means.

Algoritmy klastrovania

Algoritmy klastrovania možno rozdeliť na základe ich modelov, ktoré sú vysvetlené vyššie. Existujú rôzne typy klastrovacích algoritmov publikovaných, ale len niekoľko z nich sa bežne používa. Algoritmus klastrovania je založený na druhu údajov, ktoré používame. Napríklad niektoré algoritmy potrebujú uhádnuť počet zhlukov v danom súbore údajov, zatiaľ čo niektoré musia nájsť minimálnu vzdialenosť medzi pozorovaním súboru údajov.

Tu diskutujeme hlavne o populárnych klastrovacích algoritmoch, ktoré sú široko používané v strojovom učení:

    Algoritmus K-Means:Algoritmus k-means je jedným z najpopulárnejších zhlukových algoritmov. Klasifikuje súbor údajov rozdelením vzoriek do rôznych zhlukov rovnakých rozptylov. V tomto algoritme musí byť špecifikovaný počet klastrov. Je rýchly s menším počtom výpočtov, s lineárnou zložitosťou O(n). Algoritmus stredného posunu:Algoritmus stredného posunu sa snaží nájsť husté oblasti v hladkej hustote dátových bodov. Je to príklad modelu založeného na centroidoch, ktorý pracuje na aktualizácii kandidátov na ťažisko tak, aby boli stredom bodov v rámci daného regiónu.Algoritmus DBSCAN:Stojí pre priestorové zoskupovanie aplikácií s hlukom na základe hustoty . Je to príklad modelu založeného na hustote podobného strednému posunu, ale s niektorými pozoruhodnými výhodami. V tomto algoritme sú oblasti s vysokou hustotou oddelené oblasťami s nízkou hustotou. Z tohto dôvodu môžu byť zhluky nájdené v akomkoľvek ľubovoľnom tvare.Zhlukovanie očakávaní a maximalizácie pomocou GMM:Tento algoritmus môže byť použitý ako alternatíva pre algoritmus k-means alebo pre tie prípady, kde K-means môže zlyhať. V GMM sa predpokladá, že dátové body sú Gaussovo rozložené.Aglomeratívny hierarchický algoritmus:Aglomeratívny hierarchický algoritmus vykonáva hierarchické zoskupovanie zdola nahor. V tomto prípade sa s každým údajovým bodom na začiatku zaobchádza ako s jedným klastrom a potom sa postupne zlúči. Hierarchia klastra môže byť reprezentovaná ako stromová štruktúra.Propagácia afinity:Líši sa od iných klastrovacích algoritmov, pretože nevyžaduje špecifikovať počet klastrov. V tomto prípade každý dátový bod posiela správu medzi párom dátových bodov až do konvergencie. Má O(N2T) časová zložitosť, ktorá je hlavnou nevýhodou tohto algoritmu.

Aplikácie klastrovania

Nižšie sú uvedené niektoré bežne známe aplikácie techniky klastrovania v strojovom učení:

    Pri identifikácii rakovinových buniek:Algoritmy zhlukovania sa široko používajú na identifikáciu rakovinových buniek. Rozdeľuje súbory údajov o rakovine a bez rakoviny do rôznych skupín.Vo vyhľadávačoch:Vyhľadávače tiež pracujú na technike klastrovania. Výsledok vyhľadávania sa zobrazí na základe najbližšieho objektu k vyhľadávaciemu dopytu. Robí to zoskupením podobných dátových objektov do jednej skupiny, ktorá je ďaleko od ostatných odlišných objektov. Presný výsledok dotazu závisí od kvality použitého klastrovacieho algoritmu.Segmentácia zákazníkov:Používa sa pri prieskume trhu na segmentáciu zákazníkov na základe ich výberu a preferencií.V biológii:Používa sa v biologickom prúde na klasifikáciu rôznych druhov rastlín a živočíchov pomocou techniky rozpoznávania obrazu.Na pôde:Technika zhlukovania sa používa pri identifikácii oblasti podobného využitia území v databáze GIS. To môže byť veľmi užitočné pri zistení, že na aký účel má byť konkrétny pozemok využívaný, teda na aký účel je vhodnejší.