天天看點

層次聚類一、層次聚類定義二、層次聚類算法流程

一、層次聚類定義

每一種聚類方法都有其特定的資料結構,對于服從高斯分布的資料用K-Means來進行聚類效果會比較好。而對于類别之間存在層結構的資料,用層次聚類會比較好。例如,要把所有的大學專業進行分類,這很明顯是一個帶有層次結構的分類,計算機科學與技術,物聯網工程,網絡工程等等,可以看成計算機學科,而計算機學科,機械等又可以看成工科專業。最終所有的學科會劃分成13個學科門類。

而實作層次聚類會有兩種方法,一種是自下而上進行分類,開始将每一個樣本分到一個類裡面,然後将相同的類進行合并得到一個新的類,重複操作直到滿足條件。一種是自上而下進行分類。首先将所有的樣本分到一個類裡面,然後将相距比較遠的類分到兩個類裡面,重複操作直到滿足條件,這種分類方法類似于決策樹的過程,從上到下形成一個樹,不同的是決策樹使用熵來進行分裂,而這種層次聚類是用距離的度量來進行分類。

二、層次聚類算法流程

2.1 層次聚類的三個要素

 1>首先,需要距離這個名額來衡量兩個樣本之間的相似程度,而常見的衡量樣本之間相似度的公式有,闵可夫斯基距離,馬哈拉諾比斯距離,相關系數,夾角餘弦,交叉熵等等。

闵可夫斯基距離公式如下,當p=2時就是常見的歐氏距離即兩點之間的距離公式。在這個算法中我們用歐式距離作為度量

層次聚類一、層次聚類定義二、層次聚類算法流程

馬哈拉諾比斯距離公式如下,也稱馬氏距離。這個距離在高維高斯分布的指數部分中用到。

層次聚類一、層次聚類定義二、層次聚類算法流程

交叉熵公式如下,它在softmax函數中,最後衡量樣本集的分布和樣本集的估計分布的時候用到。

層次聚類一、層次聚類定義二、層次聚類算法流程

2>可以衡量兩個樣本之間的距離之後,我們需要衡量兩個類之間的距離,常見的衡量标準為最短距離,最長距離,中心距離,平均距離等。

最短距離:A類中的樣本與B類中的樣本,之間最短的距離為兩個類之間的距離

最長距離:A類中的樣本與B類中的樣本,之間最長的距離為兩個類之間的距離

3>可以衡量類間距離之後,我們需要提出什麼時候終止聚類,一般是希望聚成幾個類。

2.2 自底向上算法流程

層次聚類一、層次聚類定義二、層次聚類算法流程

參考資料:1>周志華-機器學習

                    2>李航-統計機器學習

繼續閱讀