K-means++ 中选择初始聚类中心

K-means++算法是K-means算法的改进,与原算法不通的地方仅在于初始化K个聚类中心上,算法的主要思想如下。
在这里插入图片描述
这里主要详细的介绍下Step2中的新的聚类中心选择算法。
假设有如下8样本:在这里插入图片描述
Step1:首先随机选择第一个聚类中心,假设我们选到了6号。
Step2:我们计算剩下的点到6号点的距离,如下,P其中
P ( x ) = D ( x ) 2 s u m ( D ( x ) 2 ) P(x) = \frac{D(x)^{2}}{sum(D(x)^{2})} P(x)=sum(D(x)2)D(x)2
D(x),为样本到聚类中心的距离,Sum 为概率和
在这里插入图片描述
D ( x ) 2 D(x)^{2} D(x)2越大,对应的概率值越。就相当于一条线段,每个 ( D ( x ) ) 2 (D(x))^{2} (D(x))2都是上面的一个子线段,现在随机丢一个东西到这个线段上,那么子线段越长落在该区间的可能性越大,这就是K-means++算法中以概率最大选择初始化聚类中心。
求Sum的原因是,在实际的过程中,我们一般通过轮盘选择法来选择上述中的子线段,具体的操作是:随机选择0-1中的一个数,取其落入的区间即可。
加入现在random的值为0.6,那么新的聚类中心落在(0.525,0.65)这个区间内,则选择样本3作为新的聚类中心。
从上述的图表中我们可以发现,第一个聚类中心6附近的点对应的概率区间都很小,这就使得我们在选择新的样本中心时,会尽可能的选择离上个聚类中心远的点作为新的聚类中心。

个人理解

之所以用概率选择,而不是直接选择距离最远的点作为新的聚类中心,是为了避免噪音点带来的干扰,但是我有点不明白的是,在上述的表中,如果有个噪音点离正常的样本点非常远,那么其对应的概率岂不是非常大,那么被选中的概率也非常大?这里是否有改进分空间,比如根据再某个范围类的样本点的个数给距离加上权重?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值