机器学习笔记之谱聚类(二)谱聚类基本介绍

引言

上一节介绍了 k-Means \text{k-Means} k-Means算法。本节从 k-Means \text{k-Means} k-Means算法的缺陷出发,介绍谱聚类

回顾: k-Means \text{k-Means} k-Means算法及其缺陷

k \text{k} k均值算法( k-Means \text{k-Means} k-Means)是一种处理聚类任务的非概率模型,它本质上属于高斯混合模型( Gaussian Mixture Model,GMM \text{Gaussian Mixture Model,GMM} Gaussian Mixture Model,GMM)思想的硬划分模型。它的策略(目标函数)可表示为如下形式:
{ E = ∑ k = 1 K ∑ x ∈ C k Dist ( x , μ k ) μ k = 1 ∣ C k ∣ ∑ x ∈ C k x \begin{cases} \mathbb E = \sum_{k=1}^{\mathcal K} \sum_{x \in C_k} \text{Dist}(x,\mu_k) \\ \mu_k = \frac{1}{|C_k|} \sum_{x \in C_k} x \end{cases} { E=k=1KxCkDist(x,μk)μk=Ck1xCkx
其中, K \mathcal K K表示样本聚类任务中的数量;针对集合 C = { C 1 , C 2 , ⋯   , C K } \mathcal C = \{C_1,C_2,\cdots,C_{\mathcal K}\} C={ C1,C2,,CK} ∣ C k ∣ |C_k| Ck表示 C k C_k Ck中的样本数量;而 μ k \mu_k μk表示 C k C_k Ck均值向量 Dist ( x , μ k ) \text{Dist}(x,\mu_k) Dist(x,μk)则表示 C k C_k Ck中某样本 x x x均值向量的距离信息

k-Means \text{k-Means} k-Means中,使用距离信息 Dist ( x , μ k ) \text{Dist}(x,\mu_k) Dist(x,μk)描述样本点 x x x C k C_k Ck之间的紧密程度。关于 k-Means \text{k-Means} k-Means算法的迭代过程,主要包含如下两个部分:

  • 基于给定的聚类中心 μ = { μ 1 , μ 2 , ⋯   , μ K } \mu = \{\mu_1,\mu_2,\cdots,\mu_{\mathcal K}\} μ={ μ1,μ2,,μK},对样本点进行聚类划分;
  • 给定样本点聚类划分的条件下,重新计算聚类中心,并替代掉迭代前的中心结果

直到聚类中心结果不再发生变化,即可停止算法。而各簇的聚类中心 μ k ( k = 1 , 2 , ⋯   , K ) \mu_k(k=1,2,\cdots,\mathcal K) μk(k=1,2,,K)采用各维度求解均值的方式进行计算。从高斯混合模型的角度思考,均值意味着对应高斯分布的位置,也就是以 μ k \mu_k μk为中心向外扩散的高斯分布
这里使用上一节的示例进行描述传送门
以聚类中心为核心的高斯分布
k-Means \text{k-Means} k-Means算法的缺陷在于:仅针对样本分布紧密的凸( Convex \text{Convex} Convex)结构聚类形状可能有效,而针对连通型( Connectivity \text{Connectivity} Connectivity)的簇分布效果欠佳。即便使用核方法( Kernel Method \text{Kernel Method} Kernel Method)对样本特征提高维度,但这种方式依然存在一些缺陷

依然以 sklearn \text{sklearn} sklearn中的 make_circles \text{make\_circles} make_circles样本分布为例:

blobs = datasets.make_circles(n_samples=n_samples, factor=0.5, noise=0.05)

在这里插入图片描述
不可否认,确实可以通过核函数提高维度 来实现聚类效果:
基于核函数+k-Means的聚类效果图
k-Means \text{k-Means} k-Means聚类中心 μ \mu μ对应的作用空间可能是这个样子的:
这里只是效果图。
聚类中心——作用空间效果图描述
可以看出, make_circles \text{make\_circles} make_circles中的分布样本只不过是 k-Means \text{k-Means} k-Means作用空间分布中的一部分样本点,它并没有将 make_circles \text{make\_circles} make_circles样本中的连通性学习出来。

谱聚类

场景构建

由于处理的是无监督的聚类任务,因此数据集合仅包含样本特征 X \mathcal X X
X = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( N ) ) N × p T x ( i ) ∈ R p ; i = 1 , 2 , ⋯   , N \mathcal X = \left(x^{(1)},x^{(2)},\cdots,x^{(N)}\right)_{N \times p}^T \quad x^{(i)} \in \mathbb R^p;i=1,2,\cdots,N X=(x(1),x(2),,x(N))N×pTx(i)Rp;i=1,2,,N

谱聚类结构介绍

谱聚类( Spectral clustering \text{Spectral clustering} Spectral clustering)是一种针对连通型簇分布的聚类方法,它是一种基于加权无向图结构的模型。已知一个无向图结构表示如下:
谱聚类-无向图结构-示例
关于无向图结构 G \mathcal G G的描述表示如下:
G = { V , E } \mathcal G = \{\mathcal V,\mathcal E\} G={ V,E}
其中 V \mathcal V V表示结点集合,图结构中一共包含 N N N个结点,每一个样本均对应一个结点:
V = { v ( 1 ) , v ( 2 ) , ⋯   , v ( N ) } \mathcal V = \{v^{(1)},v^{(2)},\cdots,v^{(N)}\} V={ v(1),v(2),,v(N)}
E \mathcal E E表示边集合,由于 G \mathcal G G是加权无向图,这意味着如果某对结点 ( v ( i ) , v ( j ) ) (v^{(i)},v^{(j)}) (v(i),v

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

静静的喝酒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值