BAT面试官最喜欢问的问题之一:算法Kmeans优化算法有?
专栏:科技资讯
发布日期:2018-10-27
阅读量:3859
作者:小爱
BAT面试官最喜欢问的问题之一:算法Kmeans优化算法有?

人工智能

KMeans算法的主要缺点有:

1)需要人工预先确定初始K值,且该值和真实的数据不一定能够吻合。

2)K均值只能收敛到局部最优,效果受到初始值的影响很大。

3)容易受到噪声的影响。

4)样本只能被划分到单一的类簇中。

Kmeans算法改进模型主要有Kmeans++和ISODATA算法

Kmeans++的主要是对K的选取进行优化, 假设已经选取了n个初始聚类中心,则在选取第n+1个聚类中心时,距离当前n个聚类中心越远的点会有更高的概率会被选为第n+1个聚类中心。在选取第一个聚类中心时同样通过随机的方法。当选择完初始点后,Kmeans++后续的计算都和经典的Kmeans算法相同,这也是对初始值选择进行改进的方法的共同点。

当K值的大小不确定时,可以使用ISODATA算法。ISODATA算法的全称是迭代自组织数据分析法。在Kmeans算法中,聚类个数K的值需要预先人为的确定,并在整个过程中无法更改。而当遇到高纬度、海量的数据集时,人们往往很难准确的估计出K的大小,ISODATA算法针对这个问题进行了改进,它的思想也很直观,当属于某个类别的样本数过少时,就把该类别踢掉;当属于某个类别的样本数过多、分散程度较大时,就把该类分成两个子类。ISODATA算法在Kmeans算法的基础上增加了两个操作,一个是分裂操作,对应着增加聚类中心数,二是合并操作,对应着减少聚类中心数。ISODATA虽然对Kmeans算法进行了优化,但它也有缺点,就是需要确定以下这些参数:

a 预期的聚类中心数K,在ISODATA运行过程中聚类中心可以变化,K是一个用户制定的参考值,该算法在聚类中心数目变动范围也由其决定。一般情况下,最终输出的聚类中心数据常见范围是从K的一半到两倍K。

b 每个类所要求的最少样本数目N,如果分裂后悔导致某个子类别所包含样本数目小于阈值,就不会对该类别进行分裂操作。

c 最大方差S,用于控制某个类别中样本的分散程度,当样本的分散程度超过这个阈值,分裂后满足a,进行分裂操作。

d 两个聚类中心之间所允许最小距离D,如果两个类靠的非常近,小于该阈值时,则对两个类进行合并操作。

上一页:电商的3.0时代不仅仅是流量而是售后服务,整个生态链
下一页:什么是ERP? ERP企业资源计划全攻略
说点什么
发表
最新评论
    本文由爱用建站平台用户上传并发布,爱用建站仅提供信息发布平台。文章仅代表作者个人观点,不代表爱用建站立场。未经作者许可,不得转载。有涉嫌抄袭的内容,请通过 反馈中心 进行举报。

    如有投稿需求,可点击立即投稿
    免费建站
    品牌营销
    免费小程序

    精彩资讯

    更多>>
    网站建设

    热点关注

    更多>>

    点击开启品牌新篇章