摘要:其實聚類算法還有一個妙用就是,當(dāng)數(shù)據(jù)集過于龐大,并且原始數(shù)據(jù)并不存在信息,你又需要跑一個有監(jiān)督學(xué)習(xí)的算法的時候,你想要人為的給數(shù)據(jù)打顯然是不合適的,這時先跑一次聚類,記錄好聚類的情況,再直接跑有監(jiān)督學(xué)習(xí)的算法就可以了。
前言
在本系列前面的內(nèi)容中,講述了一系列的機器學(xué)習(xí)方法。要知道機器學(xué)習(xí)算法中,比較常用的主要分成有監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)(其實還有一個叫半監(jiān)督學(xué)習(xí),在這里先不作討論),簡單點來說,所謂的有監(jiān)督學(xué)習(xí),就是人類會給訓(xùn)練集指明label,自然的無監(jiān)督學(xué)習(xí)就是不為訓(xùn)練集指明label。所以本系列前段時間所說的就屬于有監(jiān)督學(xué)習(xí)。
站在使用者的角度來說,兩種模型的使用方法大致相同,都是我將測試樣本輸入模型,模型輸出該樣本所屬的類別(這里以分類問題為例),但模型產(chǎn)生的方式是不同的。對于有監(jiān)督學(xué)習(xí)來說,你重新訓(xùn)練一次樣本1類還是那個1類,而對于無監(jiān)督學(xué)習(xí)來說,你重新訓(xùn)練一次1類說不定就不是上次那個1類了,正是因為這個原因,所以在輸出類別后,必要時需要輸出同類別的其他樣本,以作參考。
正如當(dāng)你老師跟你說了一堆三角形的例子你就知道這堂課說的就是三角形一樣,沒錯,接下來就是為了講述最基本的無監(jiān)督學(xué)習(xí)的算法,K-Means聚類算法。
在這篇文章中,作者舉了一個例子,將近年來各國球隊的戰(zhàn)績進行聚類,分出世界一流,二流,三流球隊,那么,顯然當(dāng)有一只新球隊需要分類時,將他的戰(zhàn)績?nèi)舆M模型里跑一跑就ok了。
其實聚類算法還有一個妙用就是,當(dāng)數(shù)據(jù)集過于龐大,并且原始數(shù)據(jù)并不存在label信息,你又需要跑一個有監(jiān)督學(xué)習(xí)的算法的時候,你想要人為的給數(shù)據(jù)打label顯然是不合適的,這時先跑一次聚類,記錄好聚類的情況,再直接跑有監(jiān)督學(xué)習(xí)的算法就可以了。
K-Means回到正題上,本文主要介紹K-Means方法,和為了彌補K-Means不足而產(chǎn)生的二分K-Means方法
以下講解以二維數(shù)據(jù)為例。
普通的K-Means方法隨機產(chǎn)生n個點為簇心,n的取值為用戶需要的類別個數(shù)。
計算所有樣本離簇心的距離,計算方法有多種,其中包括最易理解的歐式距離sqrt((x1-y1)^2 +(x2-y2)^2)
每一個樣本都?xì)w納到距離最近的簇心所在的類別。
產(chǎn)生新的簇心,新的簇心計算方法為每一個簇內(nèi)所有的樣本的算術(shù)平均數(shù)。新簇心坐標(biāo)(((x1+x2+……xn)/n),(y1+y2+……yn)/n))(x,y)為同一簇內(nèi)樣本點的坐標(biāo)
產(chǎn)生新的簇心后,按照新的簇心進行分類,若分類結(jié)果不變,則結(jié)束聚類,否則重復(fù)該過程至分類結(jié)果不變或超出用戶指定的迭代次數(shù)。
普通K-Means有一個比較明顯的缺陷,就是他的起始簇心是隨機的。
隨機意味這什么呢?一切皆有可能??!
因為后續(xù)的質(zhì)心迭代都是基于首次質(zhì)心的選取,因此整體算法的結(jié)果和質(zhì)心的選取極度敏感,雖然退一步來說,第一次聚類不理想,就重來算法一次好了,你可以重復(fù)運行至結(jié)果可接受位置,但這種方法顯然是不能接受。于是便出現(xiàn)了二分K-Means算法。
二分K-Means方法以所有樣本點的中心為第一個簇心
判斷當(dāng)前簇心數(shù)是否滿足要求,若滿足則退出算法
若不滿足,則選取劃分后誤差最小的點一分為二(只有一個點時則選取自身)(一分為二的操作是指對該簇進行普通的K-Means方法)
直至簇心個數(shù)滿足要求。
代碼實現(xiàn)后話github
自從開始這個機器學(xué)習(xí)從入門到放棄系列后,也多了一些關(guān)注者,最近文章更新緩慢我也有些抱歉,其實在github上已有其他算法的實現(xiàn),心癢的同學(xué)可以先自行學(xué)習(xí),因文章需要知識上的梳理和總結(jié)加上一些私事,所以更新會較慢,各位關(guān)注者見諒哈。
文章如有不足或不明白的地方,歡迎留言指教或探討。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/38188.html
摘要:摘要前文數(shù)據(jù)挖掘與機器學(xué)習(xí)技術(shù)入門實戰(zhàn)與大家分享了分類算法,在本文中將為大家介紹聚類算法和關(guān)聯(lián)分析問題。比如,聚類算法可以實現(xiàn)公司客戶價值自動劃分,網(wǎng)頁自動歸類等。 摘要:前文數(shù)據(jù)挖掘與機器學(xué)習(xí)技術(shù)入門實戰(zhàn)與大家分享了分類算法,在本文中將為大家介紹聚類算法和關(guān)聯(lián)分析問題。分類算法與聚類到底有何區(qū)別?聚類方法應(yīng)在怎樣的場景下使用?如何使用關(guān)聯(lián)分析算法解決個性化推薦問題?本文就為大家揭曉答...
閱讀 1702·2021-09-23 11:31
閱讀 1010·2021-09-23 11:22
閱讀 1450·2021-09-22 15:41
閱讀 4180·2021-09-03 10:28
閱讀 2975·2019-08-30 15:55
閱讀 3602·2019-08-30 15:55
閱讀 2054·2019-08-30 15:44
閱讀 2781·2019-08-30 13:50