Kuinka K-Means-algoritmi Toimii?
Alustus
Algoritmi alkaa valitsemalla satunnaisesti K alkuperäistä klusterikeskipistettä, joita kutsutaan myös sentroideiksi. Nämä sentroidit toimivat jokaisen klusterin lähtöpisteinä. Yleinen tapa on valita satunnaisesti K datapistettä aineistosta alkusentroidiksi.
Kohdistusvaihe
Tässä vaiheessa jokainen datapiste liitetään lähimpään sentroidiin. Etäisyys mitataan tyypillisesti euklidisella etäisyydellä, mutta muitakin etäisyysmittoja voidaan käyttää. Jokainen datapiste sijoitetaan siihen klusteriin, jota lähin sentrodi edustaa.
Päivitysvaihe
Kun kaikki datapisteet on liitetty klustereihin, sentroidit lasketaan uudelleen. Jokaiselle klusterille uusi sentrodi määritetään kaikkien kyseiseen klusteriin kuuluvien datapisteiden keskiarvona. Käytännössä sentrodi siirtyy klusterinsa keskelle.
Iterointi
Vaiheita 2 ja 3 toistetaan iteratiivisesti. Jokaisella kierroksella datapisteet kohdistetaan uudelleen klustereihin päivitettyjen sentroidien perusteella, ja sitten sentroidit lasketaan uudelleen uusien klusterijakojen mukaisesti. Tätä iteratiivista prosessia jatketaan, kunnes pysäytyskriteeri täyttyy.
Konvergenssi
Algoritmi pysähtyy, kun jokin seuraavista ehdoista täyttyy:
-
Sentroidit eivät muutu merkittävästi: sentroidien sijainnit vakiintuvat, eli seuraavilla kierroksilla niiden sijainnissa tapahtuu vain vähäisiä muutoksia;
-
Datapisteiden klusterijako ei muutu: datapisteet pysyvät samoissa klustereissa, mikä osoittaa, että klusterirakenne on vakiintunut;
-
Maksimimäärä iteraatioita saavutettu: ennalta määritelty iteraatioiden enimmäismäärä saavutetaan. Tämä estää algoritmia jatkamasta loputtomiin.
Kun konvergenssi saavutetaan, K-means-algoritmi on jakanut aineiston K klusteriin, joista jokaista edustaa oma sentrodi. Tuloksena olevat klusterit pyritään pitämään sisäisesti yhtenäisinä ja ulkoisesti erillisinä valitun etäisyysmitan ja iteratiivisen tarkennuksen perusteella.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how to choose the optimal value of K?
What are some common distance metrics besides Euclidean distance?
Can you summarize the main steps of the K-means algorithm?
Awesome!
Completion rate improved to 2.94
Kuinka K-Means-algoritmi Toimii?
Pyyhkäise näyttääksesi valikon
Alustus
Algoritmi alkaa valitsemalla satunnaisesti K alkuperäistä klusterikeskipistettä, joita kutsutaan myös sentroideiksi. Nämä sentroidit toimivat jokaisen klusterin lähtöpisteinä. Yleinen tapa on valita satunnaisesti K datapistettä aineistosta alkusentroidiksi.
Kohdistusvaihe
Tässä vaiheessa jokainen datapiste liitetään lähimpään sentroidiin. Etäisyys mitataan tyypillisesti euklidisella etäisyydellä, mutta muitakin etäisyysmittoja voidaan käyttää. Jokainen datapiste sijoitetaan siihen klusteriin, jota lähin sentrodi edustaa.
Päivitysvaihe
Kun kaikki datapisteet on liitetty klustereihin, sentroidit lasketaan uudelleen. Jokaiselle klusterille uusi sentrodi määritetään kaikkien kyseiseen klusteriin kuuluvien datapisteiden keskiarvona. Käytännössä sentrodi siirtyy klusterinsa keskelle.
Iterointi
Vaiheita 2 ja 3 toistetaan iteratiivisesti. Jokaisella kierroksella datapisteet kohdistetaan uudelleen klustereihin päivitettyjen sentroidien perusteella, ja sitten sentroidit lasketaan uudelleen uusien klusterijakojen mukaisesti. Tätä iteratiivista prosessia jatketaan, kunnes pysäytyskriteeri täyttyy.
Konvergenssi
Algoritmi pysähtyy, kun jokin seuraavista ehdoista täyttyy:
-
Sentroidit eivät muutu merkittävästi: sentroidien sijainnit vakiintuvat, eli seuraavilla kierroksilla niiden sijainnissa tapahtuu vain vähäisiä muutoksia;
-
Datapisteiden klusterijako ei muutu: datapisteet pysyvät samoissa klustereissa, mikä osoittaa, että klusterirakenne on vakiintunut;
-
Maksimimäärä iteraatioita saavutettu: ennalta määritelty iteraatioiden enimmäismäärä saavutetaan. Tämä estää algoritmia jatkamasta loputtomiin.
Kun konvergenssi saavutetaan, K-means-algoritmi on jakanut aineiston K klusteriin, joista jokaista edustaa oma sentrodi. Tuloksena olevat klusterit pyritään pitämään sisäisesti yhtenäisinä ja ulkoisesti erillisinä valitun etäisyysmitan ja iteratiivisen tarkennuksen perusteella.
Kiitos palautteestasi!