機器學習09——聚類(聚類性能度量、K均值聚類、層次聚類)

上一章:機器學習08——集成學習
下一章:機器學習10——降維與度量學習
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備

文章目錄

      • 一、聚類任務(無監督學習的核心)
        • (一)形式化描述
      • 二、聚類性能度量(有效性指標)
        • (一)外部指標(與參考模型比較)
        • (二)內部指標(直接評價聚類結果)
      • 三、距離計算(聚類的基礎)
        • (一)常用距離
        • (二)屬性類型與距離度量
      • 四、原型聚類(基于原型的聚類)
        • (一)k均值算法(k-means)
      • 五、層次聚類(樹形結構聚類)
        • (一)AGNES算法(自底向上聚合)
      • 總結

一、聚類任務(無監督學習的核心)

聚類是無監督學習中最核心的任務之一,目標是將無標記樣本集劃分為若干不相交的“簇”(cluster),以揭示數據內在的分布結構。

(一)形式化描述
  • 給定樣本集D={x1,x2,...,xm}D = \{x_1, x_2, ..., x_m\}D={x1?,x2?,...,xm?},每個樣本xix_ixi?為n維特征向量;
  • 聚類算法將DDD劃分為kkk個簇{C1,C2,...,Ck}\{C_1, C_2, ..., C_k\}{C1?,C2?,...,Ck?},滿足:
    • 簇間不相交:Cl′∩l′≠lCl=?C_{l'} \cap_{l' \neq l} C_l = \emptysetCl?l=l?Cl?=?
    • 覆蓋所有樣本:D=∪l=1kClD = \cup_{l=1}^k C_lD=l=1k?Cl?
  • 簇標記向量λ={λ1;λ2;...;λm}\lambda = \{\lambda_1; \lambda_2; ...; \lambda_m\}λ={λ1?;λ2?;...;λm?}表示樣本所屬簇(λj∈{1,2,...,k}\lambda_j \in \{1, 2, ..., k\}λj?{1,2,...,k},即xj∈Cλjx_j \in C_{\lambda_j}xj?Cλj??)。
    在這里插入圖片描述

二、聚類性能度量(有效性指標)

性能度量用于評價聚類結果的優劣,核心是“簇內相似度高、簇間相似度低”,分為外部指標和內部指標。

(一)外部指標(與參考模型比較)
  • 定義:將聚類結果與“參考模型”(如人工標注的簇劃分)比較,通過樣本對的匹配情況計算。
  • 關鍵參數
    • aaa:同簇且參考模型中同簇的樣本對數量;
    • bbb:同簇但參考模型中不同簇的樣本對數量;
    • ccc:不同簇但參考模型中同簇的樣本對數量;
    • ddd:不同簇且參考模型中不同簇的樣本對數量。
  • 常用指標
    • Jaccard系數(JC):JC=aa+b+cJC = \frac{a}{a + b + c}JC=a+b+ca?
    • FM指數(FMI):FMI=aa+b?aa+cFMI = \sqrt{\frac{a}{a + b} \cdot \frac{a}{a + c}}FMI=a+ba??a+ca??
    • Rand指數(RI):RI=2(a+d)m(m?1)RI = \frac{2(a + d)}{m(m - 1)}RI=m(m?1)2(a+d)?
