Kmeans中k值的相关理论

Kmeans算法作为机器学习十大算法之一,它的流程相信不用多说,这里说下它的缺点:

1.需要提前给定k值

2.对初始聚类中心的选取有很大的依赖性

3.如果长时间不能收敛,计算时间会很长。

而对于初始聚类中心的选择,《大数据-互联网大规模数据挖掘》这本书里有相关的策略,主要提到了2点;

1 尽量选择较远的点作为聚类中心:首先随机选一个点,然后选距离这个点最远的点作为第二个聚类中心,然后再选一个点,距离已经选的2个点最近距离最远,选第n个点时,要选择与前面n-1个点最近距离最远的那个点,一直到选了k个点为止。

2 需要利用层次聚类或者Canopy算法先找到较好的聚类中心,在此基础上在进行聚类。

其实说了很多发现,就算第一种策略去找较好的初始聚类中心,也需要提前知道k的值,而对于k的值,这本书中提到了一个比较好解决办法,首先它给的一个结论是:给定一个合适的类簇指标,比如平均半径或直径,只要我们假设的类簇的数目等于或者高于真实的类簇的数目时,该指标上升会很缓慢,而一旦试图得到少于真实数目的类簇时,该指标会急剧上升。下面给图:


图中显然可以看到聚成五类比较理想,但是如果硬要聚成2到7类的话,结果如图所示,而相对应的平均半径变化如下:


虽然不知道这个结论的由来,但是这也为寻找一个较好的k值提供了一个方法:按照k=1,2,4,8....进行聚类,而对于找最优的k,可以采用二分的手段来进行,比如我知道k的范围在[l,r],那么我取mid=(l+r)/2,如果[mid,r]这段区间指标变化不大,那么在[l,mid]继续二分,否则如果[mid,r]之前存在了变化很大的区间,那么在[mid,r]区间进行二分。但是这里存在一个问题,就是如何衡量变化大不大,这可能需要定义出与数据集相关的公式才可以实现。




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在K-means聚类算法,K的选取是一个重要的步骤。K表示需要聚类的簇的个数。选取合适的K对于获取准确且有意义的聚类结果非常重要。有几种常用的方法可以帮助选择K。 一种方法是通过观察轮廓系数来选择K。轮廓系数是一种衡量聚类质量的指标,它考虑了数据点到所属簇内部的紧密度和与其他簇的分离程度。我们可以尝试不同的K,计算每个数据点的轮廓系数,并计算加权平均轮廓系数。选择具有最大轮廓系数的K作为最佳K。 另一种方法是使用Gap统计量法。Gap统计量法通过比较原始数据集与随机生成的参考数据集的对数误差来选择K。具体步骤包括将原始数据集输入KMeans聚类算法,计算原始数据集的对数误差,然后生成一组符合原始数据特征的随机数据集,再将这些随机数据集输入KMeans算法,并计算每个随机数据集的对数误差。最后,计算参考数据集的对数误差的平均与原始数据集的对数误差之差,得到Gap统计量。选择使得Gap统计量最大的K作为最佳K。 总之,选择K的方法包括观察轮廓系数和使用Gap统计量法。这些方法可以帮助我们确定最佳的K,以获得准确且有意义的聚类结果。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [K-means聚类算法的理论研究和改进,并通过matlab仿真分析,matlab源码+word版论文。](https://download.csdn.net/download/ccsss22/85303745)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [kmeans算法的k选择](https://blog.csdn.net/m0_62865498/article/details/130517030)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值