0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

K-means聚類算法指南

新機(jī)器視覺(jué) ? 來(lái)源:海豚數(shù)據(jù)科學(xué)實(shí)驗(yàn)室 ? 作者:海豚數(shù)據(jù)科學(xué)實(shí)驗(yàn) ? 2022-10-28 14:25 ? 次閱讀

假設(shè)您想根據(jù)內(nèi)容和主題對(duì)數(shù)百(或數(shù)千)個(gè)文檔進(jìn)行分類,或者您希望出于某種原因?qū)⒉煌膱D像組合在一起。或者更重要的是,假設(shè)你有相同的數(shù)據(jù)已經(jīng)被分類但是你想要挑戰(zhàn)這個(gè)標(biāo)簽,您想知道數(shù)據(jù)分類是否有意義,或者是否可以改進(jìn)。

好吧,我的建議是你對(duì)數(shù)據(jù)進(jìn)行聚類。信息經(jīng)常會(huì)因?yàn)槿哂嗟雀鞣N原因變得模糊不清,而將數(shù)據(jù)分組到具有相似特征的群集(群集)中是一種有效的方式。

聚類是一種廣泛用于查找具有相似特征的觀察組(稱為聚類)的技術(shù)。此過(guò)程不是由特定目的驅(qū)動(dòng)的,這意味著您不必專門告訴您的算法如何對(duì)這些觀察進(jìn)行分組,因?yàn)樗仟?dú)立進(jìn)行(組有機(jī)地形成)分組的。結(jié)果是,同一組中的觀察(或數(shù)據(jù)點(diǎn))在它們之間比另一組中的其他觀察更相似。目標(biāo)是獲得盡可能相似的同一組中的數(shù)據(jù)點(diǎn),并使不同組中的數(shù)據(jù)點(diǎn)盡可能不相似。

K-means非常適合探索性分析,非常適合了解您的數(shù)據(jù)并提供幾乎所有數(shù)據(jù)類型的見(jiàn)解。無(wú)論是圖像、圖形還是文本,K-means都非常靈活,幾乎可以滿足所有需求。

無(wú)監(jiān)督學(xué)習(xí)中的搖滾明星之一

聚類(包括K均值聚類)是一種用于數(shù)據(jù)分類的無(wú)監(jiān)督學(xué)習(xí)技術(shù)。

無(wú)監(jiān)督學(xué)習(xí)意味著沒(méi)有輸出變量來(lái)指導(dǎo)學(xué)習(xí)過(guò)程(沒(méi)有這個(gè)或那個(gè),沒(méi)有對(duì)錯(cuò)),數(shù)據(jù)由算法來(lái)探索以發(fā)現(xiàn)模式。我們只觀察這些特征,但沒(méi)有對(duì)結(jié)果進(jìn)行確定的測(cè)量值,因?yàn)槲覀兿胍页鏊鼈儭?/p>

與監(jiān)督學(xué)習(xí)不同的是,非監(jiān)督學(xué)習(xí)技術(shù)不使用帶標(biāo)簽的數(shù)據(jù),算法需要自己去發(fā)現(xiàn)數(shù)據(jù)中的結(jié)構(gòu)。

在聚類技術(shù)領(lǐng)域中,K-means可能是最常見(jiàn)和經(jīng)常使用的技術(shù)之一。K-means使用迭代細(xì)化方法,基于用戶定義的集群數(shù)量(由變量K表示)和數(shù)據(jù)集來(lái)產(chǎn)生其最終聚類。例如,如果將K設(shè)置為3,則數(shù)據(jù)集將分組為3個(gè)群集,如果將K設(shè)置為4,則將數(shù)據(jù)分組為4個(gè)群集,依此類推。

K-means從任意選擇的數(shù)據(jù)點(diǎn)開(kāi)始,作為數(shù)據(jù)組的提議方法,并迭代地重新計(jì)算新的均值,以便收斂到數(shù)據(jù)點(diǎn)的最終聚類。

但是,如果您只提供一個(gè)值(K),算法如何決定如何對(duì)數(shù)據(jù)進(jìn)行分組?當(dāng)您定義K的值時(shí),您實(shí)際上是在告訴算法您需要多少均值或質(zhì)心(如果設(shè)置K = 3,則創(chuàng)建了3個(gè)均值或質(zhì)心,其中包含3個(gè)聚類)。質(zhì)心是表示聚類中心的數(shù)據(jù)點(diǎn)(均值),它可能不一定是數(shù)據(jù)集的成員。

這就是算法的工作原理

K個(gè)質(zhì)心是隨機(jī)創(chuàng)建的(基于預(yù)定義的K值)

K-means將數(shù)據(jù)集中的每個(gè)數(shù)據(jù)點(diǎn)分配到最近的質(zhì)心(最小化它們之間的歐幾里德距離),這意味著如果數(shù)據(jù)點(diǎn)比任何其他質(zhì)心更接近該群集的質(zhì)心,則認(rèn)為該數(shù)據(jù)點(diǎn)位于特定集群中。

然后K-means通過(guò)獲取分配給該質(zhì)心集群的所有數(shù)據(jù)點(diǎn)的平均值來(lái)重新計(jì)算質(zhì)心,從而減少與前一步驟相關(guān)的集群內(nèi)總方差。K均值中的“均值”是指對(duì)數(shù)據(jù)求均值并找到新的質(zhì)心。

該算法在步驟2和3之間迭代,直到滿足一些標(biāo)準(zhǔn)(例如最小化數(shù)據(jù)點(diǎn)與其對(duì)應(yīng)質(zhì)心的距離之和,達(dá)到最大迭代次數(shù),質(zhì)心值不變或數(shù)據(jù)點(diǎn)沒(méi)有變化集群)

3c2d2b64-5680-11ed-a3b6-dac502259ad0.gif

在該示例中,經(jīng)過(guò)5次迭代之后,計(jì)算的質(zhì)心保持相同,并且數(shù)據(jù)點(diǎn)不再交換集群(算法收斂)。這里,每個(gè)質(zhì)心都顯示為一個(gè)深色的數(shù)據(jù)點(diǎn)。

運(yùn)行此算法的初始結(jié)果可能不是最佳結(jié)果,并且使用不同的隨機(jī)起始質(zhì)心重新運(yùn)行它可能提供更好的性能(不同的初始對(duì)象可能產(chǎn)生不同的聚類結(jié)果)。出于這個(gè)原因,通常的做法是使用不同的起點(diǎn)多次運(yùn)行算法,并評(píng)估不同的初始化方法(例如Forgy或Kaufman方法)。

但另一個(gè)問(wèn)題出現(xiàn)了:你如何知道K的正確值,或者要?jiǎng)?chuàng)建多少個(gè)質(zhì)心?對(duì)此這個(gè)問(wèn)題沒(méi)有普遍的答案,雖然質(zhì)心或集群的最佳數(shù)量還不是先驗(yàn)的,但是存在不同的方法來(lái)估計(jì)它。一種常用的方法是測(cè)試不同數(shù)量的集群并測(cè)量得到的誤差平方之和,選擇K值,在該值處增加將導(dǎo)致誤差和減小的非常小,而減小時(shí)將急劇增加誤差和。定義最佳集群數(shù)的這一點(diǎn)被稱為“肘點(diǎn)”,可以用作一個(gè)視覺(jué)度量來(lái)找到K值的最佳選擇。

3c7ba960-5680-11ed-a3b6-dac502259ad0.png

在此示例中,肘點(diǎn)位于3個(gè)集群中

K-means是您的數(shù)據(jù)科學(xué)工具包中必不可少的,有幾個(gè)原因。首先,它易于實(shí)現(xiàn)并帶來(lái)高效的性能。畢竟,您只需要定義一個(gè)參數(shù)(K的值)來(lái)查看結(jié)果。它的速度很快并且可以很好地處理大型數(shù)據(jù)集,使其能夠處理當(dāng)前的海量數(shù)據(jù)。它非常靈活,可以與幾乎任何數(shù)據(jù)類型一起使用,其結(jié)果易于解釋,并且比其他算法更易于解釋。此外,該算法非常受歡迎,您幾乎可以在任何學(xué)科中找到用例和實(shí)現(xiàn)。

但凡事都有不利的一面

K-means也存在一些缺點(diǎn)。第一個(gè)是你需要定義集群的數(shù)量,這個(gè)決定會(huì)嚴(yán)重影響結(jié)果。此外,由于初始質(zhì)心的位置是隨機(jī)的,因此結(jié)果可能不具有可比性并且顯示缺乏一致性。K-means生成具有統(tǒng)一大小的聚類(每個(gè)聚類具有大致相同的觀察量),即使數(shù)據(jù)可能以不同的方式運(yùn)行,并且它對(duì)異常值和噪聲數(shù)據(jù)非常敏感。此外,它假設(shè)每個(gè)聚類中的數(shù)據(jù)點(diǎn)被建模為位于該聚類質(zhì)心周圍的球體內(nèi)(球形限制),但是當(dāng)違反此條件(或任何先前的條件)時(shí),算法可以以非直觀的方式運(yùn)行。

