当前位置: 首页 > article >正文

稀疏子空间聚类 SSC(Sparse Subspace Clustering)

在高维数据中,数据点往往并不是随机分布的,而是分布在多个低维子空间中。例如,人脸图片的集合可能分布在不同的子空间中,每个子空间对应不同的人;高光谱数据中的像素分布可以划分为不同的子空间,每个子空间对应不同的材料或地物。稀疏子空间聚类的目标是要将高维数据划分到多个低维子空间中,同时保持子空间的稀疏性

1. 稀疏子空间

线性代数中,子空间是由一组 线性无关基向量 张成的空间,所有向量都可以表示为这些基向量的线性组合。子空间的维度由基向量的数量决定,且每个子空间是一个闭合的线性子集

由此推断,高维数据分布在多个低维子空间中,每个子空间由一组基向量定义。假设数据 X X X 来自于 K K K 个不同的子空间 { S 1 , S 2 , … , S K } \{S_1, S_2, \dots, S_K\} {S1,S2,,SK},每个子空间是低维的。如果数据点 x i x_i xi 属于子空间 S k S_k Sk​,那么 x i x_i xi 可以用子空间 S k S_k Sk 内的其他点的线性组合表示,而与其他子空间无关: x i = ∑ j c i j x j , 其中  x j ∈ S k 。 x_i = \sum_{j} c_{ij} x_j, \quad \text{其中 } x_j \in S_k。 xi=jcijxj,其中 xjSk 数据点 x i x_i xi 只需要与自己子空间内的点关联,而不需要依赖其他子空间的点。

对于任意一个数据点 x i x_i xi,其表示 c i = [ c i 1 , c i 2 , … , c i N ] c_i = [c_{i1}, c_{i2}, \dots, c_{iN}] ci=[ci1,ci2,,ciN] 应该是稀疏的,只有少数非零项对应于 x i x_i xi​ 所属的子空间内的点。利用数据的自表达和稀疏性,自动捕获子空间结构。

2. SSC 的数学建模

SSC 通过优化以下目标函数,计算稀疏表示矩阵 C C C min ⁡ C ∥ C ∥ 1 + λ 2 ∥ X − X C ∥ F 2 , subject to diag ( C ) = 0. \min_C \|C\|_1 + \frac{\lambda}{2} \|X - XC\|_F^2, \quad \text{subject to } \text{diag}(C) = 0. CminC1+2λXXCF2,subject to diag(C)=0. 符号解释:

  • X ∈ R d × N X \in \mathbb{R}^{d \times N} XRd×N:数据矩阵, N N N d d d-维数据点。
  • C ∈ R N × N C \in \mathbb{R}^{N \times N} CRN×N:稀疏表示矩阵,表示每个数据点 x i x_i xi 是如何由其他点 x j x_j xj​ 表示的。
  • ∥ C ∥ 1 \|C\|_1 C1:对稀疏性的约束,鼓励 C C C 的大部分元素为零。
  • ∥ X − X C ∥ F 2 \|X - XC\|_F^2 XXCF2​:重建误差,要求数据点 X X X X C XC XC 精确重建。
  • λ \lambda λ:控制稀疏性与重建误差的权衡。
  • diag ( C ) = 0 \text{diag}(C) = 0 diag(C)=0:对角元素为零,防止点 x i x_i xi 自我表示。

该优化问题是凸的,常用交替方向乘子法(ADMM)求解,得到稀疏表示矩阵 C C C

3. 相似性矩阵的构建

稀疏表示矩阵 C C C 计算完成后,用它构造一个对称的相似性矩阵 S S S S = ∣ C ∣ + ∣ C ∣ T . S = |C| + |C|^T. S=C+CT. S i j S_{ij} Sij 表示数据点 x i x_i xi x j x_j xj 的相似程度,值越大说明它们可能属于同一子空间。

4. 子空间划分(谱聚类)

在相似性矩阵 S S S 的基础上,通过谱聚类将数据点划分到不同的子空间中。最终结果是数据点被划分到 K K K 个子空间,每个子空间对应一个簇。

谱聚类基于图划分的思想,将聚类问题转化为图分割问题。它将数据点视为图中的节点,用边权重表示节点之间的相似性(用相似性矩阵 S S S 表示)。依据相似性矩阵 S S S 划分图中的节点,使得簇内紧密(簇内节点之间的边权重尽可能大)和簇间松散(簇间节点之间的边权重尽可能小)。划分过程通过最小化某种切割代价(如标准化切割),找到最优划分。

具体实现步骤:

  1. 构造拉普拉斯矩阵
    图的拉普拉斯矩阵 L L L 用来表示图的结构: L = D − S , L = D - S, L=DS, 其中, S S S相似性矩阵(图的邻接矩阵), D D D度矩阵(对角矩阵),其对角元素为每个节点的度数: D i i = ∑ j S i j D_{ii} = \sum_j S_{ij} Dii=jSij
    然后,归一化拉普拉斯矩阵(常用): L norm = D − 1 / 2 L D − 1 / 2 . L_{\text{norm}} = D^{-1/2} L D^{-1/2}. Lnorm=D1/2LD1/2.

  2. 特征值分解
    计算拉普拉斯矩阵 L L L 的前 K K K 个最小特征值对应的特征向量,构成特征矩阵 U U U U = [ u 1 , u 2 , … , u K ] . U = [u_1, u_2, \dots, u_K]. U=[u1,u2,,uK].

  3. 特征向量聚类
    将特征矩阵 U U U 的行视为数据点,在欧几里得空间中应用 K-Means 对这些行进行聚类。

特征向量可以看作是一种数据点的 嵌入表示 ,它们捕获了图中全局的结构信息。


http://www.kler.cn/a/473465.html

相关文章:

  • 经典多模态模型CLIP - 直观且详尽的解释
  • Kubernetes集群架构
  • 基于YOLO11的无人机视角下羊群检测系统
  • 计算机网络之---TCP/IP四层模型
  • Linux系统自动化sh脚本
  • CANN 学习——基于香橙派 KunpengPro(1)
  • halcon三维点云数据处理(七)find_shape_model_3d_recompute_score
  • vulnhub靶场【DC系列】之6
  • Ubuntu18.04离线安装audit
  • vue -关于浏览器localstorge数据定期清除的实现
  • Windchill SQL 篇之 分类特征值相关
  • 什么时候用synchronized?什么时候用分布式锁?
  • Spring Boot 集成 Easysearch 完整指南
  • 老牌工具,16年依然抗打!
  • 【Java基础】使用Apache POI和Spring Boot实现Excel文件上传和解析功能
  • Linux下文件操作相关接口
  • 备考蓝桥杯:顺序表相关算法题
  • 软件工程实验-实验2 结构化分析与设计-总体设计和数据库设计
  • 数据库第一次作业-----数据库的多种部署方式
  • 代码随想录 day59 第十一章 图论part09
  • SQL Server中可以通过扩展事件来自动抓取阻塞
  • 攻防世界 ics-07
  • 51单片机——定时器中断(重点)
  • 全天候高效响应,中关村科金智能客服机器人优化客户体验
  • Hive部署内嵌模式、本地模式、远程模式
  • 现场展示deepseek VS openAI o1模型大对比