(二)內部指標(直接評價聚類結果)
  • 定義:基于聚類結果自身的統計特性(如距離、密度)評價,無需參考模型。
  • 關鍵參數
    • avg(C)avg(C)avg(C):簇CCC內樣本平均距離;
    • diam(C)diam(C)diam(C):簇CCC內樣本最大距離;
    • dmin(Ci,Cj)d_{min}(C_i, C_j)dmin?(Ci?,Cj?):簇CiC_iCi?CjC_jCj?的最近樣本距離;
    • dcen(Ci,Cj)d_{cen}(C_i, C_j)dcen?(Ci?,Cj?):簇CiC_iCi?CjC_jCj?的中心距離。
  • 常用指標
    • DB指數(DBI):DBI=1k∑i=1kmaxj≠i(avg(Ci)+avg(Cj)dcen(μi,μj))DBI = \frac{1}{k} \sum_{i=1}^k max_{j \neq i} \left( \frac{avg(C_i) + avg(C_j)}{d_{cen}(\mu_i, \mu_j)} \right)DBI=k1?i=1k?maxj=i?(dcen?(μi?,μj?)avg(Ci?)+avg(Cj?)?)(值越小越好);
    • Dunn指數(DI):DI=min1≤i≤k{minj≠i(dmin(Ci,Cj)max1≤l≤kdiam(Cl))}DI = min_{1 \leq i \leq k} \left\{ min_{j \neq i} \left( \frac{d_{min}(C_i, C_j)}{max_{1 \leq l \leq k} diam(C_l)} \right) \right\}DI=min1ik?{minj=i?(max1lk?diam(Cl?)dmin?(Ci?,Cj?)?)}(值越大越好)。

三、距離計算(聚類的基礎)

距離度量是聚類的核心,需滿足非負性、同一性、對稱性和直遞性,不同屬性類型需采用不同度量方式。

(一)常用距離
  • 閔可夫斯基距離dist(xi,xj)=(∑u=1n∣xiu?xju∣p)1/pdist(x_i, x_j) = \left( \sum_{u=1}^n |x_{iu} - x_{ju}|^p \right)^{1/p}dist(xi?,xj?)=(u=1n?xiu??xju?p)1/p,其中:
    • p=2p=2p=2為歐氏距離(最常用);
    • p=1p=1p=1為曼哈頓距離。
(二)屬性類型與距離度量
  1. 連續屬性:直接使用閔可夫斯基距離;
  2. 離散屬性
    • 有序屬性:可轉換為連續值后用閔可夫斯基距離;
    • 無序屬性:用VDM距離
      VDMp(a,b)=∑i=1k∣mu,a,imu,a?mu,b,imu,b∣pVDM_p(a, b) = \sum_{i=1}^k \left| \frac{m_{u,a,i}}{m_{u,a}} - \frac{m_{u,b,i}}{m_{u,b}} \right|^pVDMp?(a,b)=i=1k??mu,a?mu,a,i???mu,b?mu,b,i???p
      mu,a,im_{u,a,i}mu,a,i?為第iii簇中屬性uuuaaa的樣本數,mu,am_{u,a}mu,a?為屬性uuuaaa的總樣本數);
  3. 混合屬性:結合閔可夫斯基距離和VDM:
    MinkovDMp(xi,xj)=(∑連續屬性∣xiu?xju∣p+∑無序屬性VDMp(xiu,xju))1/pMinkovDM_p(x_i, x_j) = \left( \sum_{連續屬性} |x_{iu} - x_{ju}|^p + \sum_{無序屬性} VDM_p(x_{iu}, x_{ju}) \right)^{1/p}MinkovDMp?(xi?,xj?)=(連續屬性?xiu??xju?p+無序屬性?VDMp?(xiu?,xju?))1/p

四、原型聚類(基于原型的聚類)

原型聚類假設聚類結構可通過“原型”(如中心、概率分布)刻畫,通過迭代優化原型實現聚類。

