假設(shè)有N個待聚類的樣本,對于層次聚類來說乘粒,步驟:
? ? ? ?1席揽、(初始化)把每個樣本歸為一類,計算每兩個類之間的距離谓厘,也就是樣本與樣本之間的相似度;
? ? ? ?2寸谜、尋找各個類之間最近的兩個類竟稳,把他們歸為一類(這樣類的總數(shù)就少了一個);
? ? ? ?3、重新計算新生成的這個類與各個舊類之間的相似度他爸;
? ? ? ?4聂宾、重復(fù)2和3直到所有樣本點都歸為一類,結(jié)束
? ? ? ? SingleLinkage:又叫做 nearest-neighbor 茶袒,就是取兩個類中距離最近的兩個樣本的距離作為這兩個集合的距離,也就是說凉馆,最近兩個樣本之間的距離越小薪寓,這兩個類之間的相似度就越大。容易造成一種叫做 Chaining 的效果澜共,兩個 cluster 明明從“大局”上離得比較遠向叉,但是由于其中個別的點距離比較近就被合并了,并且這樣合并之后 Chaining 效應(yīng)會進一步擴大嗦董,最后會得到比較松散的 cluster 母谎。
? ? ? ?CompleteLinkage:這個則完全是 Single Linkage 的反面極端,取兩個集合中距離最遠的兩個點的距離作為兩個集合的距離展懈。其效果也是剛好相反的销睁,限制非常大,兩個 cluster 即使已經(jīng)很接近了存崖,但是只要有不配合的點存在冻记,就頑固到底,老死不相合并来惧,也是不太好的辦法冗栗。這兩種相似度的定義方法的共同問題就是指考慮了某個有特點的數(shù)據(jù),而沒有考慮類內(nèi)數(shù)據(jù)的整體特點供搀。
? ? ? ?Average-linkage:這種方法就是把兩個集合中的點兩兩的距離全部放在一起求一個平均值隅居,相對也能得到合適一點的結(jié)果。
? ? ? ?average-linkage的一個變種就是取兩兩距離的中值葛虐,與取均值相比更加能夠解除個別偏離樣本對結(jié)果的干擾胎源。