0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

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

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

基本的k-means算法流程

lviY_AI_shequ ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-24 17:44 ? 次閱讀

1、引言

k-means與kNN雖然都是以k打頭,但卻是兩類算法——kNN為監(jiān)督學(xué)習(xí)中的分類算法,而k-means則是非監(jiān)督學(xué)習(xí)中的聚類算法;二者相同之處:均利用近鄰信息來(lái)標(biāo)注類別。

聚類是數(shù)據(jù)挖掘中一種非常重要的學(xué)習(xí)流派,指將未標(biāo)注的樣本數(shù)據(jù)中相似的分為同一類,正所謂“物以類聚,人以群分”嘛。k-means是聚類算法中最為簡(jiǎn)單、高效的,核心思想:由用戶指定k個(gè)初始質(zhì)心(initial centroids),以作為聚類的類別(cluster),重復(fù)迭代直至算法收斂。

2、基本算法

在k-means算法中,用質(zhì)心來(lái)表示cluster;且容易證明k-means算法收斂等同于所有質(zhì)心不再發(fā)生變化?;镜膋-means算法流程如下:

選取k個(gè)初始質(zhì)心(作為初始cluster); repeat: 對(duì)每個(gè)樣本點(diǎn),計(jì)算得到距其最近的質(zhì)心,將其類別標(biāo)為該質(zhì)心所對(duì)應(yīng)的cluster; 重新計(jì)算k個(gè)cluser對(duì)應(yīng)的質(zhì)心; until 質(zhì)心不再發(fā)生變化

對(duì)于歐式空間的樣本數(shù)據(jù),以平方誤差和(sum of the squared error, SSE)作為聚類的目標(biāo)函數(shù),同時(shí)也可以衡量不同聚類結(jié)果好壞的指標(biāo):

表示樣本點(diǎn)到cluster的質(zhì)心距離平方和;最優(yōu)的聚類結(jié)果應(yīng)使得SSE達(dá)到最小值。

下圖中給出了一個(gè)通過(guò)4次迭代聚類3個(gè)cluster的例子:

k-means存在缺點(diǎn):

k-means是局部最優(yōu)的,容易受到初始質(zhì)心的影響;比如在下圖中,因選擇初始質(zhì)心不恰當(dāng)而造成次優(yōu)的聚類結(jié)果(SSE較大):

同時(shí),k值的選取也會(huì)直接影響聚類結(jié)果,最優(yōu)聚類的k值應(yīng)與樣本數(shù)據(jù)本身的結(jié)構(gòu)信息相吻合,而這種結(jié)構(gòu)信息是很難去掌握,因此選取最優(yōu)k值是非常困難的。

3、優(yōu)化

為了解決上述存在缺點(diǎn),在基本k-means的基礎(chǔ)上發(fā)展而來(lái)二分 (bisecting) k-means,其主要思想:一個(gè)大cluster進(jìn)行分裂后可以得到兩個(gè)小的cluster;為了得到k個(gè)cluster,可進(jìn)行k-1次分裂。算法流程如下:

初始只有一個(gè)cluster包含所有樣本點(diǎn); repeat: 從待分裂的clusters中選擇一個(gè)進(jìn)行二元分裂,所選的cluster應(yīng)使得SSE最??; until 有k個(gè)cluster

上述算法流程中,為從待分裂的clusters中求得局部最優(yōu)解,可以采取暴力方法:依次對(duì)每個(gè)待分裂的cluster進(jìn)行二元分裂(bisect)以求得最優(yōu)分裂。二分k-means算法聚類過(guò)程如圖:

從圖中,我們觀察到:二分k-means算法對(duì)初始質(zhì)心的選擇不太敏感,因?yàn)槌跏紩r(shí)只選擇一個(gè)質(zhì)心。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4256

    瀏覽量

    62223
  • 聚類算法
    +關(guān)注

    關(guān)注

    2

    文章

    118

    瀏覽量

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

    關(guān)注

    0

    文章

    28

    瀏覽量

    11272

原文標(biāo)題:【十大經(jīng)典數(shù)據(jù)挖掘算法】k-means

