【機器學習基礎】機器學習入門核心算法:層次聚類算法(AGNES算法和 DIANA算法)

在這里插入圖片描述

機器學習入門核心算法:層次聚類算法(AGNES算法和 DIANA算法)

        • 一、算法邏輯
        • 二、算法原理與數學推導
          • 1. 距離度量
          • 2. 簇間距離計算(連接標準)
          • 3. 算法偽代碼(凝聚式)
        • 三、模型評估
          • 1. 內部評估指標
          • 2. 外部評估指標(已知真實標簽)
          • 3. 超參數選擇
        • 四、應用案例
          • 1. 生物信息學
          • 2. 文檔主題分層
          • 3. 圖像分割
          • 4. 社交網絡分析
        • 五、面試題及答案
          • 常見問題
        • 六、相關論文
        • 七、優缺點對比
      • 總結

一、算法邏輯

層次聚類(Hierarchical Clustering)通過構建樹狀結構(樹狀圖/Dendrogram)揭示數據內在的層次關系,分為兩類:

  1. 凝聚式(Agglomerative)
    • 自底向上:每個樣本初始為一個簇 → 迭代合并最近簇 → 最終形成單一簇
    • 流程
      計算距離矩陣 → 合并最近簇 → 更新距離矩陣 → 重復至終止
      
  2. 分裂式(Divisive)
    • 自頂向下:所有樣本初始為一個簇 → 迭代分裂最異質簇 → 直至每個樣本一簇
    • 計算復雜度高,較少使用

核心特點

  • 無需預設聚類數
  • 樹狀圖可視化層次關系
  • 合并/分裂過程不可逆

在這里插入圖片描述

二、算法原理與數學推導
1. 距離度量

設樣本 X = { x 1 , x 2 , . . . , x n } X = \{x_1, x_2, ..., x_n\} X={x1?,x2?,...,xn?}, x i ∈ R d x_i \in \mathbb{R}^d xi?Rd
常用距離:

  • 歐氏距離: d ( x i , x j ) = ∑ k = 1 d ( x i k ? x j k ) 2 d(x_i, x_j) = \sqrt{\sum_{k=1}^d (x_{ik} - x_{jk})^2} d(xi?,xj?)=k=1d?(xik??xjk?)2 ?
  • 曼哈頓距離: d ( x i , x j ) = ∑ k = 1 d ∣ x i k ? x j k ∣ d(x_i, x_j) = \sum_{k=1}^d |x_{ik} - x_{jk}| d(xi?,xj?)=k=1d?xik??xjk?
2. 簇間距離計算(連接標準)
類型公式特點
單連接 d min ( C i , C j ) = min ? a ∈ C i , b ∈ C j d ( a , b ) d_{\text{min}}(C_i, C_j) = \min_{a \in C_i, b \in C_j} d(a,b) dmin?(Ci?,Cj?)=aCi?,bCj?min?d(a,b)易形成鏈式結構
全連接 d max ( C i , C j ) = max ? a ∈ C i , b ∈ C j d ( a , b ) d_{\text{max}}(C_i, C_j) = \max_{a \in C_i, b \in C_j} d(a,b) dmax?(Ci?,Cj?)=aCi?,bCj?max?d(a,b)對噪聲敏感
質心法 d cent ( C i , C j ) = d ( μ i , μ j ) d_{\text{cent}}(C_i, C_j) = d(\mu_i, \mu_j) dcent?(Ci?,Cj?)=d(μi?,μj?)可能導致逆反(Inversion)

其中 μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \mu_i = \frac{1}{|C_i|}\sum_{x \in C_i} x μi?=Ci?1?xCi??x 為簇質心, Δ SSE \Delta \text{SSE} ΔSSE 為合并后的簇內平方和增量。

