机器学习——K-Means++算法及实现

K-Means++算法及实现

K-Means++ Algorithm

Key points
同K-Means相比,初始化中心点方式发生变化。由于K-Means初始K cluster centers随机产生,这样算法收敛情况受初始随机化影响较大,K-Means针对初始化问题做了改进。

  • step 1:从输入样本点集合中随机选取一个点作为第一个cluster center
  • step 2:计算每一个样本点到最近cluster center的距离D(x)
  • step 3:选取新的样本点作为新的cluster center,选取规则为:D(x)值越大,则被选中的概率越大
  • step 4:重复上述两步直至K个cluster center被选出
  • step 5:选出的K个cluster center作为初始执行K-Means算法(可参考上篇对K-Means算法的介绍(https://blog.csdn.net/weixin_38250282/article/details/83589259))
  • 上述算法中step 3 中选择将D(x)反映到概率上,本文选择正比关系,即P = k * D(x)

    K-Means Cluster Center Initialization
    初始化概率生成K个cluster center过程:

    def randProb(dataSet, k, m, disMeas=disEclud):
        n = np.shape(dataSet)[1]
        centCoids = np.mat(np.zeros((k, n)))
        dis &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值