(一)k均值算法(k-means)
  • 核心思想:最小化簇內平方誤差E=∑i=1k∑x∈Ci∥x?μi∥22E = \sum_{i=1}^k \sum_{x \in C_i} \|x - \mu_i\|_2^2E=i=1k?xCi??x?μi?22?μi\mu_iμi?為簇CiC_iCi?的均值向量)。
  • 算法步驟
    1. 隨機選擇kkk個樣本作為初始均值向量{μ1,μ2,...,μk}\{\mu_1, \mu_2, ..., \mu_k\}{μ1?,μ2?,...,μk?}
    2. 迭代:
      • 簇劃分:將每個樣本劃入距離最近的均值向量對應的簇;
      • 更新均值:計算每個簇的新均值向量μi=1∣Ci∣∑x∈Cix\mu_i = \frac{1}{|C_i|} \sum_{x \in C_i} xμi?=Ci?1?xCi??x
    3. 終止:均值向量不再更新時停止。
  • 特點:高效易實現,但對初始中心敏感,適用于凸形分布數據。
    在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

  • 模型定義:混合分布pM(x)=∑i=1kαip(x∣μi,Σi)p_M(x) = \sum_{i=1}^k \alpha_i p(x | \mu_i, \Sigma_i)pM?(x)=i=1k?αi?p(xμi?,Σi?),其中αi\alpha_iαi?為混合系數(∑αi=1\sum \alpha_i = 1αi?=1),p(x∣μi,Σi)p(x | \mu_i, \Sigma_i)p(xμi?,Σi?)為第iii個高斯分布(均值μi\mu_iμi?,協方差Σi\Sigma_iΣi?)。
  • 求解方法(EM算法)
    1. 初始化參數{αi,μi,Σi}\{\alpha_i, \mu_i, \Sigma_i\}{αi?,μi?,Σi?}
    2. 迭代(E步→M步):
      • E步:計算樣本xjx_jxj?屬于第iii個成分的后驗概率γji=αip(xj∣μi,Σi)∑l=1kαlp(xj∣μl,Σl)\gamma_{ji} = \frac{\alpha_i p(x_j | \mu_i, \Sigma_i)}{\sum_{l=1}^k \alpha_l p(x_j | \mu_l, \Sigma_l)}γji?=l=1k?αl?p(xj?μl?,Σl?)αi?p(xj?μi?,Σi?)?
      • M步:更新參數αi=1m∑jγji\alpha_i = \frac{1}{m} \sum_j \gamma_{ji}αi?=m1?j?γji?μi=∑jγjixj∑jγji\mu_i = \frac{\sum_j \gamma_{ji} x_j}{\sum_j \gamma_{ji}}μi?=j?γji?j?γji?xj??Σi=∑jγji(xj?μi)(xj?μi)T∑jγji\Sigma_i = \frac{\sum_j \gamma_{ji}(x_j - \mu_i)(x_j - \mu_i)^T}{\sum_j \gamma_{ji}}Σi?=j?γji?j?γji?(xj??μi?)(xj??μi?)T?
    3. 終止:似然函數收斂。
  • 特點:靈活擬合復雜分布,可輸出樣本屬于各簇的概率,但計算復雜度高。

五、層次聚類(樹形結構聚類)

層次聚類通過逐層合并或拆分簇,形成樹形聚類結構,分為自底向上(聚合)和自頂向下(分拆)策略。
在這里插入圖片描述

(一)AGNES算法(自底向上聚合)
  • 核心思想:初始將每個樣本視為一個簇,迭代合并距離最近的兩個簇,直至達到預設簇數kkk
  • 簇距離度量
    • 最小距離:dmin(Ci,Cj)=minx∈Ci,z∈Cjdist(x,z)d_{min}(C_i, C_j) = min_{x \in C_i, z \in C_j} dist(x, z)dmin?(Ci?,Cj?)=minxCi?,zCj??dist(x,z)
    • 最大距離:dmax(Ci,Cj)=maxx∈Ci,z∈Cjdist(x,z)d_{max}(C_i, C_j) = max_{x \in C_i, z \in C_j} dist(x, z)dmax?(Ci?,Cj?)=maxxCi?,zCj??dist(x,z)
    • 平均距離:davg(Ci,Cj)=1∣Ci∣∣Cj∣∑x∈Ci∑z∈Cjdist(x,z)d_{avg}(C_i, C_j) = \frac{1}{|C_i||C_j|} \sum_{x \in C_i} \sum_{z \in C_j} dist(x, z)davg?(Ci?,Cj?)=Ci?∣∣Cj?1?xCi??zCj??dist(x,z)
  • 特點:生成層次化簇結構,便于可視化,但計算復雜度高(O(m2logm)O(m^2 log m)O(m2logm)),對噪聲敏感。

