Large Scale Spectral Clustering with Landmark-Based Representation
论文:AAAI 2011
代码:Julia
基于锚点的谱聚类
核心: 选取一个较小的anchor集【通常为原始数据点的子集】,计算所有数据点和anchor集之间的相似度,减少相似度矩阵维度 or 使得相似度矩阵稀疏化【导致拉普拉斯矩阵也是稀疏的,从而更高效地计算出谱】。
摘要
由于谱聚类的时间复杂度过高导致其无法在大数据集上应用,因此出现了很多改进的方法:比如使用采样策略减少数据的尺寸,或者是减少特征分解步骤的时间复杂度。对于采样的方法,虽然它们很有效,但代价是在采样过程损失了数据的结构信息。
本文提出了一个名为LSC(Landmark-based Spectral Clustering)的可扩展的谱聚类算法,其核心思想是选取p(p<<n)个代表性数据点作为landmark,将剩余数据点表示为这些landmark的线性组合,然后使用基于landmark的表示有效地计算数据的谱嵌入(spectral embedding)。并且整体的算法时间复杂度与输入呈线性关系,构图需要O(pnm)O(pnm)O(pnm),计算特征值需要O(p3+p2n)O(p^3 + p^2n)O(p3+p2n)。
算法流程: 首先在数据集X中随机选取或者利用K-Means选取p个landmark;计算landmark与剩余数据之间相似度矩阵ZZZ;计算得到ZZTZZ^TZZT的前k个特征向量A,并根据公式【详见原文】得到最终的特征向量BBB;将BBB中每一行视为一个数据点,执行k-means聚类得到最终的结果。
Landmark-based Spectral Clustering
我们尝试设计具有如下性质的亲和矩阵:
W=Z^TZ^Z^∈Rp×n,p<<n(1)W = \hat Z^T \hat Z \quad \hat Z ∈ R^{p×n} , p << n \tag{1}W=Z^TZ^Z^∈Rp×n,p<<n(1)
Landmark-based Sparse Coding
数据矩阵 X=[x1,⋅⋅⋅,xn]∈Rm×nX = [x_1, ··· , x_n] ∈ R^{m×n}X=[x1,⋅⋅⋅,xn]∈Rm×n,矩阵分解可以将X近似分解为 U∈Rm×pU ∈ R^{m×p}U∈Rm×p、Z∈Rp×nZ ∈ R^{p×n}Z∈Rp×n
X≈UZX ≈ U ZX≈UZ
U的每一列都可以被视为一个基向量,它捕捉数据中更高层次的特征,Z的每一列都是原始输入相对于新基的p维表示。测量近似值的常用方法是通过矩阵Frobenius范数||·||。因此,矩阵分解可以定义为如下优化问题:
minU,Z∣∣X−UZ∣∣2(2)\min_{U,Z} ||X − UZ||^2 \tag{2}U,Zmin∣∣X−UZ∣∣2(2)
由于每个基向量(U的列向量)都可以看作是一个概念,稠密矩阵Z表示每个数据点都是所有概念的组合。这与我们的常识相反,因为大多数数据点只包括几个语义概念。稀疏编码(SC)是最近流行的一种矩阵分解方法,试图解决这个问题。稀疏编码在优化问题(2)中增加了Z的稀疏约束,具体来说就是A的每一列。这样SC就可以学习到一个稀疏表示。SC在数据表示方面有几个优势。首先,它产生稀疏表示,这样每个数据点被表示为少量基向量的线性组合。因此,数据点可以以一种更优雅的方式解释。其次,稀疏表示自然是一种允许快速检索的索引方案。第三,稀疏表示可以过完备,提供了广泛的生成元素。广泛的范围可能会使信号表示更加灵活,在信号提取和数据压缩等任务中更有效。
然而,求解具有稀疏约束的优化问题(2)非常耗时。现有的大多数方法都是迭代计算U和Z。显然,这些方法不能用于光谱聚类。
基向量(U的列向量)与原始数据点具有相同的维数。我们可以将基向量作为数据集的地标点。从数据集中选择地标点最有效的方法是随机抽样。除了随机选择外,还提出了几种路标点的选择方法。例如,我们可以使用k-means算法先对所有的数据点进行聚类,然后以聚类中心作为里land-mark点。但是,这些方法中的许多都是计算昂贵的,并且不能扩展到大型数据集。因此,我们将重点放在随机选择方法上,尽管在我们的实证研究中提出了随机选择和基于k-means的地标选择之间的比较。
假设我们已经有了地标矩阵U,我们可以通过求解优化问题(2)来计算表示矩阵z。通过固定U,优化问题成为一个约束(稀疏约束)线性回归问题。有很多算法可以解决这个问题。然而,这些优化方法仍然很耗时。在我们的方法中,我们简单地使用Nadaraya-Watson核回归来计算表示矩阵Z。
对于任何数据点xix_ixi,我们通过下式得到近似的 x^i\hat x_ix^i,
x^i=∑j=1pzjiuj(3)\hat x_i = \sum ^p_{j=1} z_{ji}u_j \tag{3}x^i=j=1∑pzjiuj(3)
uju_juj是UUU的第jjj列。这里假设,当xix_ixi更接近uju_juj,zjiz_{ji}zji应该更大;uju_juj不是xix_ixi的r(≤p)r(≤ p)r(≤p)近邻,zji=0z_{ji}=0zji=0这种限制自然会导致稀疏表示矩阵Z。U<i>∈Rm×rU_{<i>} ∈ R^{m×r}U<i>∈Rm×r是由xix_ixi的rrr个最近 landmarks 组成的UUU的子矩阵。zjiz_{ji}zji的计算公式:
Spectral Analysis on Landmark-based Graph
我们有基于landmark的稀疏表示Z∈Rp×nZ∈ R^{p×n}Z∈Rp×n 现在,我们简单地计算图矩阵:
W=Z^TZ^(5)W = \hat Z^T \hat Z \tag{5}W=Z^TZ^(5)
可以进行非常有效的特征分解。在算法中,我们选择 Z^=D−1/2Z\hat Z = D^{−1/2}ZZ^=D−1/2Z,其中DDD是Z的行的和。注意在上一节中,ZZZ的每一列和为1,因此WWW的度矩阵为III,即图被自动归一化。
对Z^\hat ZZ^进行SVD(奇异值分解)分解:
参考链接:
初探“谱聚类”算法(无公式)
Large Scale Spectral Clustering with Landmark-Based Representation相关推荐
- 【SFace】《SFace: An Efficient Network for Face Detection in Large Scale Variations》
arXiv-2018 文章目录 1 Background and Motivation 2 Advantages / Contributions 3 Method 3.1 Feature Pyrami ...
- 【食品图像识别】Large Scale Visual Food Recognition
1 引言 视觉智能部与中科院计算所于2020-2021年度展开了<细粒度菜品图像识别和检索>科研课题合作,本文系双方联合在IEEE T-PAMI2023发布论文<Large Scal ...
- Paper之BigGAN:《Large Scale Gan Training For High Fidelity Natural Image Synthesis》翻译与解读
Paper之BigGAN:<Large Scale Gan Training For High Fidelity Natural Image Synthesis>翻译与解读 目录 效果 1 ...
- 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut .
聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...
- 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut
聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...
- [2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析
[2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析 论文:https:/ ...
- Large scale GAN training for high fidelity natural image synthesis解读
<Large scale GANtraining for high fidelity natural image synthesis>这篇文章对训练大规模生成对抗网络进行了实验和理论分析, ...
- 聚类算法K-Means K-Medoids GMM Spectral clustering,Ncut
聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...
- Spectral Clustering 并用silhouette指标值确定最优聚类数目
clusterDatathon.py 说明: 输入:(dataExample) 处理:选择一系列的cluster数目,进行spectral clustering(经过比较,感觉spectral clu ...
最新文章
- 织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)
- 翻转单词顺序与左旋转字符串
- 多文件,多目录下查询关键字脚本
- NAND FLASH ECC
- 如何启动MongoDB数据库 - 基础篇
- 練習重繪TreeView控件
- 高职对计算机课程要求,高职计算机课程对学生编程能力培养.doc
- ffmpeg (一):起步
- itextpdf使用
- 【强大图片滤镜插件集】Nik Collection 2 by DxO for Mac 2019
- cyclic behavior during switching
- jxl 冻结单元格_如何在Word中冻结表格中单元格的大小
- vs2015遇见问题:后面有“::”的名称一定是类名或命名空间名
- 读《最重要的事只有一件》有感
- 计算机专业大专考试题,计算机大专考试试题1.doc
- python中turtle隐藏画笔_python中Turtle的画笔命令有哪些?
- 如何批量处理/修改文件的后缀名(使用批处理.bat进行)
- 那个耍了 Google 的天才工程师,又摆了 Uber 一道
- fir滤波器算法c语言程序,FIR滤波器C语言代码
- PowerMill二次开发——插件响应PM变化
热门文章
- iOS-获取健康运动步数
- 婆媳兵法之——短兵相接15天
- Java并发编程学习-日记1、常见的IO模型、NIO、OIO
- Mindjet MindManager思维导图空间快捷键
- HttpException: 503: Server Error for url:http://cic-1:9696/v2.0/security-groups, Service Unavailable
- 智能时代:大数据与人工智能
- prince2 成功的项目管理_学员心得 | 宋文彬:学习PRINCE2的心路历程
- C/C++程序员工作面试的秘密
- 补天漏洞响应平台基本介绍
- xilinx apu ,rpu特点 及通信