logo

Klusterointi koneoppimisessa

Klusterointi tai klusterianalyysi on koneoppimistekniikka, joka ryhmittelee merkitsemättömän tietojoukon. Se voidaan määritellä seuraavasti 'Tapa ryhmitellä datapisteet eri klustereihin, jotka koostuvat samanlaisista datapisteistä. Objektit, joilla on mahdollisia yhtäläisyyksiä, jäävät ryhmään, jolla on vähemmän tai ei ollenkaan yhtäläisyyksiä toisen ryhmän kanssa.

Se tekee sen etsimällä merkitsemättömästä tietojoukosta joitain samanlaisia ​​​​malleja, kuten muotoa, kokoa, väriä, käyttäytymistä jne., ja jakaa ne samanlaisten kuvioiden olemassaolon ja puuttumisen mukaan.

Se on ohjaamatonta oppimista menetelmällä, joten algoritmille ei tarjota valvontaa, ja se käsittelee merkitsemätöntä tietojoukkoa.

Tämän klusterointitekniikan soveltamisen jälkeen jokaiselle klusterille tai ryhmälle annetaan klusteritunnus. ML-järjestelmä voi käyttää tätä tunnusta yksinkertaistaakseen suurten ja monimutkaisten tietojoukkojen käsittelyä.

Järjestä satunnaisella sql:llä

Klusteritekniikkaa käytetään yleisesti tilastollinen tietojen analyysi.

Huomautus: Klusterointi on jossain samankaltainen kuin luokittelualgoritmi , mutta ero on käyttämämme tietojoukon tyyppi. Luokituksessa työskentelemme nimetyn tietojoukon kanssa, kun taas klusteroinnissa työskentelemme merkitsemättömän tietojoukon kanssa.

Esimerkki : Ymmärretään klusterointitekniikkaa todellisen Mallin esimerkin avulla: Kun käymme missä tahansa ostoskeskuksessa, voimme havaita, että samankaltaiset asiat ryhmitellään yhteen. Esimerkiksi t-paidat on ryhmitelty yhteen osioon ja housut muihin osiin, samoin kasvisosastoilla omenat, banaanit, mangot jne. on ryhmitelty erillisiin osiin, jotta voimme helposti selvittää asiat. Myös klusterointitekniikka toimii samalla tavalla. Muita esimerkkejä klusteroinnista ovat asiakirjojen ryhmittely aiheen mukaan.

Klusteritekniikkaa voidaan käyttää laajasti erilaisissa tehtävissä. Jotkut tämän tekniikan yleisimmistä käyttötavoista ovat:

  • Markkinoiden segmentointi
  • Tilastotietojen analyysi
  • Sosiaalisen verkoston analyysi
  • Kuvan segmentointi
  • Anomalian havaitseminen jne.

Näiden yleisten käyttötapojen lisäksi sitä käyttävät Amazon suositusjärjestelmässään antamaan suositukset aiemman tuotehaun mukaisesti. Netflix käyttää tätä tekniikkaa myös suositellakseen elokuvia ja verkkosarjoja käyttäjilleen katseluhistorian mukaisesti.

Alla oleva kaavio selittää klusterointialgoritmin toiminnan. Näemme, että erilaiset hedelmät on jaettu useisiin ryhmiin, joilla on samanlaiset ominaisuudet.

Klusterointi koneoppimisessa

Klusterointimenetelmien tyypit

Klusterointimenetelmät on jaettu laajasti Kova klusterointi (tietopiste kuuluu vain yhteen ryhmään) ja Pehmeä klusterointi (tietopisteet voivat kuulua myös toiseen ryhmään). Mutta on olemassa myös muita erilaisia ​​​​klusterointimenetelmiä. Alla on tärkeimmät koneoppimisessa käytetyt klusterointimenetelmät:

rakentajat javassa
    Osiointiklusterointi Tiheyspohjainen klusterointi Jakelumalliin perustuva klusterointi Hierarkkinen klusteri Sumea klusterointi

Osiointiklusterointi

Se on eräänlainen klusterointi, joka jakaa tiedot ei-hierarkkisiin ryhmiin. Se tunnetaan myös nimellä sentroidiin perustuva menetelmä . Yleisin esimerkki osiointiklusteroinnista on K-Means-klusterointialgoritmi .

Tässä tyypissä tietojoukko on jaettu k ryhmän joukkoon, jossa K:llä määritellään ennalta määritettyjen ryhmien lukumäärä. Klusterin keskus luodaan siten, että yhden klusterin datapisteiden välinen etäisyys on pienin verrattuna toiseen klusterin keskipisteeseen.

java slice
Klusterointi koneoppimisessa

Tiheyspohjainen klusterointi

Tiheyspohjainen klusterointimenetelmä yhdistää erittäin tiheät alueet klustereiksi ja mielivaltaisesti muotoiltuja jakaumia muodostuu niin kauan kuin tiheä alue voidaan yhdistää. Tämä algoritmi tekee sen tunnistamalla eri klustereita tietojoukosta ja yhdistämällä tiheät alueet klustereiksi. Dataavaruuden tiheät alueet on jaettu toisistaan ​​harvemmilla alueilla.

Näillä algoritmeilla voi olla vaikeuksia ryhmitellä datapisteitä, jos tietojoukolla on vaihteleva tiheys ja suuret mitat.

Klusterointi koneoppimisessa

Jakelumalliin perustuva klusterointi

Jakelumalliin perustuvassa klusterointimenetelmässä tiedot jaetaan sen todennäköisyyden perusteella, kuinka tietojoukko kuuluu tiettyyn jakaumaan. Ryhmittely tehdään olettamalla joitain jakaumia yleisesti Gaussin jakautuminen .

