層次聚類算法介紹
- 1層次聚類的定義
-
- 思考示例問題:
- 2距離與相似性
-
- 2.1常用的計算距離的方法
- 2.2計算名額相似性的方法
-
- 1)餘弦計算公式:![000](https://img-blog.csdnimg.cn/20200714234628463.png)
- 2)相關計算公式:
- 3合并算法思想
-
-
- 1)重心法
- 2)最短距離法
- 3)最長距離法
- 4)組間平均連接配接法
- 5)組内平均連結法
-
- 4算法流程
-
-
- 程式執行過程:
-
- 5 示例與分析
-
- 5.1基于最小值的層次聚類
-
- 優缺點
- 5.2 基于最大值的層次聚類
-
- 優缺點
- 5.3基于組平均
-
- 優缺點 (MIN和MAX之間的折中)
- 6需注意的問題
-
-
- 對比Kmean算法
-
1.本部落格是觀看清風數學建數學模組化課程後有所感想記錄的筆記,有想要深入學習的朋友可以購買觀看課程:https://weidian.com/?userid=1372657210
2.感興趣的推薦看B站數學模組化試看課程:
https://www.bilibili.com/video/av20238704
1層次聚類的定義
聚類就是對大量未知标注的資料集,按照資料内部存在的資料特征将資料集劃分為多個不同的類别,使類别内的資料比較相似,類别之間的資料相似度比較小,屬于無監督學習。
層次聚類的合并算法通過計算兩類資料點間的距離,對最為接近的兩類資料點進行組合,并反複疊代這一過程,直到将所有資料點合成一類,并生成聚類譜系圖。
思考示例問題:
2距離與相似性
2.1常用的計算距離的方法
Ps:其中絕對值距離一般應用于網狀道路距離,一般采用歐氏距離。
2.2計算名額相似性的方法
1)餘弦計算公式:
2)相關計算公式:
3合并算法思想
思想:将兩個簇合成為一個簇,計算這個簇與其他簇之間的距離,再進行合并。
簇與簇之間的常用距離:重心法,最短距離法,最長距離法,組間平均連接配接法,組内平均連結法(下圖順序一緻)
1)重心法
2)最短距離法
3)最長距離法
4)組間平均連接配接法
5)組内平均連結法
4算法流程
程式執行過程:
系統(層次)聚類的算法流程:
1.将每個對象看作一類,計算兩兩之間的最小距離;
2.将距離最小的兩個類合并成一個新類;
3.新計算新類與所有類之間的距離;
4.重複2、3兩步,直到所有類最後合并成一類;
5.結束。
5 示例與分析
根據所給的圖,以及距離矩陣,求解聚類結果:
5.1基于最小值的層次聚類
計算結果如下:
優缺點
優點:可以處理非橢圓形狀
缺點:對噪聲點和異常值敏感
5.2 基于最大值的層次聚類
計算結果如下:
優缺點
優點:不容易受噪聲點和異常值影響
缺點:1.往往打破大聚類 2.偏向球狀星團
5.3基于組平均
計算結果如下:
優缺點 (MIN和MAX之間的折中)
優點:不易受噪聲和異常值影響
缺點:偏向球狀星團
6需注意的問題
1.對于一個實際問題要根據分類的目的來選取名額,名額選取的不同分類結果一般也不同。
2.樣品間距離定義方式的不同,聚類結果一般也不同。
3.聚類方法的不同,聚類結果一般也不同 (尤其是樣品特别多的時候)。最好能通過各種方法找出其中的共性。
4.要注意名額的量綱,量綱差别太大會導緻聚類結果不合理。
5.聚類分析的結果可能不令人滿意,因為我們所做的是一個數學的處理,對于結果我們要找到一個合理的解釋。
對比Kmean算法
k均值需要定義聚類簇數k,而層次聚類不需要,層次聚類可以根據聚類譜系圖選擇聚類的簇個數。