机器学习理论 | 周志华西瓜书 第九章:聚类

2024-04-10 23:48

本文主要是介绍机器学习理论 | 周志华西瓜书 第九章:聚类,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

第九章 聚类

此系列文章旨在提炼周志华《机器学习》的核心要点,不断完善中…


9.1 聚类任务

无监督学习:训练样本标记位置,学习揭示内在规律,分类任务等前驱过程
将数据集划分为若干互不相交的子集(簇:cluster)

9.2 性能度量

1、概念

  • 内相似度(intra-cluster similarity)
  • 簇间相似度(inter-cluster similarity)

2、指标

  • 外部指标(external index):将聚类结果与某个参考模型(reference model)进行比较
    常用的聚类性能度量外部指标( a = ∣ S S ∣ , b = ∣ S D ∣ , c = ∣ D S ∣ , d = ∣ D D ∣ a=|SS|,b=|SD|,c=|DS|,d=|DD| a=SS,b=SD,c=DS,d=DD):

    • Jaccard系数(Jaccard Coefficient, JC): J C = a a + b + c JC=\frac a {a+b+c} JC=a+b+ca
    • FM指数(Fowlkes and Mallows Index, FMI): F M I = a a + b ∗ a a + c FMI=\sqrt{\frac{a}{a+b}*\frac{a}{a+c}} FMI=a+baa+ca
    • Rand指数(Rand Index, RI): R I = 2 ( a + d ) m ( m − 1 ) RI=\frac{2(a+d)}{m(m-1)} RI=m(m1)2(a+d)
  • 内部指标(internal index):直接考察结果
    聚类结果的簇划分C={C1,C2,…Ck},定义:

    • a v g ( C ) = 2 ∣ C ∣ ( ∣ C ∣ − 1 ) ∑ 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) avg(C)=\frac{2}{|C|(|C|-1)}\sum_{1≤i<j≤|C|}dist(\bm x_i,\bm x_j) avg(C)=C(C1)21i<jCdist(xi,xj)
    • d i a m ( C ) = m a x 1 ≤ i < j ≤ ∣ C ∣ d i s t ( x i , x j ) diam(C)=max_{1≤i<j≤|C|}dist(\bm x_i,\bm x_j) diam(C)=max1i<jCdist(xi,xj)
    • d m i n ( C i , C j ) = m i n x i ∈ C i , x j ∈ C j d i s t ( x i , x j ) d_{min}(C_i,C_j)=min_{\bm x_i\in C_i,\bm x_j\in C_j}dist(\bm x_i,\bm x_j) dmin(Ci,Cj)=minxiCi,xjCjdist(xi,xj)
    • d c e n ( C i , C j ) = d i s t ( μ i , μ j ) d_{cen}(C_i,C_j)=dist(\bm \mu_i,\bm\mu_j) dcen(Ci,Cj)=dist(μi,μj)

    导出内部指标

    • DB指数(Davies-Bouldin Index, DBI):
      D B I = 1 k ∑ i = 1 k m a x j ≠ i ( a v g ( C i ) + a v g ( C j ) d c e n ( C i , C j ) ) DBI=\frac 1 k\sum_{i=1}^kmax_{j≠i}(\frac{avg(C_i)+avg(C_j)}{d_{cen}(C_i,C_j)}) DBI=k1i=1kmaxj=i(dcen(Ci,Cj)avg(Ci)+avg(Cj))
    • Dunn指数(Dunn Index, DI):
      D I = m i n 1 ≤ i ≤ k { m i n j ≠ i ( d m i n ( C i , C j ) m a x 1 ≤ l ≤ k d i a m ( C l ) ) } DI=min_{1≤i≤k}\{min_{j≠i}(\frac{d_{min}(C_i,C_j)}{max_{1≤l≤k}diam(C_l)})\} DI=min1ik{minj=i(max1lkdiam(Cl)dmin(Ci,Cj))}
    • DBI越小越好,DI越大越好

9.3 距离计算

1、距离度量的基本性质
非负性: d i s t ( x i , x j ) ≥ 0 dist(\bm x_i, \bm x_j)≥0 dist(xi,xj)0
同一性: d i s t ( x i , x j ) = 0 dist(\bm x_i,\bm x_j)=0 dist(xi,xj)=0当且仅当 x i = x j \bm x_i=\bm x_j xi=xj
对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) dist(\bm x_i,\bm x_j)=dist(\bm x_j,\bm x_i) dist(xi,xj)=dist(xj,xi)
直递性: d i s t ( x i , x j ) ≤ d i s t ( x i , x k ) + d i s t ( x k , x j ) dist(\bm x_i,\bm x_j)≤dist(\bm x_i,\bm x_k)+dist(\bm x_k,\bm x_j) dist(xi,xj)dist(xi,xk)+dist(xk,xj)(三角不等式)