3c987982-5680-11ed-a3b6-dac502259ad0.png

例1

示例1:在左側(cè),數(shù)據(jù)的直觀聚類,兩組數(shù)據(jù)點(diǎn)之間有明顯分離(由一個(gè)較大的數(shù)據(jù)點(diǎn)包圍的一個(gè)小環(huán)的形狀)。在右側(cè),通過(guò)K均值算法(K值為2)聚類的相同數(shù)據(jù)點(diǎn),其中每個(gè)質(zhì)心用菱形表示。如您所見(jiàn),該算法無(wú)法識(shí)別直觀的聚類。

3cc35922-5680-11ed-a3b6-dac502259ad0.png

例2

示例2:左側(cè)是兩個(gè)可識(shí)別數(shù)據(jù)組的聚類。在右側(cè),K-means聚類在相同數(shù)據(jù)點(diǎn)上的結(jié)果不適合直觀的聚類。與示例1的情況一樣,由于算法的球形限制,K-means創(chuàng)建的分區(qū)不能反映我們?cè)谝曈X(jué)上識(shí)別的內(nèi)容。它試圖找到圍繞它們的整個(gè)數(shù)據(jù)球體的質(zhì)心,并且當(dāng)聚類的幾何形狀偏離球體時(shí)表現(xiàn)很差。

3d07a064-5680-11ed-a3b6-dac502259ad0.png

例3

示例3:再次,在左側(cè)有兩個(gè)清晰的集群(一個(gè)小而緊密的數(shù)據(jù)組和另一個(gè)較大且分散的集群),K-means無(wú)法識(shí)別(右側(cè))。這里,為了平衡兩個(gè)數(shù)據(jù)組之間的集群內(nèi)距離并生成具有統(tǒng)一大小的集群,該算法混合兩個(gè)數(shù)據(jù)組并創(chuàng)建2個(gè)不代表數(shù)據(jù)集的人工集群。

有趣的是,無(wú)論這些數(shù)據(jù)點(diǎn)之間的關(guān)系多么明顯,K-means都不允許彼此遠(yuǎn)離的數(shù)據(jù)點(diǎn)共享同一個(gè)集群。

現(xiàn)在做什么?

事情是現(xiàn)實(shí)生活中的數(shù)據(jù)幾乎總是復(fù)雜、雜亂無(wú)章和嘈雜的?,F(xiàn)實(shí)世界中的情況很少能反映出明確的條件,即可立即應(yīng)用這些類型的算法。在K-means算法的情況下,預(yù)計(jì)至少有一個(gè)假設(shè)會(huì)被違反,因此我們不僅要識(shí)別它,還需要知道在這種情況下該做什么。

好消息是還有其他選擇,可以糾正缺陷。例如,將數(shù)據(jù)轉(zhuǎn)換為極坐標(biāo)可以解決我們?cè)谑纠?中描述的球形限制。如果發(fā)現(xiàn)嚴(yán)重的限制,還可以考慮使用其他類型的聚類算法??赡艿姆椒ㄊ鞘褂没诿芏然蚧趯哟蔚乃惴?,這些算法修復(fù)了一些K均值限制(但也有其自身的局限性)。

總之,K-means是一種具有大量潛在用途的精彩算法,因此它具有多種功能,幾乎可用于任何類型的數(shù)據(jù)分組。但是從來(lái)沒(méi)有免費(fèi)的午餐:如果你不想被引導(dǎo)到錯(cuò)誤的結(jié)果,你需要了解它的假設(shè)和它的運(yùn)作方式。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 聚類算法
    +關(guān)注

    關(guān)注

    2

    文章

    118

    瀏覽量

    12278
  • K-means
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    11465

原文標(biāo)題:一個(gè)完整的K-means聚類算法指南!

文章出處:【微信號(hào):vision263com,微信公眾號(hào):新機(jī)器視覺(jué)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    數(shù)據(jù)降維工具介紹——SpatialPCA

    現(xiàn)有常用的空間轉(zhuǎn)錄組降維方法,如主成分分析(principal component analysis,PCA)、非負(fù)矩陣分解(non-negative matrix factorization
    的頭像 發(fā)表于 02-07 11:19 ?486次閱讀
    數(shù)據(jù)降維<b class='flag-5'>聚</b><b class='flag-5'>類</b>工具介紹——SpatialPCA

    2K0300 OpenHarmony源碼構(gòu)建指南

    2K0300 OpenHarmony源碼構(gòu)建參考如下 2K0300先鋒派OpenHarmony源碼構(gòu)建指南 2K0300 源碼編譯wiki
    發(fā)表于 02-05 09:36

    S32K3xx微控制器的硬件設(shè)計(jì)指南

    電子發(fā)燒友網(wǎng)站提供《S32K3xx微控制器的硬件設(shè)計(jì)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-30 15:46 ?6次下載

    G.726/G.711 CST算法用戶指南

    電子發(fā)燒友網(wǎng)站提供《G.726/G.711 CST算法用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-21 09:46 ?0次下載
    G.726/G.711 CST<b class='flag-5'>算法</b>用戶<b class='flag-5'>指南</b>

    TLV320AIC3107EVM-K用戶指南

    電子發(fā)燒友網(wǎng)站提供《TLV320AIC3107EVM-K用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-19 15:39 ?0次下載
    TLV320AIC3107EVM-<b class='flag-5'>K</b>用戶<b class='flag-5'>指南</b>

    TLV320AIC3204EVM-K用戶指南

    電子發(fā)燒友網(wǎng)站提供《TLV320AIC3204EVM-K用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-19 15:04 ?0次下載
    TLV320AIC3204EVM-<b class='flag-5'>K</b>用戶<b class='flag-5'>指南</b>

    舒適噪聲發(fā)生器(CNG)算法用戶指南

    電子發(fā)燒友網(wǎng)站提供《舒適噪聲發(fā)生器(CNG)算法用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-17 15:46 ?0次下載
    舒適噪聲發(fā)生器(CNG)<b class='flag-5'>算法</b>用戶<b class='flag-5'>指南</b>

    TLV320DAC3203EVM-K用戶指南

    電子發(fā)燒友網(wǎng)站提供《TLV320DAC3203EVM-K用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-10 13:42 ?12次下載
    TLV320DAC3203EVM-<b class='flag-5'>K</b>用戶<b class='flag-5'>指南</b>

    BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南

    電子發(fā)燒友網(wǎng)站提供《BOOSTXL-K350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-05 14:45 ?0次下載
    BOOSTXL-<b class='flag-5'>K</b>350QVG-S1 QVGA顯示BoosterPack?插件模塊用戶<b class='flag-5'>指南</b>

    STM32應(yīng)用中UL/CSA/IEC 60730-1/60335-1的B認(rèn)證獲取指南

    電子發(fā)燒友網(wǎng)站提供《STM32應(yīng)用中UL/CSA/IEC 60730-1/60335-1的B認(rèn)證獲取指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-26 15:04 ?2次下載

    DLP ECD 4K UHD EVM用戶指南

    電子發(fā)燒友網(wǎng)站提供《DLP ECD 4K UHD EVM用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-26 14:12 ?0次下載
    DLP ECD 4<b class='flag-5'>K</b> UHD EVM用戶<b class='flag-5'>指南</b>

    LMQ61460EVM-400K用戶指南

    電子發(fā)燒友網(wǎng)站提供《LMQ61460EVM-400K用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-24 14:48 ?0次下載
    LMQ61460EVM-400<b class='flag-5'>K</b>用戶<b class='flag-5'>指南</b>

    2.1 MHz放大器電感選擇指南

    電子發(fā)燒友網(wǎng)站提供《2.1 MHz放大器電感選擇指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-25 09:11 ?1次下載
    2.1 MHz<b class='flag-5'>類</b>放大器電感選擇<b class='flag-5'>指南</b>

    人員軌跡分析算法有哪些?

    時(shí)段等。這些信息可以對(duì)城市規(guī)劃、交通管理、公共安全等方面具有重要的指導(dǎo)意義。而為了實(shí)現(xiàn)人員軌跡分析,我們需要使用一些專門的算法和技術(shù)。 下面是幾種常用的人員軌跡分析算法: 1. 基于密度的
    的頭像 發(fā)表于 09-26 10:42 ?812次閱讀

    D音頻放大器無(wú)源元件選擇指南

    電子發(fā)燒友網(wǎng)站提供《D音頻放大器無(wú)源元件選擇指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:47 ?2次下載
    D<b class='flag-5'>類</b>音頻放大器無(wú)源元件選擇<b class='flag-5'>指南</b>

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品