DataLearner 标志DataLearnerAI
最新AI资讯
大模型评测
大模型列表
大模型对比
资源中心
AI工具导航

加载中...

DataLearner 标志DataLearner AI

专注大模型评测、数据资源与实践教学的知识平台,持续更新可落地的 AI 能力图谱。

产品

  • 评测榜单
  • 模型对比
  • 数据资源

资源

  • 部署教程
  • 原创内容
  • 工具导航

关于

  • 关于我们
  • 隐私政策
  • 数据收集方法
  • 联系我们

© 2026 DataLearner AI. DataLearner 持续整合行业数据与案例,为科研、企业与开发者提供可靠的大模型情报与实践指南。

隐私政策服务条款
  1. 首页/
  2. 博客列表/
  3. 博客详情

Scalable KMeans++论文解析

2018/07/28 10:00:31
2,072 阅读
KMenas数据挖掘

KMeans最大的优点是简单,随机初始化一些类中心,重复的将数据划分到最近的中心点中,然后更新中心点。这种局部搜索的方式称为Lloyd's algorithm[[1]][1] [1]: https://en.wikipedia.org/wiki/Lloyd%27s_algorithm 。即使在大规模数据下,K-Means也很受欢迎,如mahout中的KMeans方法。从理论上来看,K-Means在效率和质量上并不是一个好的聚类方法:在最坏的情况下,其运行时间是指数级的;即便最终的方案是局部最优的,它也未必是全局最优的。但是在实际中,由于简洁性和速度无可比拟,K-Means方法很受欢迎。因此,很多工作都关注选择初始类中心点来提高算法的优点。

这个领域里面一个重要的工作是Ostrovsky等人证明一个简单的程序就可以从理论上保证结果的质量,借助于好的初始类中心点可以提高Lloyd局部搜索的质量。K-Means++只在最初的时候随机公平的选择初始点。接下来的中心点则根据它们对错误的贡献程度来选择。直觉上来说,初始化算法发现一个好的聚类应该是相对扩散的,因此选择一个新的聚类中心应该是与之前选择的类中心相对较远。正式地,我们可以发现K-Means++大约与最优的O(log k)接近,或者是当我们知道数据是具有很好的簇特征的时候,它接近一个常量。

但是K-Means++初始化的缺点是它的序列特征。尽管在$R^d$空间中,寻找n个点的k个类别,其总的运行时间是O(nkd),它与一次Lloyd迭代一样。哪一个点被选中为第i次迭代的中心点主要依赖于上次迭代的中心点。一个简单实现K-Means++的方式为了实现初始的中心点,需要在数据中传递k次。

这个情况在大规模数据场景下更为严重。首先随着数据的增长,每个类别下的数据增长很快。例如将数百万个点分到100个或者1000个类下是很常见的情况,但是K-Means++在这种情况下初始化会非常慢。在并行化处理(如MapReduce)这种数据的时候其缺点会更加明显。

DataLearner 官方微信

欢迎关注 DataLearner 官方微信,获得最新 AI 技术推送

DataLearner 官方微信二维码
返回博客列表

相关博客

  • 机器学习项目流程清单

热门博客

  • 1Dirichlet Distribution(狄利克雷分布)与Dirichlet Process(狄利克雷过程)
  • 2回归模型中的交互项简介(Interactions in Regression)
  • 3贝塔分布(Beta Distribution)简介及其应用
  • 4矩母函数简介(Moment-generating function)
  • 5普通最小二乘法(Ordinary Least Squares,OLS)的详细推导过程
  • 6使用R语言进行K-means聚类并分析结果
  • 7深度学习技巧之Early Stopping(早停法)
  • 8手把手教你本地部署清华大学的ChatGLM-6B模型——Windows+6GB显卡本地部署