并行与分布式K - 中值聚类算法的计算比较
1. 研究背景与动机
在处理k - 中值问题时,已有多种算法可用于寻找近似最优解。例如,多年来,对于度量问题,因子为3 + ε的最佳近似算法是基于多次交换的局部搜索启发式算法,后来近似比逐步提升至1 + √3 + ε,最终通过依赖舍入方法优化到2.675 + ε。高效的精确算法有分支 - 切割 - 定价法和列与行生成算法,有效的启发式算法包括带聚合的拉格朗日启发式算法和原始 - 对偶可变邻域搜索算法。然而,这些方法复杂度高、内存使用量大,限制了其在大规模聚类问题中的应用。
一些研究者尝试利用并行和分布式计算来减轻元启发式算法的计算负担,如开发了可变邻域搜索、禁忌搜索和分散搜索的并行实现。但这些算法存在精度低或内存负载高的瓶颈。
本文开发了基于拉格朗日松弛的分布式方法以及几种常用k - 中值聚类算法的分布式实现。主要动机是评估这些算法在大规模图像聚类这一特定场景下的准确性、速度和有效性,特别是研究它们在处理大量不同身份的人脸图像聚类时的表现。
2. 并行K - 中值聚类算法
常见的k - 中值聚类算法及其并行实现如下:
- PAM :最知名的k - 中值(或k - 中心点)聚类算法之一。它是一个简单的两步启发式算法,第一步使用贪心搜索找到初始中值集,第二步通过局部搜索启发式(Teitz和Bart启发式及顶点替换)结合快速交换技术来改进贪心解。PAM的时间和空间复杂度高,因为它需要搜索每个现有解的整个1 - 交换邻域。为了提高效率,实现了其共享内存版本,使用OpenMP接口。在实现中,嵌入了快速贪心方法改进第一步,并将整个相异度矩阵存储在RAM中以加
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



