PCA,Kmeans,NMF和谱聚类之间的联系

来源:互联网 发布:python(x,y) 编辑:程序博客网 时间:2024/06/06 02:20

本文对这几种算法进行统一分析和归纳。

1. PCA与Kmeans

降维–主成分分析(PCA)–第4.1节

2. 谱聚类与Kmeans

聚类–谱聚类–第5节

kmeans假设数据服从高斯分布,所以对于非高斯分布的数据性能表现可能不好,这个时候我们可以利用核方法扩展,得到kernel kmeans,相当于把原始d维数据投影到一个高维核空间中再进行kmeans聚类。

本质上,谱聚类也是干了这么一件事儿,相似度矩阵W就是高维空间中数据向量ϕ(x)的内积(Kmeans直接是x的内积),然后谱聚类基于相似度矩阵W(或者对应的拉普拉斯矩阵L),特征分解得到松弛后的指示矩阵F,可看作数据的低维谱嵌入表达,值得注意的是,这里的低维谱嵌入表达,实际也可以看作是用一个低维空间中的向量来近似取代高维核空间中的向量,形式化表述即:minFFϕ(X)ϕ(X)T,这里F的每一行对应一个谱嵌入表达,ϕ(X)的每一行对应一个数据在高维核空间中的向量表达,谱聚类可以看作是用F来代替ϕ(x),从而继续用Kmeans对F的行聚类得到最终的聚类结果。

3. NMF与Kmeans

正交NMF在某种程度上等价于Kmeans,两者的目标式都可以表述为如下形式:

minF0,G0,GTG=IXFGT2F

X: “dxn”,F: “dxc”,G: “nxc”,X的每一列为一个数据点,F的每一列对应一个聚类中心,G的每一列对应一个簇指示向量,由于正交非负约束,G的每一行只有一个非零元,假如第一行的非零元在第c列,则表明第一个数据点属于第一个簇。

我们可以求目标式对F的偏导,得到F=XG,注意这里的最优点满足F的非负约束,所以我们可以把F反代回目标式得:

minG0,GTG=IXX(GGT)2F

这里G如果是scaled indicator matrix,则GGT具有下一节(4.1节)中FFT的类似样子,也就是说,上式在用各簇中数据的平均向量,代替该簇中的所有数据点完成数据重构。如果G只是一个普通的满足正交非负约束的矩阵,则在用各簇中数据的加权和向量(这里没有说加权平均,因为权值和并不一定等于1),代替该簇中的所有数据点完成数据重构。

Kmeans迭代进行簇中心向量的更新和簇标签的再分配,本质就是在进行上述一个重构问题,相当于在用迭代优化的方式直接求解一个离散问题。

上述目标式还等价于如下迹最大化的形式:

maxF0,G0,GTG=ITr(XTFGT)maxG0,GTG=ITr(GTXTXG)

这就变成了带非负约束的谱聚类目标式,这里XTX是内积核,可以采用其他核,就是kernel kmeans了。

4. 总结

4.1 正交非负约束 vs. 指示矩阵

正交非负约束要弱于指示矩阵,所以kmeans带正交非负约束的迹最大化表达式,应该看作是一种松弛的形式,并不直接等价于原目标式。但现有的许多论文中,貌似都忽略了这一点。包括谱聚类(Ncut、ratio cut图割问题)中也存在这样的情况。

下面举例子直观说明。

(1)指示矩阵G(indicator matrix)

(1010010101)T

(2)缩放后的指示矩阵F(scaled indicator matrix),F=G(GTG)1/2FTF=I
120120013013013T

(3)矩阵FFT
12120001212000001313130013131300131313

(4)满足正交非负约束的矩阵P,即PTP=I,P0
p
(5)对于PPT,并没有行和为1的性质。
ppt

原创粉丝点击