總結

聚類通過無監督方式揭示數據內在結構,性能可通過外部或內部指標評價。距離計算需根據屬性類型選擇(如連續屬性用歐氏距離,無序屬性用VDM)。原型聚類(k均值、高斯混合)高效且適用于大規模數據;層次聚類(AGNES)生成樹形結構,適合探索數據層次關系。實際應用中需根據數據分布和任務需求選擇算法。

上一章:機器學習08——集成學習
下一章:機器學習10——降維與度量學習
機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備

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

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

相關文章

解決 Docker 構建中 Python 依賴沖突的完整指南

問題背景 在基于 registry.cn-shenzhen.aliyuncs.com/all_dev/dev:invoice-base 鏡像構建 Docker 容器時,我們遇到了一個常見的 Python 依賴管理問題: ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-…

光子計算芯片實戰:Lightmatter Passage互連架構性能評測

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 摘要 隨著人工智能計算需求呈指數級增長,傳統電子計算…

基于樹莓派與Jetson Nano集群的實驗邊緣設備上視覺語言模型(VLMs)的性能評估與實踐探索

概述 2018年,TensorFlow Lite團隊的Pete Warden曾提出:“機器學習的未來在于微型化”。如今,隨著人工智能向高性能視覺強大的視覺語言模型(Vision-language models, VLMs)發展,對高性能計算資源的需求急劇…

華為Ai崗機考20250903完整真題

