logo

Klasterizavimas mašininiame mokyme

Klasterizavimas arba klasterių analizė yra mašininio mokymosi metodas, sugrupuojantis nepažymėtą duomenų rinkinį. Jį galima apibrėžti kaip „Būdas sugrupuoti duomenų taškus į skirtingas grupes, sudarytas iš panašių duomenų taškų. Objektai, turintys galimų panašumų, lieka grupėje, kuri turi mažiau panašumų arba visai neturi panašumų su kita grupe.

skaitymas iš csv failo java

Tai atliekama surandant kai kuriuos panašius modelius nepažymėtame duomenų rinkinyje, pvz., formą, dydį, spalvą, elgseną ir kt., ir padalijant juos pagal tų panašių modelių buvimą ir nebuvimą.

Tai yra mokymasis be priežiūros metodą, todėl algoritmas neprižiūrimas ir jis susijęs su nepažymėtu duomenų rinkiniu.

Pritaikius šią klasterizacijos techniką, kiekvienai klasteriui arba grupei suteikiamas klasterio ID. ML sistema gali naudoti šį ID, kad supaprastintų didelių ir sudėtingų duomenų rinkinių apdorojimą.

Klasterizacijos technika dažniausiai naudojama statistinių duomenų analizė.

Pastaba: grupavimas yra panašus į klasifikavimo algoritmas , tačiau skirtumas yra mūsų naudojamo duomenų rinkinio tipas. Klasifikuodami dirbame su pažymėtu duomenų rinkiniu, o klasterizuodami dirbame su nepažymėtu duomenų rinkiniu.

Pavyzdys : Supraskime klasterizacijos techniką realiu Mall pavyzdžiu: Kai lankomės bet kuriame prekybos centre, galime pastebėti, kad panašaus naudojimo daiktai yra sugrupuoti. Pavyzdžiui, marškinėliai sugrupuoti į vieną skyrių, o kelnės – prie kitų, panašiai, daržovių skyriuose, obuoliai, bananai, mangai ir kt., yra sugrupuoti į atskiras dalis, kad galėtume lengvai išsiaiškinti dalykus. Klasterizacijos technika taip pat veikia taip pat. Kiti klasterizacijos pavyzdžiai – dokumentų grupavimas pagal temą.

Klasterizacijos technika gali būti plačiai naudojama atliekant įvairias užduotis. Kai kurie dažniausiai naudojami šios technikos naudojimo būdai:

  • Rinkos segmentacija
  • Statistinių duomenų analizė
  • Socialinių tinklų analizė
  • Vaizdo segmentavimas
  • Anomalijų aptikimas ir kt.

Be šių bendrų naudojimo būdų, jį naudoja Amazon savo rekomendacijų sistemoje pateikti rekomendacijas pagal ankstesnę produktų paiešką. Netflix taip pat naudoja šią techniką, kad rekomenduotų filmus ir žiniatinklio serialus savo vartotojams pagal žiūrėjimo istoriją.

Žemiau esančioje diagramoje paaiškinamas klasterizacijos algoritmo veikimas. Matome, kad skirtingi vaisiai yra suskirstyti į keletą grupių, turinčių panašių savybių.

Klasterizavimas mašininiame mokyme

Klasterizacijos metodų tipai

Klasterizacijos metodai yra plačiai suskirstyti į Sunkus klasterizavimas (duomenų taškas priklauso tik vienai grupei) ir Minkštas klasterizavimas (duomenų taškai gali priklausyti ir kitai grupei). Tačiau yra ir kitų įvairių klasterizacijos metodų. Toliau pateikiami pagrindiniai klasterizacijos metodai, naudojami mašininiame mokyme:

    Padalijimų klasterizavimas Tankiu pagrįstas klasterizavimas Paskirstymo modeliu pagrįstas klasterizavimas Hierarchinis klasterizavimas Neryškus klasterizavimas

Padalijimų klasterizavimas

Tai yra klasterizacijos tipas, skirstantis duomenis į nehierarchines grupes. Jis taip pat žinomas kaip centroidiniu metodu . Dažniausias skaidymo klasterizacijos pavyzdys yra K-Means klasterizacijos algoritmas .

Šio tipo duomenų rinkinys yra padalintas į k grupių rinkinį, kur K naudojamas iš anksto nustatytų grupių skaičiui apibrėžti. Klasterio centras sukuriamas taip, kad atstumas tarp vieno klasterio duomenų taškų būtų minimalus, palyginti su kito klasterio centroidu.

Klasterizavimas mašininiame mokyme

Tankiu pagrįstas klasterizavimas

Tankiu pagrįstas klasterizacijos metodas sujungia labai tankias sritis į grupes, o savavališkos formos skirstiniai formuojami tol, kol galima sujungti tankią sritį. Šis algoritmas tai atlieka identifikuodamas skirtingus duomenų rinkinio klasterius ir sujungdamas didelio tankio sritis į grupes. Tankios sritys duomenų erdvėje yra atskirtos viena nuo kitos retesnėmis sritimis.

Šie algoritmai gali susidurti su sunkumais sugrupuojant duomenų taškus, jei duomenų rinkinys yra įvairaus tankio ir didelių matmenų.

pėdos prieš pėdą
Klasterizavimas mašininiame mokyme

Paskirstymo modeliu pagrįstas klasterizavimas

Taikant paskirstymo modeliu pagrįstą klasterizacijos metodą, duomenys skirstomi pagal tikimybę, kaip duomenų rinkinys priklauso tam tikram skirstiniui. Grupavimas atliekamas darant prielaidą, kad kai kurie skirstiniai paprastai Gauso pasiskirstymas .

Šio tipo pavyzdys yra Lūkesčių maksimizavimo klasterizacijos algoritmas kuri naudoja Gauso mišinio modelius (GMM).

