超越kmeans:聚类算法概述
kmeans屬于聚類算法當中最早也是最經典一個算法,但是我們可以發現kmeans算法屬于剛性聚類,例如,一則談論政治對生物信息技術影響的新聞報道,既可以歸類于政治類別,也可以歸類于生物技術類別,但不能同時歸于這兩個類別。既然我們需要優化相關文章的這個特性,那就需要允許重疊或模糊信息。我們也許還需要對數據點分布建模,這些都是超出了kmeans設計的初衷。
不同類型的聚類問題
排他性聚類
有重疊聚類
層次聚類
概率聚類
下面逐一介紹
1. 排他性聚類
在排他性聚類中,一個物品屬于一個類別。kmeans實現就是這種排他性的聚類,因此聚類問題需要這個約束,kmeans通常可以解決。
2. 有重疊聚類
如果我們想做是非排他性聚類,即可以把哈利波特歸入小說而且也可以歸入年輕人類別的玄幻小說。有重疊聚類算法,如模糊kmeans算法就很容易實現這點。
3. 層次聚類
現在假設有兩個簇分別代表不同類型書籍,其中一個是玄幻,另一個是太空旅行。但是這兩個簇都可以看作是小說的子簇,因此通過合并這兩個簇以及一些相似的簇可以構建一個小說簇。
4. 概率模型
一個概率模型通常是一個n維平面內一組點的分布或形狀特征。有很多適合不同數據模式的概率模型。概率聚類算法設法為數據集擬合出一個概率模型,通過調整模型的參數來適應數據集。因為少有完全準確擬合,所以這些算法通常給出了一個百分比或者概率值來表示概率模型對簇的擬合程度。
不同聚類算法使用不同的策略。可以將其大致分為如下幾類:
確定的中心個數
自底向上的方法(通過組合將點合并為簇)
自頂向下的方法(拆分大簇成小簇方法)
雖然這些算法看起來簡單,但是要找到數據點集合最佳劃分并不容易。此外大部分此類算法都不能直接轉化為mapreduce的形式,因此mahout中并沒有包含這些算法。
一個自頂向下的聚類例子就是譜聚類,在譜聚類(譜聚類博文)中我們尋找一條分界線或平面將數據劃分為兩個集合,使得兩個集合邊界盡可能大。
自頂向下和自底向上方法優缺點:
這兩個方法誘人之處在于不需要用戶輸入簇的數目,這意味著對于數據點分布未知的數據集,這兩類算法僅僅只需要根據相似性度量給出聚類結果。在很多應用中都是行之有效的。然后這些方法很多在研究當中,而且這些算法無法以mapreduce框架執行。
轉載于:https://www.cnblogs.com/huruzun/p/5423890.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的超越kmeans:聚类算法概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [WPF]xml序列化以及反序列化数据
- 下一篇: CentOS 7.0 上安装和配置 VN