天天看點

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

層次聚類算法介紹

  • 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層次聚類的定義

聚類就是對大量未知标注的資料集,按照資料内部存在的資料特征将資料集劃分為多個不同的類别,使類别内的資料比較相似,類别之間的資料相似度比較小,屬于無監督學習。

層次聚類的合并算法通過計算兩類資料點間的距離,對最為接近的兩類資料點進行組合,并反複疊代這一過程,直到将所有資料點合成一類,并生成聚類譜系圖。

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

思考示例問題:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

2距離與相似性

2.1常用的計算距離的方法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

Ps:其中絕對值距離一般應用于網狀道路距離,一般采用歐氏距離。

2.2計算名額相似性的方法

1)餘弦計算公式:
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

2)相關計算公式:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

3合并算法思想

思想:将兩個簇合成為一個簇,計算這個簇與其他簇之間的距離,再進行合并。

簇與簇之間的常用距離:重心法,最短距離法,最長距離法,組間平均連接配接法,組内平均連結法(下圖順序一緻)

1)重心法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

2)最短距離法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

3)最長距離法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

4)組間平均連接配接法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

5)組内平均連結法

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

4算法流程

程式執行過程:

系統(層次)聚類的算法流程:
	1.将每個對象看作一類,計算兩兩之間的最小距離;
	2.将距離最小的兩個類合并成一個新類;
	3.新計算新類與所有類之間的距離;
	4.重複2、3兩步,直到所有類最後合并成一類;
	5.結束。
           
層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

5 示例與分析

根據所給的圖,以及距離矩陣,求解聚類結果:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

5.1基于最小值的層次聚類

計算結果如下:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

優缺點

優點:可以處理非橢圓形狀

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

缺點:對噪聲點和異常值敏感

5.2 基于最大值的層次聚類

計算結果如下:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

優缺點

優點:不容易受噪聲點和異常值影響

缺點:1.往往打破大聚類 2.偏向球狀星團

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

5.3基于組平均

計算結果如下:

層次聚類算法介紹1層次聚類的定義2距離與相似性3合并算法思想4算法流程5 示例與分析6需注意的問題

優缺點 (MIN和MAX之間的折中)

優點:不易受噪聲和異常值影響

缺點:偏向球狀星團

6需注意的問題

1.對于一個實際問題要根據分類的目的來選取名額,名額選取的不同分類結果一般也不同。
2.樣品間距離定義方式的不同,聚類結果一般也不同。
3.聚類方法的不同,聚類結果一般也不同 (尤其是樣品特别多的時候)。最好能通過各種方法找出其中的共性。
4.要注意名額的量綱,量綱差别太大會導緻聚類結果不合理。
5.聚類分析的結果可能不令人滿意,因為我們所做的是一個數學的處理,對于結果我們要找到一個合理的解釋。
           

對比Kmean算法

k均值需要定義聚類簇數k,而層次聚類不需要,層次聚類可以根據聚類譜系圖選擇聚類的簇個數。

繼續閱讀