華為Ai崗機考20250903 華為自26屆秋招(2025年起)對AI崗位機考進行了改革,考試題型調整為20道選擇題(15道單選(6分)5道不定項選擇(12分))2道編程題(150300)。 題目核心圍繞人工智能技術(如Transformer架構…

k8s+jenkins+harbor構建Devops平臺

一、環境準備1、準備一主一從k8s機器,(設備好可以一主多從也行)2、一臺harbor倉庫機器(dockerhub訪問不了)二、安裝nfs服務1、在k8s機器上yum install nfs-utils -y systemctl start nfs systemctl enable nfs2、創建共…

為什么 socket.io 客戶端在瀏覽器能連上,但在 Node.js 中報錯 transport close?

網羅開發(小紅書、快手、視頻號同名)大家好,我是 展菲,目前在上市企業從事人工智能項目研發管理工作,平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術,包括iOS、前端、Harmony OS、Java、Python等方…

人才教育導向下:老年生活照護實訓室助力提升學生老年照護服務能力

一、老年生活照護實訓室建設背景與意義 (一)適應老齡化社會需求 我國老齡化程度持續加深,老年照護服務人才缺口不斷擴大。培養專業照護人才成為當務之急,職業教育需承擔重要責任。點擊獲取實訓室建設方案 (二&…

我在嘉順達藍海的安全堅守

作為嘉順達藍海的資深安全員,每天清晨 6 點,我都會站在物流基地的入口處,看著一隊隊橙色的嘉順達藍海危險品運輸車整齊列隊。那抹醒目的橙色,不僅是嘉順達藍海的標志,更是我和 200 多名同事堅守 12 年的安全承諾。今天…

云原生監控系統 Prometheus大總結 20250909

本章內容如下: Prometheus 介紹 Prometheus 部署和配置 Node Exporter 采集數據 Pushgateway 采集數據 PromQL 查詢語言 Grafana 圖形化展示 Prometheus 標簽管理 Prometheus 告警機制 Prometheus 服務發現 各種Exporter 高級功能 Prometheus 實現容器監控 Promethe…

EPNN:基于嵌入式偏振神經網絡的水下成像增強方法(未做完)

Enhancing Underwater Imaging for Robot through Embedded Polarization Neural Network EPNN:基于嵌入式偏振神經網絡的水下成像增強方法 1 論文核心概念 本文提出了一種名為嵌入式偏振神經網絡(Embedded Polarization Neural Network, EPNN) 的方法,用于顯著提升水下…

基于單片機冷藏運輸車環境檢測/水產品運輸環境檢測設計

傳送門 👉👉👉👉單片機作品題目速選一覽表🚀 👉👉👉👉單片機作品題目功能速覽🚀 🔥更多文章戳👉小新單片機-CSDN博客&#x1f68…

基于STM32設計的人體健康監護系統(華為云IOT)_280

文章目錄 一、前言 1.1 項目介紹 【1】項目開發背景 【2】設計實現的功能 【3】項目硬件模塊組成 【4】設計意義 【5】國內外研究現狀 【6】摘要 1.2 設計思路 1.3 系統功能總結 1.4 開發工具的選擇 【1】設備端開發 【2】上位機開發 1.5 參考文獻 1.6 系統框架圖 1.7 系統原理…

先買實現煩過

#include <myhead.h> #define ERR_LOG(msg)do{perror(msg);printf("%d %s %s\n",__LINE__,__func__,__FILE__);}while(0) //定義TFTP默認端口號&#xff08;69&#xff09;和數據包大小&#xff08;516字節&#xff09; #define PORT 69 #define N 516 …

ACD智能分配:輪流分配和排序上限分配的設置

在客戶服務中&#xff0c;合理的對話分配是提高服務質量的關鍵。一洽客服系統針對不同業務場景,提供靈活的客服分配策略,幫助企業實現智能化的客戶服務管理&#xff0c;今天我們了解一下對話的輪流分配、排序上限分配、排序優先分配的設置一、輪流分配按照客服登錄系統的先后順…

【postMan / apifox 文件上傳】

apifox 需要提供相關插件 失敗的請求 { “timestamp”: “2025-09-10T14:44:24.91900:00”, “status”: 500, “error”: “Internal Server Error”, “path”: “/student/import” } 錯誤&#xff1a;Post “http://localhost:8080/student/import”: dial tcp [::1]:8080:…

視頻加水印,推薦使用運營大管家-視頻批量加水印軟件

運營大管家-視頻批量加水印軟件介紹“運營大管家-視頻批量加水印”是一款功能強大的桌面應用程序&#xff0c;旨在幫助用戶高效地為多個視頻批量添加自定義水印。無論是品牌宣傳、版權保護&#xff0c;還是個性化展示&#xff0c;本軟件都能提供靈活的文字水印和圖片水印選項&a…

基于 Dockerfile 構建鏡像

1.準備構建上下文[roothost1 ~]# mkdir dockerfile-test && cd dockerfile-test [roothost1 dockerfile-test]# touch nginx.repo [roothost1 dockerfile-test]# touch Dockerfile [roothost1 dockerfile-test]# vi nginx.repo [roothost1 dockerfile-test]# cat nginx…

[Dify實戰]插件編寫- 如何讓插件直接輸出文件對象(支持 TXT、Excel 等)

在大多數 Dify 插件開發中,我們習慣于讓插件返回結構化文本、字典或 JSON 數據。但隨著應用場景拓展,例如翻譯文件、生成報表、處理數據分析結果等,我們需要讓插件支持“直接返回文件對象”給用戶,而不是讓用戶復制粘貼文本再手動保存。 本文將基于實戰經驗,詳細介紹如何…

Thread類的基本用法(上)

一、線程創建方法&#xff08;5種&#xff09;1.繼承Thread類class MyThread extends Thread {Overridepublic void run() {System.out.println("MyThread is running");try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}…

ARM內存映射與啟動地址重映射機制解析

目錄 內存映射 1. 核心概念&#xff1a;內存映射 (Memory Map) 2. 啟動過程與地址重映射 (Remapping) 關鍵&#xff1a;啟動引腳 (Boot Pins) 這個過程可以類比&#xff1a; 3. 為什么設計成這樣&#xff1f; 4. 一圖流總結 圖解說明&#xff1a; 核心要點&#xff1a;…