文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛(ài)好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用K-means壓縮圖像

    山東大學(xué)機(jī)器學(xué)習(xí)(實(shí)驗(yàn)六內(nèi)容)—— K-Means
    發(fā)表于 08-28 09:25

    調(diào)用sklearn使用的k-means模型

    【python】調(diào)用sklearn使用k-means模型
    發(fā)表于 06-12 13:33

    K-Means有什么優(yōu)缺點(diǎn)?

    K-Means的主要優(yōu)點(diǎn)是什么?K-Means的主要缺點(diǎn)是什么?
    發(fā)表于 06-10 06:14

    改進(jìn)的k-means聚類算法在供電企業(yè)CRM中的應(yīng)用

    針對(duì)k-means算法存在的不足,提出了一種改進(jìn)算法。 針對(duì)目前供電企業(yè)CRM系統(tǒng)的特點(diǎn)提出了用聚類分析方法進(jìn)行客戶群細(xì)分模型設(shè)計(jì),通過(guò)實(shí)驗(yàn)驗(yàn)證了本文提出的k-means改進(jìn)
    發(fā)表于 03-01 15:28 ?15次下載

    Web文檔聚類中k-means算法的改進(jìn)

    Web文檔聚類中k-means算法的改進(jìn) 介紹了Web文檔聚類中普遍使用的、基于分割的k-means算法,分析了k-means
    發(fā)表于 09-19 09:17 ?1038次閱讀
    Web文檔聚類中<b class='flag-5'>k-means</b><b class='flag-5'>算法</b>的改進(jìn)

    K-means+聚類算法研究綜述

    介紹了K-means 聚類算法的目標(biāo)函數(shù)、算法流程,并列舉了一個(gè)實(shí)例,指出了數(shù)據(jù)子集的數(shù)目K、初始聚類中心選取、相似性度量和距離矩陣為
    發(fā)表于 05-07 14:09 ?27次下載
    <b class='flag-5'>K-means</b>+聚類<b class='flag-5'>算法</b>研究綜述

    基于密度的K-means算法在聚類數(shù)目中應(yīng)用

    針對(duì)傳統(tǒng)的K-means算法無(wú)法預(yù)先明確聚類數(shù)目,對(duì)初始聚類中心選取敏感且易受離群孤點(diǎn)影響導(dǎo)致聚類結(jié)果穩(wěn)定性和準(zhǔn)確性欠佳的問(wèn)題,提出一種改進(jìn)的基于密度的K-means算法。該
    發(fā)表于 11-25 11:35 ?0次下載

    K-Means算法改進(jìn)及優(yōu)化

    傳統(tǒng)的k-means算法采用的是隨機(jī)數(shù)初始化聚類中心的方法,這種方法的主要優(yōu)點(diǎn)是能夠快速的產(chǎn)生初始化的聚類中心,其主要缺點(diǎn)是初始化的聚類中心可能會(huì)同時(shí)出現(xiàn)在同一個(gè)類別中,導(dǎo)致迭代次數(shù)過(guò)多,甚至陷入
    發(fā)表于 12-05 18:32 ?0次下載
    <b class='flag-5'>K-Means</b><b class='flag-5'>算法</b>改進(jìn)及優(yōu)化

    基于布谷鳥(niǎo)搜索的K-means聚類算法

    針對(duì)原始K-means聚類算法受初始聚類中心影響過(guò)大以及容易陷入局部最優(yōu)的不足,提出一種基于改進(jìn)布谷鳥(niǎo)搜索(cs)的K-means聚類算法(ACS-
    發(fā)表于 12-13 17:24 ?3次下載

    熵加權(quán)多視角核K-means算法

    在基于視角加權(quán)的多視角聚類中,每個(gè)視角的權(quán)重取值對(duì)聚類結(jié)果的精度都有著重要的影V向。針對(duì)此問(wèn)題,提出熵加權(quán)多視角核K-means( EWKKM)算法,通過(guò)給每個(gè)視角分配一個(gè)合理的權(quán)值來(lái)降低噪聲視角或
    發(fā)表于 12-17 09:57 ?1次下載

    k-means算法原理解析

    對(duì)于K-Means算法,首先要注意的是k值的選擇,一般來(lái)說(shuō),我們會(huì)根據(jù)對(duì)數(shù)據(jù)的先驗(yàn)經(jīng)驗(yàn)選擇一個(gè)合適的k值,如果沒(méi)有什么先驗(yàn)知識(shí),則可以通過(guò)交叉驗(yàn)證選擇一個(gè)合適的
    的頭像 發(fā)表于 02-12 16:06 ?8300次閱讀
    <b class='flag-5'>k-means</b><b class='flag-5'>算法</b>原理解析

    K-Means算法的簡(jiǎn)單介紹

    K-Means是十大經(jīng)典數(shù)據(jù)挖掘算法之一。K-Means和KNN(K鄰近)看上去都是K打頭,但卻是不同種類的
    發(fā)表于 07-05 14:18 ?4872次閱讀

    K-MEANS聚類算法概述及工作原理

    K-means 是一種聚類算法,且對(duì)于數(shù)據(jù)科學(xué)家而言,是簡(jiǎn)單且熱門的無(wú)監(jiān)督式機(jī)器學(xué)習(xí)(ML)算法之一。
    的頭像 發(fā)表于 06-06 11:53 ?3828次閱讀

    K-means聚類算法指南

    在聚類技術(shù)領(lǐng)域中,K-means可能是最常見(jiàn)和經(jīng)常使用的技術(shù)之一。K-means使用迭代細(xì)化方法,基于用戶定義的集群數(shù)量(由變量K表示)和數(shù)據(jù)集來(lái)產(chǎn)生其最終聚類。例如,如果將K設(shè)置為3
    的頭像 發(fā)表于 10-28 14:25 ?1345次閱讀

    大學(xué)課程 數(shù)據(jù)分析 實(shí)戰(zhàn)之K-means算法(2)算法代碼

    繼續(xù)講解! 程序來(lái)啦! 最后看一下程序示例!看看如何用K-means算法實(shí)現(xiàn)數(shù)據(jù)聚類的過(guò)程。程序很簡(jiǎn)單,側(cè)重讓大家了解和掌握 K-means算法 聚類的過(guò)程! 看代碼吧!程序由三部
    的頭像 發(fā)表于 02-11 07:20 ?411次閱讀