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.
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
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
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.
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).
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 .
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
Klusterin sovellukset
Alla on joitain yleisesti tunnettuja klusterointitekniikan sovelluksia koneoppimisessa: