一、定義
層次聚類就是通過對數(shù)據(jù)集按照某種方法進行層次分解捌年,直到滿足某種條件為止佛点。按照分類原理的不同醇滥,可以分為凝聚和分裂兩種方法。
層次聚類方法對給定的數(shù)據(jù)集進行層次的分解超营,直到某種條件滿足為止鸳玩。具體又可分為凝聚和分裂的兩種方案:
1、凝聚
凝聚的層次聚類是一種自底向上的策略演闭,首先將每個對象作為一個簇怀喉,然后合并這些原子簇為越來越大的簇,直到所有的對象都在一個簇中船响,或者某個終結(jié)條件被滿足躬拢,絕大多數(shù)層次聚類方法屬于這一類,它們只是在簇間相似度的定義上有所不同见间。.
2聊闯、分裂
分裂的層次聚類與凝聚的層次聚類相反,采用自頂向下的策略米诉,它首先將所有對象置于同一個簇中菱蔬,然后逐漸細分為越來越小的簇,直到每個對象自成一簇,或者達到了某個終止條件拴泌。
本篇主要討論凝聚的層次聚類魏身。
二、凝聚層次聚類算法步驟
第一步蚪腐,將訓練樣本集中的每個數(shù)據(jù)點都當做一個聚類
第二步箭昵,計算每兩個聚類之間的距離,將距離最近的或最相似的兩個聚類進行合并回季,如同下圖中的p1和p2家制、p5和p6
第三步,重復上述步驟泡一,依舊計算每個聚類的距離颤殴,當然這次因為已經(jīng)有聚合起來的簇了因此距離的計算方式有多種:【單鏈】簇內(nèi)的最近的點的距離、【全鏈】簇內(nèi)的最遠的點的距離鼻忠、【組平均】簇的平均距離涵但、簇的相似度等
第四步,直到得到的當前聚類數(shù)是合并前聚類數(shù)的10%帖蔓,即90%的聚類都被合并了贤笆;當然還可以設置其他終止條件,這樣設置是為了防止過度合并讨阻,此時需要幾個簇,那么就可以用一條橫線去截取分出的簇篡殷,如下圖分出3類钝吮、4類、5類的橫線截止
ps:距離在通常的情況下可以計算歐幾里得距離板辽,就是普通的直線距離奇瘦,還可以計算余弦相似度
具體的動畫效果可以參考視頻,這是---->傳送門
三劲弦、優(yōu)點與缺點
1耳标、優(yōu)點
1)距離和規(guī)則的相似度容易定義,限制少
2)不像kmeans邑跪,不需要預先制定聚類數(shù)
3)可以發(fā)現(xiàn)類的層次關系
2次坡、缺點
1)計算復雜度太高
2)奇異值也能產(chǎn)生很大影響
3)由于根據(jù)距離來聚合數(shù)據(jù),算法很可能聚類成鏈狀