python谱分解函数 python 分解( 二 )


1 计算相似度矩阵 W
2计算度矩阵 D
3计算拉普拉斯矩阵L=D-W
4计算L的特征值,将特征值从小到大排序,取前k个特征值.将这个特征值向量转换为矩阵
5通过其他聚类算法对其进行聚类,如k-means
详细公式和概念请到 大佬博客
相比较PCA降维中取前k大的特征值对应的特征向量,这里取得是前k小的特征值对应的特征向量 。但是上述的谱聚类算法并不是最优的 , 接下来我们一步一步的分解上面的步骤,总结一下在此基础上进行优化的谱聚类的版本 。
python实现
例子一:使用谱聚类从噪声背景中分割目标
效果图
例子2:分割图像中硬币的区域
效果图
注意
1)当聚类的类别个数较小的时候,谱聚类的效果会很好,但是当聚类的类别个数较大的时候,则不建议使用谱聚类;
(2)谱聚类算法使用了降维的技术 , 所以更加适用于高维数据的聚类;
(3)谱聚类只需要数据之间的相似度矩阵,因此对于处理稀疏数据的聚类很有效 。这点传统聚类算法(比如K-Means)很难做到
(4)谱聚类算法建立在谱图理论基础上,与传统的聚类算法相比,它具有能在任意形状的样本空间上聚类且收敛于全局最优解
(5)谱聚类对相似度图的改变和聚类参数的选择非常的敏感;
(6)谱聚类适用于均衡分类问题,即各簇之间点的个数相差不大 , 对于簇之间点个数相差悬殊的聚类问题,谱聚类则不适用;
参考
谱聚类算法介绍
sklearn
【python谱分解函数 python 分解】关于python谱分解函数和python 分解的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

推荐阅读