- Terminija (A–D)
- AI galimybių valdymas
- AIOps
- albumai
- Turto našumas
- Autoencoder
- Atgalinis dauginimas
- Bayeso teorema
- Dideliu duomenų kiekiu
- „Chatbot“: vadovas pradedančiajam
- Kompiuterinis mąstymas
- Kompiuterio vizija
- Sumišimo matrica
- Konvoliuciniai neuroniniai tinklai
- Kibernetinė sauga
- Duomenų audinys
- Duomenų pasakojimas
- duomenų Mokslas
- Duomenų saugojimas
- Sprendimų medis
- Gilūs klastotės
- Gilus mokymasis
- Gilaus sutvirtinimo mokymasis
- devops
- „DevSecOps“
- Difuzijos modeliai
- Skaitmeninis dvynys
- Matmenų mažinimas
- Terminija (nuo E iki K)
- Edge AI
- Emocijų AI
- Ansamblio mokymasis
- Etinis įsilaužimas
- ETL
- Paaiškinamas AI
- Federuotas mokymasis
- FinOps
- Generatyvinis AI
- Generacinis prieštaringų tinklas
- Generatyvus prieš diskriminacinį
- Gradiento didinimas
- Gradiento nusileidimas
- Mokymasis iš kelių kartų
- Vaizdo klasifikacija
- IT operacijos (ITOps)
- Incidentų automatizavimas
- Įtakos inžinerija
- „K“ reiškia grupavimą
- K-Artimiausi kaimynai
- Terminija (L–Q)
- Terminija (nuo R iki Z)
- Stiprinimo mokymasis
- Atsakingas AI
- RLHF
- Robotų procesų automatizavimas
- Struktūrinis vs nestruktūrinis
- Sentimentų analizė
- Prižiūrimas prieš neprižiūrimą
- Palaikykite vektorines mašinas
- Sintetiniai duomenys
- Sintetinės laikmenos
- Teksto klasifikacija
- TinyML
- Mokymasis perkelti
- Transformatorių neuroniniai tinklai
- Tiuringo testas
- Vektorių panašumo paieška
AI 101 m
Kas yra K-Means klasterizavimas?
Turinys
K-means klasterizavimas yra an neprižiūrimas mokymasis algoritmas, o iš visų neprižiūrimų mokymosi algoritmų K-means klasterizavimas gali būti plačiausiai naudojamas dėl savo galios ir paprastumo. Kaip tiksliai veikia K-means klasterizavimas?
Trumpas atsakymas yra tas, kad K reiškia grupavimas veikia pagal atskaitos taško (centroido) kūrimas norimam užsiėmimų skaičiui ir tada duomenų taškų priskyrimas klasių klasteriams pagal tai, kuris atskaitos taškas yra arčiausiai. Nors tai yra greitas K-means klasterizacijos apibrėžimas, šiek tiek pasinerkime į K-means klasterizavimą ir gaukime geresnę intuiciją, kaip ji veikia.
Klasterizacijos apibrėžimas
Prieš nagrinėdami tikslius algoritmus, naudojamus K-means klasterizavimui, užtrukkime šiek tiek laiko, kad apibrėžtume grupavimą apskritai.
Klasteriai yra tik elementų grupės, o grupavimas yra tik elementų įtraukimas į tas grupes. Duomenų mokslo prasme, klasterizacijos algoritmai siekiama padaryti du dalykus:
- Įsitikinkite, kad visi duomenų taškai klasteryje yra kuo panašesni vienas į kitą.
- Įsitikinkite, kad visi duomenų taškai skirtinguose klasteriuose yra kuo nepanašesni vienas į kitą.
Klasterizacijos algoritmai sugrupuoja elementus pagal tam tikrą panašumo metriką. Tai dažnai daroma surandant skirtingų galimų duomenų rinkinio grupių „centroidą“, nors ir ne tik. Yra daugybė skirtingų grupavimo algoritmų, tačiau visų grupavimo algoritmų tikslas yra tas pats – nustatyti duomenų rinkiniui būdingas grupes.
„K“ reiškia grupavimą
„K-Means Clustering“ yra vienas iš seniausių ir dažniausiai naudojamų klasterizacijos algoritmų tipų ir veikia remiantis vektoriaus kvantavimas. Erdvės taškas yra pasirinktas kaip pradžios taškas, o tada vektoriai nubrėžiami nuo pradžios iki visų duomenų rinkinio duomenų taškų.
Apskritai K-means klasterizavimą galima suskirstyti į penkis skirtingus etapus:
- Visus atvejus sudėkite į poaibius, kur poaibių skaičius lygus K.
- Raskite naujai sukurtų klasterio skaidinių vidurinį tašką/centroidą.
- Remdamiesi šiais centroidais, priskirkite kiekvieną tašką konkrečiam klasteriui.
- Apskaičiuokite atstumus nuo kiekvieno taško iki centroidų ir priskirkite taškus klasteriams, kuriuose atstumas nuo centroido yra mažiausias.
- Priskyrę taškus klasteriams, raskite naują klasterių centroidą.
Pirmiau minėti veiksmai kartojami tol, kol baigsis treniruočių procesas.
Arba po to, kai centroidai yra išdėstyti, galime įsivaizduoti, kad K-means klasterizuojasi kaip keitimasis pirmyn ir atgal tarp dviejų skirtingų fazių: duomenų taškų žymėjimo ir centroidų atnaujinimo.
Duomenų taško žymėjimo fazėje kiekvienam duomenų taškui priskiriama etiketė, kuri įdeda jį į klasterį, priklausantį artimiausiam centroidui. Artimiausias centroidas paprastai nustatomas naudojant kvadratinį Euklido atstumą, nors gali būti naudojamos kitos atstumo metrikos, tokios kaip Manheteno atstumas, kosinusas ir Žakaro atstumas, atsižvelgiant į duomenų tipą, įvedamą į klasterizacijos algoritmą.
Atnaujinant centroidą, centroidas apskaičiuojamas nustatant vidutinį atstumą tarp visų šiuo metu klasteryje esančių duomenų taškų.
Kaip pasirinkti tinkamą „K“ reikšmę
Atsižvelgiant į tai, kad K-means klasterizavimas yra neprižiūrimas algoritmas ir klasių skaičius nėra žinomas iš anksto, kaip nuspręsti dėl tinkamo klasių skaičiaus / tinkamos K reikšmės?
Vienas iš būdų, kaip pasirinkti tinkamą K reikšmę, vadinamas „alkūnės technika“. Alkūnės techniką sudaro K vidurkių klasterizacijos algoritmo paleidimas įvairioms K vertėms ir tikslumo metrikos, paprastai kvadratinės klaidos suma, naudojimas, siekiant nustatyti, kurios K reikšmės duoda geriausius rezultatus. Klaidos kvadrato suma nustatoma apskaičiuojant vidutinį atstumą tarp klasterio centroido ir tos klasterio duomenų taškų.
Sąvoka „alkūnės technika“ kilusi iš to, kad kai braižote SSE, atsižvelgdami į skirtingas K reikšmes, gautas linijos grafikas dažnai turi „alkūnės“ formą, kur SSE greitai mažėja per kelias pirmąsias K reikšmes, bet paskui išsilygina. Tokiomis sąlygomis K vertė, esanti ties alkūne, yra geriausia K reikšmė, nes po šios reikšmės grąža greitai mažėja.
Mini-Batch K-Means klasterizavimas
Didėjant duomenų rinkiniams, didėja ir skaičiavimo laikas. Pagrindinis K-means klasterizavimas gali užtrukti ilgai, kai jis vykdomas naudojant didžiulius duomenų rinkinius, todėl buvo atlikti K-means klasterizacijos patobulinimai, leidžiantys sumažinti algoritmo erdvines ir laiko sąnaudas.
Mini-Batch K reiškia grupavimą yra K-means klasterizacijos variantas kur ribojamas svarstomo duomenų rinkinio dydis. Įprastas „K-means“ grupavimas vienu metu veikia visame duomenų rinkinyje / pakete, o „Mini-Batch K-means“ grupavimas suskirsto duomenų rinkinį į poaibius. Mini partijos atsitiktinai atrenkamos iš viso duomenų rinkinio ir kiekvienai naujai iteracijai parenkama nauja atsitiktinė imtis ir naudojama centroidų padėčiai atnaujinti.
Klasterizuojant „Mini-Batch K-Means“, klasteriai atnaujinami derinant mini paketo reikšmes ir mokymosi greitį. Mokymosi greitis mažėja per iteracijas ir yra atvirkštinis duomenų taškų, esančių konkrečioje klasteryje, skaičiui. Mokymosi greičio mažinimo efektas yra tas, kad sumažėja naujų duomenų įtaka ir pasiekiama konvergencija, kai po kelių iteracijų klasteriuose nėra pokyčių.
Mini-partijos K-means klasterizacijos veiksmingumo tyrimų rezultatai rodo, kad jis gali sėkmingai sumažinti skaičiavimo laiką, šiek tiek pakeitus klasterio kokybę.
K-Means klasterizacijos taikymai
K-means klasterizavimą galima saugiai naudoti bet kurioje situacijoje, kai duomenų taškai gali būti suskirstyti į atskiras grupes/klases. Štai keletas įprastų K vidurkio klasterių naudojimo atvejų pavyzdžių.
K-means klasterizavimas gali būti taikomas dokumentų klasifikavimui, grupuojant dokumentus pagal tokias funkcijas kaip temos, žymos, žodžių vartojimas, metaduomenys ir kitos dokumento funkcijos. Jis taip pat gali būti naudojamas klasifikuojant vartotojus kaip robotus ar ne robotus pagal veiklos modelius, pvz., įrašus ir komentarus. K-means klasterizavimas taip pat gali būti naudojamas suskirstyti žmones į grupes pagal susirūpinimą keliantį lygį stebint jų sveikatą, remiantis tokiais požymiais kaip gretutinės ligos, amžius, paciento istorija ir kt.
K-means klasterizavimas taip pat gali būti naudojamas atliekant atviresnes užduotis, pvz., kuriant rekomendacijų sistemas. Tokios sistemos kaip „Netflix“ naudotojai gali būti sugrupuoti pagal žiūrėjimo būdus ir rekomenduojamą panašų turinį. K-means klasterizavimas gali būti naudojamas anomalijų aptikimo užduotims, išryškinant galimus sukčiavimo ar sugedusių elementų atvejus.
Tinklaraštininkas ir programuotojas, turintis specialybių Mašininis mokymasis ir Gilus mokymasis temomis. Danielis tikisi padėti kitiems panaudoti AI galią socialinei gerovei.