多视角数据聚类研究的学习
学习西安交通大学王浩师兄的博士毕业论文
其分享的代码链接:
https://github.com/cswanghao/Multi-view-Clustering
1 Introduction
1.1 Background
多视角聚类旨在利用不同信息之间的一致性和互补性,展现出更好的聚类效果
- 基于自适应近邻图学习的多视角聚类
- 基于联合图学习的多视角聚类
- 基于谱扰动的不完备多视角聚类
- 基于并行化计算的多视角聚类
Key Word: 多视角聚类 图聚类 谱聚类 概念分解 并行化计算
数据收集的过程中,在一个视角中收集的数据,我们通常称为“单视角数据”。从多个视角收集到的数据我们就称其为“多视角数据”。如认识一个人,你从视觉方面来认出他,那就是单视角,但如果从样貌、声音、动作等多方面来认出他,就可以认为是多视角。
通常,从一个视角得到的数据可以得到某一方面有用的信息,但如果是多视角的数据,我们相信其数据之间具有潜在的一致性和互补性,因而能得到更有用、具体的信息,从而能构建出更优越的机器模型。
聚类算法所采用的基本思想有层次聚类、分割聚类、基于密度的聚类、基于约束的聚类以及基于模型的聚类等,其中最经典的两类聚类算法为K-means和Spectral Clustering,但传统的聚类算法当时单视角的,多视角的聚类算法仍有很大的提升空间。
定义1.1 (多视角聚类) 给定一个标签未知的多视角数据集,多视角聚类算法挖掘并利用不同视角之间的一致性信息和互补性信息,构建并学习共识函数,融合不同视角,最后将每个数据样本划分到相应的类或簇中。
1.2 Previous Research
依据算法分类,Multiview clustering可分为四类:
1.2.1 协同学习 Co-training Learning
旨在交互迭代地训练多个训练器,训练器之间交换彼此的信息,最大化不同训练器的训练结果从而达到所有训练器的一致性
1.2.2 多核学习 Multi-kernel Learning
核函数是实现映射关系内积的一种方法,将低维特征空间映射到高维空间,使得低维特征空间线性不可分的模式在高维空间可能实现线性可分。
即使用预先设定的核函数对应不同的视角,然后线性地或非线性地组合这些核函数,以此期望学习一致性核函数,并随后完成聚类任务。多核学习的一个关键问题是选择合适的核函数并将它们组合起来。
核函数包括线性核函数、多项式核函数、高斯核函数等,其中高斯核函数最为常用。
1.2.3 多视角图聚类 Multi-view Graph Clustering
图(或网络)常用于表示数据对象之间的关联关系。图中的每个节点对应一个数据对象,边表示数据对象之间的关系。
在实际应用中,谱图理论结合矩阵性质,将聚类问题转换为求解图矩阵的特征值和特征向量问题。由于图矩阵的特征值反映了图中的连通分量/连接成分,因此可以利用图中的连通分量对所构建的图进行切割来实现数据聚类。
基于图的多视角聚类(或者称多视角图聚类)旨在从每个视角上初始构建的图中学习融合图,然后在融合图上使用图切割算法或其它谱图技术,获取最终聚类结果。
1.2.4 多视角子空间聚类 Multi-view Subspace Clustering
子空间学习旨在将高维的数据映射到低维的子空间,在映射的同时保留数据特有的局部特性,从而有效地缓解“维数灾难”问题。经典的子空间学习方法有矩阵分解、主题模型、字典学习、低秩近似等。多视角子空间聚类假定所有视角共享所学习得到的隐空间,并在隐空间中完成数据的一致性表征,最后完成聚类任务。
其中两种典型的一致性数据表征学习方法是(1)从多个子空间中直接学习数据的一致性表征;(2)预先学习得到一个隐空间,然后在隐空间中获取数据的一致性表征。所学习得到的一致性表征随后用于输出最终聚类结果
1.2.5 一致性和互补性
Dasgupta等人证明了两个视角上假设的一致性和他们错误率之间的不等式关系:
P ( f 1 ≠ f 2 ) ≥ max { P err ( f 1 ) , P err ( f 2 ) } (1) P\left(f^{1} \neq f^{2}\right) \geq \max \left\{P_{\operatorname{err}}\left(f^{1}\right), P_{\operatorname{err}}\left(f^{2}\right)\right\} \tag1 P(f1=f2)≥max{
Perr(f1),Perr(f