
文章插圖
美國物理學(xué)家斯圖爾特-勞埃德(Stuart Lloyd)是貝爾實(shí)驗(yàn)室標(biāo)志性創(chuàng)新工廠和發(fā)明原子彈的曼哈頓項(xiàng)目的校友,他在1957年首次提出了k-means聚類,以分配數(shù)字信號中的信息,不過他直到1982年才發(fā)表 。
與此同時,美國統(tǒng)計學(xué)家愛德華-福吉(Edward Forgy)在1965年描述了一種類似的方法——勞埃德-福吉算法 。
K-means聚類首先會尋找group的中心,然后將數(shù)據(jù)點(diǎn)分配到志同道合的group內(nèi) 。考慮到數(shù)據(jù)量在空間里的位置和要組成的小組數(shù)量,k-means聚類可以將與會者分成規(guī)模大致相同的小組,每個小組都聚集在一個中心點(diǎn)或中心點(diǎn)周圍 。
在訓(xùn)練過程中 , 算法最初需要隨機(jī)選擇k個人來指定k個中心點(diǎn),其中k必須手動選擇,而且找到一個最佳的k值并不容易 。
然后通過將每個人與最接近的中心點(diǎn)聯(lián)系起來形成k個聚類簇 。
對于每個聚類簇,它計算所有被分配到該組的人的平均位置,并將平均位置指定為新的中心點(diǎn) 。每個新的中心點(diǎn)可能都不是由一個具體的人占據(jù)的 。
在計算出新的中心點(diǎn)后,算法將所有人重新分配到離他們最近的中心點(diǎn) 。然后計算新的中心點(diǎn),調(diào)整集群,以此類推,直到中心點(diǎn)(以及它們周圍的群體)不再移動 。
將新人分配到正確的群組很容易,讓他們在房間里找到自己的位置,然后尋找最近的中心點(diǎn) 。
K-means算法的原始形式仍然在多個領(lǐng)域很有用,特別是因?yàn)樽鳛橐环N無監(jiān)督的算法,它不需要收集潛在的昂貴的標(biāo)記數(shù)據(jù),它的運(yùn)行速度也越來越快 。
例如 , 包括scikit-learn在內(nèi)的機(jī)器學(xué)習(xí)庫都得益于2002年增加的kd-trees,它能極快地分割高維數(shù)據(jù) 。
參考資料:
【吳恩達(dá)預(yù)熱新課!萬字博客回顧機(jī)器學(xué)習(xí)算法起源】https://read.deeplearning.ai/the-batch/issue-146/
相關(guān)經(jīng)驗(yàn)推薦
- 用平底鍋煎1個雞蛋需要4分鐘 煎雞蛋平底鍋需預(yù)熱幾分鐘
- 有新消息?《哥譚騎士》官方發(fā)推為明日活動預(yù)熱
- 烤蛋撻提前預(yù)熱幾分鐘 烤蛋撻預(yù)熱時間
- 兩隊(duì)傳奇眾星云集!FIFA曬阿根廷vs荷蘭預(yù)熱海報
- 烤箱預(yù)熱一般多久
- 烤箱烤薯片預(yù)熱多久
- 新課程改革背景下的教師觀
- 做面包烤箱預(yù)熱多久
- 烤箱烤雞胸預(yù)熱多久
- 烤箱預(yù)熱時間要多久
