無法讓明天不一樣,可以避免和昨天一樣。
前面介紹了什麼是聚類以及聚類的相似性度量方法,本節開始講解最常用的聚類方法,劃分聚類。那麼,劃分聚類的原理思想是什麼?又有哪些常用的演算法?
劃分聚類顧名思義,基於劃分的聚類方法,就是每一次基於某種演算法規則將資料點劃分到不同的類別當中。既然是劃分,首先需要指定類別劃分的數量,然後根據某種啟發式演算法迭代重置資料點所屬的類別,最後達到「類內的資料點足夠近,類間的資料點足夠遠」的效果。
劃分聚類的第一種演算法,便是k-means(k均值)演算法。k-means演算法的具體步驟如下:
1>隨機選擇k個點作為初始的k個類別質心;
2>將資料點逐一劃分到與之度量距離最小的類別;
3>將每個類別質心座標更新成當前類別下所有資料點的座標平均值;
4>重複以上步驟2和3,直到類別質心不再發生變化或已滿足迭代次數。
從上述演算法流程中我們不難發現,k-means演算法受到雜訊和離群點的影響會非常大。因為質心座標是根據度量距離的均值來更新的,一旦出現離群較遠的點,質心的位置就會受到很大影響。
鑑於這個問題,k-medoids(k中心點)演算法和k-medians(k中值)演算法應運而生,通過兩種方式分別改進了k-means演算法。
k-medoids演算法在每次更新質心座標的時候,通過列舉每個類別下的資料點,計算當前類別下其他資料點到該點距離之和,最小的那個點即為新的類別質心。即k-medoids演算法的質心一定會是某一些資料點,而不是計算出來的均值。
而k-medians演算法有別於k-medoids演算法,每次質心座標都會更新成同類別下所有資料點的中位數,直到每個類別的中位數不再改變。
k-medoids和k-medians演算法雖然都在一定程度上解決了雜訊和離群點的問題,但是由於更新質點時不再是簡單的取平均值,因此演算法時間複雜度也隨之增加。
此外,k-means演算法如果遇到離散特徵資料,那麼就必須使用離散特徵的相似性度量法來做距離度量。這個時候會有個新的名字叫k-modes演算法,k-modes演算法的距離度量法可以是交集個數、jaccard相似係數等。
以上便是常見的劃分聚類講解,敬請期待下節內容。
機器學習方法篇 21 密度聚類法
別讓偶爾的關心打敗習慣的溫暖。前面介紹了層次聚類法,在聚類效果上,層次聚類的最大問題是 有可能聚出鏈狀類。本節要講的密度聚類法可以克服這個缺點,其原理也更接近於直觀意義上的聚類。那麼,密度聚類的思想是什麼?又有哪些常用演算法?密度聚類顧名思義,是一種基於樣本密度的聚類思想。直觀意義上理解,好比在一張...
機器學習方法篇 10 隨機森林
因年齡增長所帶來的理解力,與努力無關。前面介紹了決策樹演算法應用之一的gbdt模型,本節講講決策樹另乙個比較火的應用模型,隨機森林。與gbdt模型相比,同樣屬於整合學習,隨機森林模型的原理更為直觀簡潔,效能也同樣十分強悍。那麼,隨機森林演算法模型的原理與思想是怎樣的?所謂多樹成林,random fo...
機器學習方法篇 23 增強學習入門
別讓夢想的附屬品喧賓奪主。在小鬥去年五月份寫的 alphago技術剖析 揭開圍棋大腦的神秘面紗 這篇介紹alphago的文章中講到,alphago之所以能戰勝人類頂尖的圍棋手,主要是增強策略網路的功勞。而增強策略網路的核心技術,便是增強學習。那麼,增強學習到底是什麼?增強學習 reinforceme...