运用三角不等式加速Kmeans聚类算法

运用三角不等式加速Kmeans聚类算法


引言:最近在刷《数据挖掘导论》,第九章, 9.5.1小节有提到,可以用三角不等式,减少不必要的距离计算,从而达到加速聚类算法的目的。这在超大数据量的情况下,尤为重要。但是书中并没有给出解释和证明。本文以k-means聚类算法为代表,讲解下怎么利用三角不等式减少计算过程。


1. 三角不等式

任一三角形,两边之和大于第三边,两边之差小于第三边。可以从欧式距离扩展到多维欧几里得空间:设任意三个向量a,b,c。d(x,y)代表x,y在空间上的距离,则三角不等式满足:
\[d(a,b)+d(b,c)\ge d(a,c) , d(a,b) - d(b,c) \le d(a,c)\]

2.K-means算法

K-mean算法

  1. 随机选择K个数据点作为初始质心
  2. repeat
  3.   计算每一个数据点计算到现有K个质心的距离,将它归属到距离最近质心的所在簇中
  4.   重新计算质心。
  5. until 所有质心不再变动

3. 定义

\[假设存在数据点集 X=\{x_1, x_2,..,x_n\} , 质心的集合C=\{ C_1,C_2,...,C_m\}, 对应的

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值