3. 算法偽代碼(凝聚式)
輸入: 數據集 X, 連接標準  
輸出: 樹狀圖  
1. 初始化 n 個簇,每個簇包含一個樣本  
2. 計算所有簇對的距離矩陣 D  
3. for k = n to 1:  
4.   找到 D 中最小距離的簇對 (C_i, C_j)  
5.   合并 C_i 和 C_j 為新簇 C_{new}  
6.   更新距離矩陣 D(移除 C_i, C_j,添加 C_{new}7.   記錄合并高度(距離)  
8. 生成樹狀圖  
三、模型評估
1. 內部評估指標
  • 輪廓系數(Silhouette Coefficient)
    s ( i ) = b ( i ) ? a ( i ) max ? { a ( i ) , b ( i ) } s(i) = \frac{b(i) - a(i)}{\max\{a(i), b(i)\}} s(i)=max{a(i),b(i)}b(i)?a(i)?
    a ( i ) a(i) a(i):樣本 i i i 到同簇其他點的平均距離, b ( i ) b(i) b(i):到最近其他簇的平均距離。 s ( i ) ∈ [ ? 1 , 1 ] s(i) \in [-1,1] s(i)[?1,1],越大越好。
  • 共表型相關(Cophenetic Correlation)
    衡量樹狀圖距離與原始距離的一致性(值接近1表示層次結構保留良好)
2. 外部評估指標(已知真實標簽)
  • 調整蘭德指數(Adjusted Rand Index, ARI)
  • Fowlkes-Mallows Index(FMI)
3. 超參數選擇
  • 切割高度選擇:通過樹狀圖的"最長無交叉垂直邊"確定聚類數
  • 連接標準選擇
    • 單連接:適合非凸形狀
    • Ward法:適合凸簇且噪聲少
四、應用案例
1. 生物信息學
  • 基因表達聚類:對RNA-seq數據聚類,識別功能相似的基因模塊
  • 工具:GenePattern、Cluster 3.0
2. 文檔主題分層
  • 步驟
    1. 文檔→TF-IDF向量
    2. 余弦距離 + 平均連接
    3. 切割樹狀圖得到主題層級(如:科技→AI→CV/NLP)
3. 圖像分割
  • 流程
    像素→顏色+坐標特征 → Ward法聚類 → 合并相似區域
  • 優勢:保留空間連續性
4. 社交網絡分析
  • 用戶行為數據聚類 → 發現社區層級結構(如:核心用戶群→子興趣組)
五、面試題及答案
常見問題
  1. Q: 層次聚類與K-means的本質區別?
    A:

    • 層次聚類生成樹狀結構,K-means生成平面劃分
    • 層次聚類無需預設K,K-means需指定聚類數
    • 層次聚類復雜度 O ( n 3 ) O(n^3) O(n3),K-means為 O ( n k ) O(nk) O(nk)
  2. Q: Ward法的目標函數是什么?
    A: 最小化合并后的簇內平方和增量:
    Δ SSE = ∣ C i ∣ ∣ C j ∣ ∣ C i ∣ + ∣ C j ∣ ∥ μ i ? μ j ∥ 2 \Delta \text{SSE} = \frac{|C_i||C_j|}{|C_i|+|C_j|} \|\mu_i - \mu_j\|^2 ΔSSE=Ci?+Cj?Ci?∣∣Cj??μi??μj?2

  3. Q: 何時選擇全連接而非單連接?
    A: 當需要緊湊球形簇且數據噪聲較少時;單連接易受噪聲影響形成鏈式結構。

  4. Q: 如何處理大規模數據?
    A:

    • 使用優先隊列優化到 O ( n 2 log ? n ) O(n^2 \log n) O(n2logn)
    • 采樣或Mini-Batch
    • 切換為BIRCH(平衡迭代規約聚類)算法
六、相關論文
  1. 奠基性論文

    • Ward, J. H. (1963). Hierarchical Grouping to Optimize an Objective Function
      貢獻:提出Ward最小方差法
    • Johnson, S. C. (1967). Hierarchical Clustering Schemes
      貢獻:系統化連接標準
  2. 高效優化

    • Murtagh, F. (1983). A Survey of Recent Advances in Hierarchical Clustering Algorithms
      貢獻:提出 O ( n 2 ) O(n^2) O(n2) 單連接算法
  3. 生物學應用

    • Eisen, M. B., et al. (1998). Cluster Analysis of Gene Expression Data
      工具:開發TreeView軟件
七、優缺點對比
優點缺點
1. 可視化強(樹狀圖展示層次)1. 計算復雜度高(凝聚式 O ( n 3 ) O(n^3) O(n3)
2. 無需預設聚類數2. 合并/分裂后不可逆
3. 靈活選擇距離/連接標準3. 對噪聲和離群點敏感(尤其全連接)
4. 適合層次結構數據(如生物分類學)4. 大樣本內存消耗大

總結

  • 核心價值:揭示數據內在層次關系(如生物進化樹、文檔主題樹)
  • 工業選擇:中小規模數據用層次聚類(<10k樣本),大規模用BIRCH或HDBSCAN
  • 關鍵決策:距離度量 + 連接標準(Ward法最常用)
  • 趨勢:與深度學習結合(如深度層次聚類)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/83390.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/83390.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/83390.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

已有的前端項目打包到tauri運行(windows)

1.打包前端項目產生靜態html、css、js 我們接下來用vue3 vite編寫一個番茄鐘案例來演示。 我們執行npm run build 命令產生的dist目錄下的靜態文件。 2.創建tarui項目 npm create tauri-applatest一路回車&#xff0c;直到出現。 3.啟動運行 我們將打包產生的dist目錄下的…

Unity3D仿星露谷物語開發55之保存地面屬性到文件

1、目標 將游戲保存到文件&#xff0c;并從文件中加載游戲。 Player在游戲中種植的Crop&#xff0c;我們希望保存到文件中&#xff0c;當游戲重新加載時Crop的GridProperty數據仍然存在。這次主要實現保存地面屬性&#xff08;GridProperties&#xff09;信息。 我們要做的是…

Java面試:企業協同SaaS中的技術挑戰與解決方案

Java面試&#xff1a;企業協同SaaS中的技術挑戰與解決方案 面試場景 在一家知名互聯網大廠&#xff0c;面試官老王正在對一位應聘企業協同SaaS開發職位的程序員謝飛機進行技術面試。 第一輪提問&#xff1a;基礎技術 老王&#xff1a;謝飛機&#xff0c;你好。首先&#xf…

SQL注入速查表(含不同數據庫攻擊方式與差異對比)

1. 字符串連接 字符串連接是SQL注入中常用的操作&#xff0c;用于將多個字符串拼接為一個&#xff0c;以構造復雜的注入語句。不同數據庫的字符串連接語法存在顯著差異&#xff0c;了解這些差異有助于精準構造payload。 Oracle&#xff1a;使用||操作符進行字符串連接&#xf…

uni-data-picker級聯選擇器、fastadmin后端api

記錄一個部門及部門人員選擇的功能&#xff0c;效果如下&#xff1a; 組件用到了uni-ui的級聯選擇uni-data-picker 開發文檔&#xff1a;uni-app官網 組件要求的數據格式如下&#xff1a; 后端使用的是fastadmin&#xff0c;需要用到fastadmin自帶的tree類生成部門樹 &#x…

Mac電腦上本地安裝 redis并配置開啟自啟完整流程

文章目錄 一、安裝 Redis方法 1&#xff1a;通過源碼編譯安裝&#xff08;推薦&#xff09;方法 2&#xff1a;通過 Homebrew 安裝&#xff08;可選&#xff09; 二、配置 Redis1. 創建配置文件和數據目錄2. 修改配置文件 三、配置開機自啟1、通過 launchd 系統服務&#xff08…

wsl安裝linux

安裝wsl 啟用適用于 Linux 的 Windows 子系統 以管理員身份打開 PowerShell &#xff08;> PowerShell > 右鍵單擊 > 以管理員身份運行&#xff09; 并輸入以下命令&#xff0c;然后重啟 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsyste…

OpenGL 3D 編程

OpenGL 是一個強大的跨平臺圖形 API,用于渲染 2D 和 3D 圖形。以下是 OpenGL 3D 編程的入門基礎。 一. 環境設置 安裝必要的庫 GLFW: 用于創建窗口和處理輸入 GLEW 或 GLAD: 用于加載 OpenGL 函數 GLM: 數學庫,用于 3D 變換 // 基本 OpenGL 程序結構示例 #include <GL/g…

Android基于LiquidFun引擎實現軟體碰撞效果

一、實現效果 Android使用LiquidFun物理引擎實現果凍碰撞效果 二、Android代碼 // 加載liquidfun動態庫static {System.loadLibrary("liquidfun");System.loadLibrary("liquidfun_jni");}class ParticleData {long id;ParticleSystem particleSystem;float…

Redis持久化機制詳解:RDB與AOF的深度剖析

一、為什么需要持久化&#xff1f; Redis作為內存數據庫&#xff0c;數據存儲在易失性內存中。持久化機制解決兩大核心問題&#xff1a; 數據安全&#xff1a;防止服務器宕機導致數據丟失災難恢復&#xff1a;支持數據備份與快速重建 二、RDB&#xff1a;內存快照持久化 ? …

Netty學習example示例

文章目錄 simpleServer端NettyServerNettyServerHandler Client端NettyClientNettyClientHandler tcp&#xff08;粘包和拆包&#xff09;Server端NettyTcpServerNettyTcpServerHandler Client端NettyTcpClientNettyTcpClientHandler protocolcodecCustomMessageDecoderCustomM…

ThreadLocal ,底層原理,強引用,弱引用,內存泄漏

目錄 ThreadLocal的基本概念 底層實現原理 強引用與弱引用 內存泄漏問題 內存泄漏的解決方案 示例代碼 ThreadLocal的基本概念 ThreadLocal是Java中的一個類&#xff0c;位于java.lang包下&#xff0c;它提供了線程局部變量的功能。每個使用該變量的線程都有自己獨立的初…

TomSolver 庫 | config詳解及其測試

一、C 關鍵特性解析 1. enum class 強類型枚舉 enum class LogLevel { OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL }; enum class NonlinearMethod { NEWTON_RAPHSON, LM };核心特性&#xff1a; 類型安全&#xff1a;禁止隱式轉換為整數作用域限定&#xff1a;必須…

【DB2】ERRORCODE=-4499, SQLSTATE=08001

客戶在連接DB2壓測時報錯ERRORCODE-4499, SQLSTATE08001&#xff0c;連接失敗&#xff0c;主要是因為通信失敗 在本地進行復現&#xff0c;用DBeaver代替java程序&#xff0c;將DB2COMM從TCPIP置為空&#xff0c;重啟后重新連接&#xff0c;報一樣的錯誤 而將防火墻開啟&…

MicroPython+L298N+ESP32控制電機轉速

要使用MicroPython控制L298N電機驅動板來控制電機的轉速&#xff0c;你可以通過PWM&#xff08;脈沖寬度調制&#xff09;信號來調節電機速度。L298N是一個雙H橋驅動器&#xff0c;可以同時控制兩個電機的正反轉和速度。 硬件準備&#xff1a; 1. L298N 電機控制板 2. ESP32…

WPF 全局加載界面、多界面實現漸變過渡效果

WPF 全局加載界面與漸變過渡效果 完整實現方案 MainWindow.xaml <Window x:Class"LoadingScreenDemo.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml&quo…

RabbitMQ深度解析:從基礎實踐到高階架構設計

引言?? 在分布式系統與微服務架構主導的現代軟件開發中&#xff0c;服務間通信的可靠性、異步處理能力及流量管控成為核心挑戰。??RabbitMQ??作為基于AMQP協議的企業級消息中間件&#xff0c;憑借其靈活的路由機制、高可用架構與豐富的擴展能力&#xff0c;成為異步通信…

華為OD機試真題——矩形相交的面積(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 100分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

基于隨機函數鏈接神經網絡(RVFL)的鋰電池健康狀態(SOH)預測

基于隨機函數鏈接神經網絡(RVFL)的鋰電池健康狀態(SOH)預測 一、RVFL網絡的基本原理與結構 隨機向量功能鏈接(Random Vector Functional Link, RVFL)網絡是一種單隱藏層前饋神經網絡的隨機化版本,其核心特征在于輸入層到隱藏層的權重隨機生成且固定,輸出層權重通過最…

阿里云國際站,如何通過代理商邀請的鏈接注冊賬號

阿里云國際站&#xff1a;如何通過代理商邀請鏈接注冊&#xff0c;解鎖“云端超能力”與專屬福利&#xff1f; 渴望在全球化浪潮中搶占先機&#xff1f;想獲得阿里云國際站的海量云資源、遍布全球的加速節點與前沿AI服務&#xff0c;同時又能享受專屬折扣、VIP級增值服務支持或…