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就是高维空间中数据向量
3. NMF与Kmeans
正交NMF在某种程度上等价于Kmeans,两者的目标式都可以表述为如下形式:
X: “dxn”,F: “dxc”,G: “nxc”,X的每一列为一个数据点,F的每一列对应一个聚类中心,G的每一列对应一个簇指示向量,由于正交非负约束,G的每一行只有一个非零元,假如第一行的非零元在第c列,则表明第一个数据点属于第一个簇。
我们可以求目标式对F的偏导,得到F=XG,注意这里的最优点满足F的非负约束,所以我们可以把F反代回目标式得:
这里G如果是scaled indicator matrix,则
Kmeans迭代进行簇中心向量的更新和簇标签的再分配,本质就是在进行上述一个重构问题,相当于在用迭代优化的方式直接求解一个离散问题。
上述目标式还等价于如下迹最大化的形式:
这就变成了带非负约束的谱聚类目标式,这里
4. 总结
4.1 正交非负约束 vs. 指示矩阵
正交非负约束要弱于指示矩阵,所以kmeans带正交非负约束的迹最大化表达式,应该看作是一种松弛的形式,并不直接等价于原目标式。但现有的许多论文中,貌似都忽略了这一点。包括谱聚类(Ncut、ratio cut图割问题)中也存在这样的情况。
下面举例子直观说明。
(1)指示矩阵G(indicator matrix)
(2)缩放后的指示矩阵F(scaled indicator matrix),
(3)矩阵
(4)满足正交非负约束的矩阵P,即
(5)对于
- PCA,Kmeans,NMF和谱聚类之间的联系
- 利用python的KMeans和PCA包实现聚类算法
- PCA和SVD区别和联系
- PCA和SVD区别和联系
- 文件系统和设备之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- Hibernate和JPA之间的联系
- 平面设计和网页设计之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- Hibernate和JPA之间的联系
- Hibernate和JPA之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- javascript eval和JSON之间的联系
- Dijkstra算法的简单实现(C++)
- hdoj 1027 Ignatius and the Princess II
- linux平台设备驱动模型
- 面向未来的人才教育
- HUD 1300 Pearls (水 dp)
- PCA,Kmeans,NMF和谱聚类之间的联系
- 训练总结 12.10
- 基于数据库的自动化生成工具,自动生成JavaBean、自动生成数据库文档等(v5.8.0版)
- 309. Best Time to Buy and Sell Stock with Cooldown
- 网络分层架构 & ARP & baidu.com 访问过程 知识点总结
- Pieces (状态dp)
- 培训第七天,面向对象的部分知识
- 团队管理:需求之殇——两个凡是
- Ubuntu 16.04 64位+Qt 5.7.1+opencv 3.2.0 + opencv_contrib 3.2.0