进化算法和 AP 聚类的组合,听起来是不是有点黑科技那味儿?这个叫进化吸引子传播 AP 聚类算法的东西,确实挺有意思的。它不是简单叠加两种技术,而是把遗传算法、粒子群优化这类优化手段和Affinity Propagation聚类算法揉在了一起,能有效避免 AP 卡在局部最优的问题,聚得更准,分得更稳。
初始化用的是一组随机种群,每个个体都是个潜在的聚类中心。计算相似度矩阵,再做责任和可用性消息传递,说白了就是“我适不适合当中心”和“我觉得你适不适合当中心”的互相喊话过程。挺像民主投票,但背后逻辑更复杂。
更新适应度后就是进化操作了,经典套路:选择、交叉、变异全上,挺适合你做一些自适应聚类实验。对非凸形状、簇数不明确的数据集表现还不错,就是大数据跑起来慢点,考虑下并行或近似优化吧。
源码在evolutionary-affinity-propagation-master
里,结构比较清晰。看源码+改参数跑一跑,基本能掌握核心逻辑。你也可以参考下面几个相关链接:
如果你平时研究进化算法或搞聚类,这个资源还蛮值得一试的。可以直接上手跑一跑,看下效果,顺手还能自己魔改一版。