2、最常用:闵可夫斯基距离(Minkowski distance)
d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p dist_{mk}(\bm x_i,x_j)=(\sum_{u=1}^n|x_{iu}-x_{ju}|^p)^{\frac 1 p} distmk(xi,xj)=(u=1nxiuxjup)p1
p=∞:切贝雪夫距离
p=2:欧式距离: d i s t e d ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{ed}(\bm x_i,\bm x_j)=||\bm x_i-\bm x_j||_2=\sqrt{\sum_{u=1}^n|x_{iu}-x_{ju}|^2} disted(xi,xj)=xixj2=u=1nxiuxju2
p=1:曼哈顿距离: d i s t m a n ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 dist_{man}(\bm x_i,\bm x_j)=||\bm x_i-\bm x_j||_1=\sum_{u=1}^n|x_{iu}-x_{ju}|^2 distman(xi,xj)=xixj1=u=1nxiuxju2

3、几个概念
连续属性/离散属性:定义域上有无穷/有限取值
有序属性:可采用闵可夫斯基距离
无序属性:可采用VDM(Value Difference Metric): V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ VDM_p(a,b)=\sum_{i=1}^k|\frac{m_{u,a,i}}{m_{u,a}}-\frac {m_{u,b,i}}{m_{u,b}}| VDMp(a,b)=i=1kmu,amu,a,imu,bmu,b,i
相似度度量:非度量距离(距离大相似小,未必满足度量距离性质,尤其直递性)
距离度量学习:基于数据样本来确定合适的距离计算式

4、一些做法
将闵可夫斯基距离和VDM结合(可处理混合属性):
加权闵可夫斯基距离(样本空间不同属性的重要性不同时):

9.4 原型聚类

0、基本想法:假设聚类结构能通过一组原型刻画(在现实聚类任务中极为常用)

1、k均值算法

  • 最小化平方和误差: E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − μ i ∣ ∣ 2 2 E=\sum_{i=1}^k\sum_{\bm x\in C_i}||\bm x-\bm\mu_i||_2^2 E=i=1kxCixμi22

    • 样本集: D = { x 1 , x 2 , . . . x m } D=\{\bm x_1,\bm x_2,...\bm x_m\} D={x1,x2,...xm}
    • 簇划分: C = { C 1 , C 2 , . . . , C k } \mathcal{C}=\{C_1,C_2,...,C_k\} C={C1,C2,...,Ck}
    • 簇Ci的均值向量: μ i = 1 ∣ C i ∣ ∑ x ∈ C i x \bm\mu_i=\frac 1 {|C_i|}\sum_{\bm x\in C_i}\bm x μi=Ci1xCix
  • 采用贪心策略,通过迭代优化来近似求解上述最小化平方误差的解

  • k均值算法在这里插入图片描述

  • 算法测试结果
    在这里插入图片描述

