论文: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}URm×pZ∈Rp×nZ ∈ R^{p×n}ZRp×n
X≈UZX ≈ U ZXUZ
U的每一列都可以被视为一个基向量,它捕捉数据中更高层次的特征,Z的每一列都是原始输入相对于新基的p维表示。测量近似值的常用方法是通过矩阵Frobenius范数||·||。因此,矩阵分解可以定义为如下优化问题:
min⁡U,Z∣∣X−UZ∣∣2(2)\min_{U,Z} ||X − UZ||^2 \tag{2}U,ZminXUZ2(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=1pzjiuj(3)
uju_jujUUU的第jjj列。这里假设,当xix_ixi更接近uju_jujzjiz_{ji}zji应该更大;uju_juj不是xix_ixir(≤p)r(≤ p)r(p)近邻,zji=0z_{ji}=0zji=0这种限制自然会导致稀疏表示矩阵Z。U<i>∈Rm×rU_{<i>} ∈ R^{m×r}U<i>Rm×r是由xix_ixirrr个最近 landmarks 组成的UUU的子矩阵。zjiz_{ji}zji的计算公式:

Spectral Analysis on Landmark-based Graph

我们有基于landmark的稀疏表示Z∈Rp×nZ∈ R^{p×n}ZRp×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^=D1/2Z,其中DDD是Z的行的和。注意在上一节中,ZZZ的每一列和为1,因此WWW的度矩阵为III,即图被自动归一化。
Z^\hat ZZ^进行SVD(奇异值分解)分解:

参考链接:
初探“谱聚类”算法(无公式)

Large Scale Spectral Clustering with Landmark-Based Representation相关推荐

  1. 【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 ...

  2. 【食品图像识别】Large Scale Visual Food Recognition

    1 引言 视觉智能部与中科院计算所于2020-2021年度展开了<细粒度菜品图像识别和检索>科研课题合作,本文系双方联合在IEEE T-PAMI2023发布论文<Large Scal ...

  3. 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 ...

  4. 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut .

    聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...

  5. 聚类算法K-Means, K-Medoids, GMM, Spectral clustering,Ncut

    聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...

  6. [2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析

    [2021-CVPR] Jigsaw Clustering for Unsupervised Visual Representation Learning 论文简析及关键代码简析 论文:https:/ ...

  7. Large scale GAN training for high fidelity natural image synthesis解读

    <Large scale GANtraining for high fidelity natural image synthesis>这篇文章对训练大规模生成对抗网络进行了实验和理论分析, ...

  8. 聚类算法K-Means K-Medoids GMM Spectral clustering,Ncut

    聚类算法是ML中一个重要分支,一般采用unsupervised learning进行学习,本文根据常见聚类算法分类讲解K-Means, K-Medoids, GMM, Spectral cluster ...

  9. Spectral Clustering 并用silhouette指标值确定最优聚类数目

    clusterDatathon.py 说明: 输入:(dataExample) 处理:选择一系列的cluster数目,进行spectral clustering(经过比较,感觉spectral clu ...

最新文章

  1. 织梦html地图插件,织梦dede网站地图xml生成插件(图文教程)
  2. 翻转单词顺序与左旋转字符串
  3. 多文件,多目录下查询关键字脚本
  4. NAND FLASH ECC
  5. 如何启动MongoDB数据库 - 基础篇
  6. 練習重繪TreeView控件
  7. 高职对计算机课程要求,高职计算机课程对学生编程能力培养.doc
  8. ffmpeg (一):起步
  9. itextpdf使用
  10. 【强大图片滤镜插件集】Nik Collection 2 by DxO for Mac 2019
  11. cyclic behavior during switching
  12. jxl 冻结单元格_如何在Word中冻结表格中单元格的大小
  13. vs2015遇见问题:后面有“::”的名称一定是类名或命名空间名
  14. 读《最重要的事只有一件》有感
  15. 计算机专业大专考试题,计算机大专考试试题1.doc
  16. python中turtle隐藏画笔_python中Turtle的画笔命令有哪些?
  17. 如何批量处理/修改文件的后缀名(使用批处理.bat进行)
  18. 那个耍了 Google 的天才工程师,又摆了 Uber 一道
  19. fir滤波器算法c语言程序,FIR滤波器C语言代码
  20. PowerMill二次开发——插件响应PM变化

热门文章

  1. iOS-获取健康运动步数
  2. 婆媳兵法之——短兵相接15天
  3. Java并发编程学习-日记1、常见的IO模型、NIO、OIO
  4. Mindjet MindManager思维导图空间快捷键
  5. HttpException: 503: Server Error for url:http://cic-1:9696/v2.0/security-groups, Service Unavailable
  6. 智能时代:大数据与人工智能
  7. prince2 成功的项目管理_学员心得 | 宋文彬:学习PRINCE2的心路历程
  8. C/C++程序员工作面试的秘密
  9. 补天漏洞响应平台基本介绍
  10. xilinx apu ,rpu特点 及通信