K - means - menetelmä on suosituin klusterointimenetelmä . Sen keksi 1950-luvulla matemaatikko Hugo Steinhaus [1] ja lähes samanaikaisesti Stuart Lloyd [2] . Hän saavutti erityisen suosion McQueenin [3] työn jälkeen .
Algoritmin toiminta on sellainen, että se pyrkii minimoimaan klusteripisteiden kokonaisneliöpoikkeaman näiden klustereiden keskuksista:
missä on klusterien lukumäärä, ovat tuloksena olevat klusterit, ja ovat kaikkien klusterin vektorien massakeskuksia .
Analogisesti pääkomponenttien menetelmän kanssa klustereiden keskipisteitä kutsutaan myös pääpisteiksi , ja itse menetelmää kutsutaan pääpisteiden menetelmäksi [4] ja se sisältyy yleiseen pääobjektien teoriaan , jotka tarjoavat parhaan likimääräisen datan. [5] .
Algoritmi on versio EM-algoritmista , jota käytetään myös Gaussin sekoituksen erottamiseen . Se jakaa vektoriavaruuden elementtijoukon ennalta tunnetuiksi ryhmiksi k .
Pääajatuksena on, että jokaisessa iteraatiossa massakeskipiste lasketaan uudelleen jokaiselle edellisessä vaiheessa saadulle klusterille, jonka jälkeen vektorit jaetaan jälleen klustereihin sen mukaan, kumpi uusista keskuksista osoittautui valitun metriikan mukaan lähempänä.
Algoritmi päättyy, kun klusterin sisäinen etäisyys ei muutu jossain iteraatiossa. Tämä tapahtuu äärellisessä määrässä iteraatioita, koska äärellisen joukon mahdollisten osioiden määrä on äärellinen ja jokaisessa vaiheessa neliöpoikkeama V pienenee, joten silmukan muodostaminen on mahdotonta.
Kuten David Arthur ja Sergey Vasilvitsky ovat osoittaneet, joissakin joukkoluokissa algoritmin monimutkaisuus konvergenssin vaatiman ajan suhteen on [6] .
Algoritmin toiminta kaksiulotteisessa tapauksessa. Lähtökohdat valitaan sattumanvaraisesti.
K-meansin neuroverkkototeutus on laajalti tunnettu ja käytetty - signaalien vektorikvantisointiverkko (yksi Kohosen hermoverkkojen versioista ).
Siellä on laajennus k-means++ , jolla pyritään optimaaliseen klusterikeskusten alkuarvojen valintaan.
Syväoppimisalgoritmeissa k- means -menetelmää ei toisinaan käytetä aiottuun tarkoitukseen (luokittelu klusteroinnin avulla), vaan ns. suodattimien (konvoluutioytimet, sanakirjat) luomiseen. Esimerkiksi kuvantunnistusta varten k-means-algoritmiin syötetään pieniä satunnaisia harjoitusnäytekuvia, esimerkiksi kooltaan 16x16, lineaarisena vektorina, jonka jokainen elementti koodaa pisteensä kirkkauden. Klusterien lukumääräksi asetetaan suuri, esimerkiksi 256. Harjoiteltu k-means-menetelmä tuottaa tietyissä olosuhteissa klusterikeskuksia (keskipisteitä), jotka ovat käteviä tukikohtia, joihin mikä tahansa syötekuva voidaan hajottaa. Tällaisia "koulutettuja" sentroideja käytetään edelleen suodattimina esimerkiksi konvoluutiohermoverkossa konvoluutioytiminä tai muina vastaavina konenäköjärjestelminä [8] . Näin ollen ohjaamaton oppiminen tapahtuu k-means-menetelmällä.
Koneoppiminen ja tiedon louhinta | |
---|---|
Tehtävät | |
Opettajan kanssa oppimista | |
ryhmäanalyysi | |
Mittasuhteiden vähentäminen | |
Rakenteellinen ennustaminen | |
Anomalian havaitseminen | |
Piirrä todennäköisyysmallit | |
Neuroverkot | |
Vahvistusoppiminen |
|
Teoria | |
Lehdet ja konferenssit |
|