Esimerkki tästä tyypistä on Odotus-maksimointiklusterialgoritmi joka käyttää Gaussin sekoitusmalleja (GMM).

Klusterointi koneoppimisessa

Hierarkkinen klusteri

Hierarkkista klusterointia voidaan käyttää vaihtoehtona osioidulle klusterille, koska luotavien klustereiden määrää ei tarvitse määrittää etukäteen. Tässä tekniikassa tietojoukko jaetaan klustereihin puumaisen rakenteen luomiseksi, jota kutsutaan myös a dendrogrammi . Havainnot tai mikä tahansa määrä klustereita voidaan valita leikkaamalla puu oikealta tasolta. Yleisin esimerkki tästä menetelmästä on Agglomeratiivinen hierarkkinen algoritmi .

Klusterointi koneoppimisessa

Sumea klusterointi

Sumea klusterointi on pehmeä menetelmä, jossa tietoobjekti voi kuulua useampaan kuin yhteen ryhmään tai klusteriin. Jokaisella tietojoukolla on joukko jäsenyyskertoimia, jotka riippuvat klusterin jäsenyysasteesta. Sumea C-keinoalgoritmi on esimerkki tämäntyyppisestä klusteroinnista; se tunnetaan joskus myös sumeana k-means-algoritmina.

Klusterointialgoritmit

Klusterointialgoritmit voidaan jakaa niiden mallien perusteella, jotka on selitetty edellä. Erityyppisiä klusterointialgoritmeja on julkaistu, mutta vain muutamia niistä käytetään yleisesti. Klusterointialgoritmi perustuu käyttämiimme tietoihin. Esimerkiksi joidenkin algoritmien on arvattava klusterien lukumäärä tietyssä tietojoukossa, kun taas toisten on löydettävä vähimmäisetäisyys tietojoukon havaintojen välillä.

Täällä keskustelemme pääasiassa suosituista klusterointialgoritmeista, joita käytetään laajalti koneoppimisessa:

joka keksi koulun
    K-Means-algoritmi:K-means-algoritmi on yksi suosituimmista klusterointialgoritmeista. Se luokittelee tietojoukon jakamalla näytteet saman varianssin eri klustereihin. Klusterien lukumäärä on määritettävä tässä algoritmissa. Se on nopea vähemmällä laskutoimituksella, lineaarisen monimutkaisuuden ansiosta Päällä). Keskiarvon siirtymäalgoritmi:Keskisiirtymäalgoritmi yrittää löytää tiheät alueet datapisteiden tasaisesta tiheydestä. Se on esimerkki sentroidipohjaisesta mallista, joka päivittää sentroidiehdokkaat pisteiden keskipisteiksi tietyllä alueella.DBSCAN-algoritmi:Se seisoo kohinaa sisältävien sovellusten tiheyspohjaiseen spatiaaliseen klusterointiin . Se on esimerkki tiheyteen perustuvasta mallista, joka on samanlainen kuin keskiarvon muutos, mutta jolla on joitain merkittäviä etuja. Tässä algoritmissa suuren tiheyden alueet erotetaan pienitiheyksillä alueilla. Tästä johtuen klusterit löytyvät missä tahansa mielivaltaisessa muodossa.Odotusten maksimointiklusterointi GMM:n avulla:Tätä algoritmia voidaan käyttää vaihtoehtona k-keskiarvo-algoritmille tai niissä tapauksissa, joissa K-keskiarvo voi epäonnistua. GMM:ssä oletetaan, että datapisteet ovat Gaussin hajautettuja.Agglomeratiivinen hierarkkinen algoritmi:Agglomeratiivinen hierarkkinen algoritmi suorittaa alhaalta ylös -hierarkkisen klusteroinnin. Tässä kutakin datapistettä käsitellään aluksi yhtenä klusterina ja yhdistetään sitten peräkkäin. Klusterihierarkia voidaan esittää puurakenteena.Affiniteettien leviäminen:Se eroaa muista klusterointialgoritmeista, koska se ei vaadi klustereiden lukumäärän määrittämistä. Tässä jokainen datapiste lähettää viestin datapisteparin välillä konvergenssiin asti. Siinä on O(N2T) aika monimutkaisuus, joka on tämän algoritmin suurin haittapuoli.

Klusterin sovellukset

Alla on joitain yleisesti tunnettuja klusterointitekniikan sovelluksia koneoppimisessa:

    Syöpäsolujen tunnistamisessa:Klusterointialgoritmeja käytetään laajalti syöpäsolujen tunnistamiseen. Se jakaa syöpä- ja ei-syöpätietojoukot eri ryhmiin.Hakukoneissa:Hakukoneet käyttävät myös klusterointitekniikkaa. Hakutulos näkyy hakukyselyä lähinnä olevan kohteen perusteella. Se tekee sen ryhmittelemällä samanlaiset tietoobjektit yhteen ryhmään, joka on kaukana muista erilaisista objekteista. Kyselyn tarkka tulos riippuu käytetyn klusterointialgoritmin laadusta.Asiakassegmentointi:Sitä käytetään markkinatutkimuksessa asiakkaiden segmentointiin heidän valintojensa ja mieltymysten mukaan.Biologiassa:Sitä käytetään biologian virrassa erilaisten kasvi- ja eläinlajien luokitteluun kuvantunnistustekniikalla.Maakäytössä:Klusterointitekniikkaa käytetään samankaltaisen maankäytön alueen tunnistamiseen GIS-tietokannasta. Tämä voi olla erittäin hyödyllistä sen selvittämiseksi, mihin tarkoitukseen tiettyä maata tulisi käyttää, mikä tarkoittaa, mihin tarkoitukseen se sopii paremmin.