官术网_书友最值得收藏!

2.6 其他聚類方法

k-均值算法是最受歡迎的聚類分析方法,但是還有其他替換的方法可用,其中一種被稱為凝聚層次聚類(agglomerative hierarchical clustering),該方法涉及以下幾個步驟:

·將每個觀測值設為一個子聚類;

·合并距離最近的兩個聚類;

·重復第二步直到所有觀測值被合并為一個聚類。

這種方法的優(yōu)勢在于所有聚類按照層次組合,因此我們可以觀察到子聚類中的子聚類。當我們定下一個具體的k值時,這種層次結構可以直接將所有觀測值分出從1到k個子聚類。而這種方法的劣勢則在于當觀測值數量級過大時,這么做會非常花費時間。

有一系列不同的方法可以對第二步中A和B兩個聚類的接近程度進行測量。第一種方法是分別計算A聚類和B聚類中觀測值的平均歐式距離?;蛘?,我們可以利用歐式距離的最小值或者最大值。另一種方法(離差平方和法的一種)是計算當兩個子聚類合并后慣性矩的增加值。無論選擇哪一種方法,第二步的目的都是尋找兩個距離最近的聚類并對其進行合并。

有時候聚類可以通過統(tǒng)計學分布來完成,這種方法被稱為基于分布的聚類(distribution-based clustering)。舉個簡單的例子:假設只有一個特征,觀測值的概率分布如圖2-6所示,我們可以從圖中觀測到觀測值的分布為兩個正態(tài)分布的組合。其定義為,一個觀測值分布于均值和標準差為某個值的正態(tài)分布上的概率為p,而分布于另一個均值和標準差不同的正態(tài)分布上的概率為1-p。統(tǒng)計工具可以將兩個分布區(qū)分開,因此形成了兩個聚類。同樣的方法也適用于多個特征和多個分布中。

圖2-6 一個特征取值的可分離正態(tài)分布聚類的概率分布圖

基于密度的聚類(density-based clustering)根據單個觀測值的接近程度來形成聚類。我們假設最初將8個觀測值歸為一個聚類,觀測值之間距離較近,然后在這個聚類中增加一個新的觀測值,且新增觀測值與子聚類內至少5個觀測值接近,從而形成新聚類;然后再增加一個觀測值,且新增觀測值與新聚類中至少5個觀測值接近,依此類推。該方法所得出的聚類形狀與k-均值算法所得出的聚類形狀差異較大。圖2-7展示了兩個例子。k-均值算法不會得出這樣的結論,因為其算法考慮的是子聚類的中心位置。圖2-7a中展示的兩個子聚類擁有同一個中心點,而k-均值卻不會得到這樣的結果;在圖2-7b中,k-均值算法可能會得出與之相似的聚類,但外表形狀并不明顯。

圖2-7 基于密度的聚類算法結果圖

主站蜘蛛池模板: 潜江市| 海盐县| 辽源市| 天峨县| 金昌市| 和静县| 安远县| 麻城市| 临清市| 古丈县| 监利县| 临武县| 苏尼特右旗| 尚义县| 塘沽区| 类乌齐县| 金寨县| 襄垣县| 城固县| 类乌齐县| 乌兰察布市| 大安市| 会泽县| 莆田市| 泗水县| 沙坪坝区| 白水县| 金坛市| 武城县| 微山县| 双城市| 万盛区| 福鼎市| 山阴县| 罗江县| 英超| 柯坪县| 牟定县| 皋兰县| 平安县| 偏关县|