2、学习向量量化(Learning Vector Quantization, LVQ)

  • 假设数据样本带有类别标记,学习过程利用样本的这些监督信息来辅助聚类
  • 算法在这里插入图片描述
  • Voronoi划分
    R i = { x ∈ X ∣ ∣ ∣ x − p i ∣ ∣ 2 ≤ ∣ ∣ x − p i ′ ∣ ∣ 2 , i ′ ≠ i } R_i=\{\bm x\in\mathcal{X}|\ ||\bm x-\bm p_i||_2≤||\bm x-\bm p_{i'}||_2,i'≠i\} Ri={xX xpi2xpi2,i=i}
  • 算法测试结果
    在这里插入图片描述

3、高斯混合聚类(Mixture of Gaussian)

  • 多元高斯分布概率密度函数: p ( x ) = 1 ( 2 π ) n 2 ∣ Σ ∣ 1 2 e − 1 2 ( x − μ ) T Σ − 1 ( x − μ ) p(\bm x)=\frac{1}{(2\pi)^{\frac n 2}|\bm\Sigma|^{\frac 1 2}}e^{-\frac 1 2(\bm x-\bm\mu)^T\bm\Sigma^{-1}(\bm x-\bm\mu)} p(x)=(2π)2nΣ211e21(xμ)TΣ1(xμ)
  • 高斯混合分布函数: p M ( x ) = ∑ i = 1 k α i ∗ p ( x ∣ μ i , Σ i ) p_M(\bm x)=\sum_{i=1}^k\alpha_i*p(\bm x|\bm\mu_i,\bm\Sigma_i) pM(x)=i=1kαip(xμi,Σi)
    性质:k个混合成分组成(每个对应一个高斯分布)
    混合系数: ∑ i = 1 k α i = 1 \sum_{i=1}^k\alpha_i=1 i=1kαi=1
  • 假设样本生成过程由高斯分布给出
    1.根据a1,a2,…ak定义的先验分布选择高斯混合成分(ai为选择第i个混合成分概率)
    2.根据被选择的混合成分的概率密度函数进行采样,生成相应的样本
    3.若训练集D由上述过程生成,令随机变量zj={1,2,…k}表示生成样本xj的高斯混合成分,取值未知
    4.样本xj由第i个高斯混合成分生成的后验概率
  • 模型参数求解
    极大似然估计
    采用EM算法进行迭代优化求解
  • 算法
    在这里插入图片描述

9.5 密度聚类

0、基本想法:假设聚类结构能通过样本分布的紧密程度决定
1、著名密度聚类算法DBSCAN(Density-Based Spatial Clustering of Applications with Noise)

  • 思想:基于一组领域参数来刻画样本分布的紧密程度
  • 基本概念
    在这里插入图片描述
    • ε-邻域:对 x j ∈ D , \bm x_j\in D, xjD ϵ \epsilon ϵ-邻域包含样本集D中与 x j \bm x_j xj的距离不大于 ϵ \epsilon ϵ的样本,即 N ϵ ( x j ) = { x j ∈ D ∣ d i s t ( x i , x j ) ≤ ϵ } N_{\epsilon}(\bm x_j)=\{\bm x_j\in D |dist(\bm x_i,\bm x_j)≤\epsilon\} Nϵ(xj)={xjDdist(xi,xj)ϵ}
    • 核心对象:若 x j \bm x_j xj ϵ \epsilon ϵ-邻域至少包含MinPts个样本,即 ∣ N ϵ ( x j ) ∣ ≥ M i n P t s |N_{\epsilon}(\bm x_j)|≥MinPts Nϵ(xj)MinPts,则 x j \bm x_j xj是一个核心对象
    • 密度直达:若 x j \bm x_j xj位于 x i \bm x_i xi ϵ \epsilon ϵ-邻域中,且 x i \bm x_i xi是核心对象,则称 x j \bm x_j xj x i \bm x_i xi密度直达
    • 密度可达:对 x i \bm x_i xi x j \bm x_j xj,若存在样本系列 p 1 , p 2 , . . . p n \bm{p_1,p_2,...p_n} p1,p2,...pn,其中 p 1 = x i \bm p_1=\bm x_i p1=xi p n = x j \bm p_n=\bm x_j pn=xj p i + 1 \bm p_{i+1} pi+1 p i \bm p_i pi密度直达,则称 x j \bm x_j xj x i \bm x_i xi密度可达
    • 密度相连:对 x i \bm x_i xi x j \bm x_j xj,若存在 x k \bm x_k xk使得 x i \bm x_i xi x j \bm x_j xj均由 x k \bm x_k xk密度可达,则称 x i \bm x_i xi x j \bm x_j xj密度相连
  • DBSCAN对簇的定义
    • 由密度可达关系导出的最大的密度相连样本集合
    • 给定领域参数(E,MinPts),簇C是满足以下性质的非空样本子集
      连接性(connectivity): x i ∈ C , x j ∈ C ⇒ \bm x_i\in C,\bm x_j\in C\Rightarrow xiC,xjC x i \bm x_i xi x j \bm x_j xj密度相连
      最大型(maximality): x i ∈ C , \bm x_i\in C, xiC, x j \bm x_j xj x i \bm x_i xi密度可达 ⇒ x j ∈ C \Rightarrow \bm x_j\in C xjC
  • 算法
    在这里插入图片描述
  • 算法测试结果
    在这里插入图片描述

9.6 层次聚类

0、基本想法:试图在不同层次对数据集进行划分,从而形成树形的聚类结构

1、自底向上的聚合策略: AGglomerative NESting(AGNES)

  • 算法过程
    1.将数据集中的每个样本看做一个初始聚类簇
    2.在运行的每一步找出距离最近两个簇并合并
    3.重复,直到达到预设的聚类簇个数

  • 集合的距离
    通常采用:Hausdorff distance
    在这里插入图片描述

    注意:当聚类簇距离由dmin、dmaz或davg计算时,AGNES算法被相应地成为单链接、全链接或均链接算法

  • 算法
    在这里插入图片描述

  • 算法测试结果
    在这里插入图片描述
    在这里插入图片描述
    2、自顶向下的分拆策略:DIANA

这篇关于机器学习理论 | 周志华西瓜书 第九章:聚类的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/892496

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题是由安全生产模拟考试一点通提供,流动式起重机司机证模拟考试题库是根据流动式起重机司机最新版教材,流动式起重机司机大纲整理而成(含2024年流动式起重机司机证模拟考试题库及流动式起重机司机理论考试试题参考答案和部分工种参考解析),掌握本资料和学校方法,考试容易。流动式起重机司机考试技

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个