Klasterizavimas mašininiame mokyme

Hierarchinis klasterizavimas

Hierarchinis klasterizavimas gali būti naudojamas kaip alternatyva suskaidytam klasterizavimui, nes nereikia iš anksto nurodyti kuriamų grupių skaičiaus. Taikant šį metodą, duomenų rinkinys yra padalintas į grupes, kad būtų sukurta į medį panaši struktūra, kuri taip pat vadinama a dendrograma . Stebėjimus arba bet kokį grupių skaičių galima pasirinkti pjaunant medį tinkamu lygiu. Dažniausias šio metodo pavyzdys yra Aglomeracinis hierarchinis algoritmas .

Klasterizavimas mašininiame mokyme

Neryškus klasterizavimas

Neryškus klasterizavimas yra minkštojo metodo tipas, kai duomenų objektas gali priklausyti daugiau nei vienai grupei ar klasteriui. Kiekvienas duomenų rinkinys turi narystės koeficientų rinkinį, kuris priklauso nuo narystės laipsnio klasteryje. Fuzzy C-means algoritmas yra šio tipo grupavimo pavyzdys; kartais jis taip pat žinomas kaip neaiškių k-means algoritmas.

Klasterizacijos algoritmai

Klasterizacijos algoritmus galima suskirstyti pagal jų modelius, kurie paaiškinti aukščiau. Yra paskelbti įvairių tipų klasterizacijos algoritmai, tačiau dažniausiai naudojami tik keli. Klasterizacijos algoritmas pagrįstas mūsų naudojamais duomenimis. Pavyzdžiui, kai kurie algoritmai turi atspėti klasterių skaičių duotame duomenų rinkinyje, o kai kurie – norint rasti mažiausią atstumą tarp duomenų rinkinio stebėjimo.

pagrindinis raktas ir sudėtinis raktas sql

Čia aptariame daugiausia populiarius klasterizacijos algoritmus, kurie plačiai naudojami mašininiame mokyme:

    K-Means algoritmas:K-means algoritmas yra vienas populiariausių klasterizacijos algoritmų. Jis klasifikuoja duomenų rinkinį, padalydamas pavyzdžius į skirtingus vienodos dispersijos grupes. Šiame algoritme turi būti nurodytas klasterių skaičius. Tai greita, reikalaujama mažiau skaičiavimų ir tiesinio sudėtingumo O(n). Vidutinio poslinkio algoritmas:Vidutinio poslinkio algoritmas bando rasti tankias sritis sklandžiame duomenų taškų tankyje. Tai centroidais pagrįsto modelio pavyzdys, kuris veikia atnaujinant centroido kandidatus, kad jie būtų taškų centre tam tikrame regione.DBSCAN algoritmas:Jis stovi skirtas erdviniam programų su triukšmu grupavimui tankiu . Tai tankumu pagrįsto modelio, panašaus į vidutinį poslinkį, pavyzdys, tačiau turintis tam tikrų reikšmingų pranašumų. Šiame algoritme didelio tankio sritys yra atskirtos mažo tankio sritimis. Dėl šios priežasties grupes galima rasti bet kokios savavališkos formos.Lūkesčių maksimizavimo grupavimas naudojant GMM:Šis algoritmas gali būti naudojamas kaip alternatyva k-means algoritmui arba tais atvejais, kai K-means gali nepavykti. GMM daroma prielaida, kad duomenų taškai yra Gauso skirstiniai.Aglomeracinis hierarchinis algoritmas:Aglomeracinis hierarchinis algoritmas atlieka hierarchinį klasterizavimą iš apačios į viršų. Šiuo atveju kiekvienas duomenų taškas iš pradžių traktuojamas kaip vienas klasteris, o po to iš eilės sujungiamas. Klasterio hierarchija gali būti pavaizduota kaip medžio struktūra.Afiniteto plitimas:Jis skiriasi nuo kitų klasterizacijos algoritmų, nes nereikia nurodyti klasterių skaičiaus. Šiuo atveju kiekvienas duomenų taškas siunčia pranešimą tarp duomenų taškų poros iki konvergencijos. Jame yra O (N2T) laiko sudėtingumas, kuris yra pagrindinis šio algoritmo trūkumas.

Klasterizacijos programos

Toliau pateikiamos kai kurios dažniausiai žinomos klasterizacijos technikos taikymas mašininiame mokyme:

    Vėžio ląstelių identifikavimas:Klasterizacijos algoritmai plačiai naudojami vėžinėms ląstelėms identifikuoti. Jis suskirsto vėžio ir ne vėžio duomenų rinkinius į skirtingas grupes.Paieškos sistemose:Paieškos sistemos taip pat dirba su grupavimo technika. Paieškos rezultatas rodomas pagal paieškos užklausai arčiausiai esantį objektą. Tai daroma sugrupuojant panašius duomenų objektus į vieną grupę, kuri yra toli nuo kitų nepanašių objektų. Tikslus užklausos rezultatas priklauso nuo naudojamo klasterizacijos algoritmo kokybės.Klientų segmentavimas:Jis naudojamas rinkos tyrimuose, siekiant segmentuoti klientus pagal jų pasirinkimą ir pageidavimus.Biologijoje:Jis naudojamas biologijos sraute, siekiant klasifikuoti skirtingas augalų ir gyvūnų rūšis, naudojant vaizdo atpažinimo techniką.Naudojama žeme:Klasterizacijos technika naudojama GIS duomenų bazėje identifikuojant panašios žemės naudojimo plotus. Tai gali būti labai naudinga norint išsiaiškinti, kokiam tikslui konkreti žemė turėtų būti naudojama, tai reiškia, kokiam tikslui ji labiau tinka.