-
致敬吴恩达老师
-
对于kmeans等聚类方法,往往局限于欧氏空间的特征关系。如果对于流形上分布的数据使用全局欧氏空间特征,算法就不会收敛,比如下面的moon数据集。
-
思想:把聚类问题转换成图切割问题,通过图论方法完成优化,得出聚类结果。
*由于模块较多,不便于直接贴出来。代码见个人资源下载链接。
*运行方法:直接运行 spectral_moon_data.py 即可得到上面的效果! -
整体流程:
- 利用点对相似性,构建亲和度矩阵
- 构建拉普拉斯矩阵
- 求拉普拉斯矩阵最小特征值对应的特征向量
- 由这些特征向量构成样本的新特征,使用K_Means等聚类方法完成最后的聚类
(以上是引用的模式识别课程PPT
解释一下第四点,聚类完后,要根据索引映射到原始数据集,就可以了。具体实现可以下载我的代码进行学习。
Liu Yaohua 2019.11.28 in UCAS