Matlab Affinity Propagation聚类算法实现及优势
Matlab 的 AP 算法实现,蛮适合做数据科学里的聚类任务,尤其在图像分组、社交网络这类场景下,表现还挺稳的。用起来也不复杂,参数控制比较灵活,适合想快速试试聚类效果的你。
近邻传播算法的一个核心优点是不用预先指定簇的个数,和 K-means 比,省了不少调参麻烦。而且对初始值不敏感,聚类结果也更稳定。Matlab版本的实现结构清晰,改起来也方便。
你要是正在用Matlab做实验,可以直接试试这个实现:近邻传播聚类算法实现 matlab,响应快,收敛速度也不错。尤其适合搞学术或项目原型开发。
如果你还想对比下其他语言的实现,可以看看这个同时了Matlab和Python的版本:AP 近邻传播聚类算法 Affinity Propagation matlab 及 python 程序,挺适合跨平台验证的场景。
另外还有基于 Spark 的分布式实现,适合大数据量的:基于 Spark 的分布式近邻传播聚类算法。如果你平时接触大规模数据,别错过。
建议你在跑算法时注意下偏好参数(preference),对聚类数量影响蛮大。可以先用默认值看看结果,再微调。
如果你对图模型感兴趣,也可以看看这个扩展版:基于概率无向图模型的近邻传播聚类算法,理论味儿浓点,但也挺有意思。
下载地址
用户评论