爱吧机器人网 » 技术 > 机器学习 > 正文

BAT面试官最喜欢问的问题之一:算法Kmeans优化算法有?

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,如果两个类靠的非常近,小于该阈值时,则对两个类进行合并操作。



上一篇:打基础之,LeetCode算法题第7日刷,数组分区
下一篇:美海军研究实验室研发新型数据高效的机器学习算法
精选推荐
机器人工程师具体都做什么?
机器人工程师具体都做什么?

[2017-12-08]  机器人工程师是幕后设计师,负责创建机器人和机器人系统,能够执行人类无法完成或不愿意完成的任务。 通过他们的创造,机器人工程师帮助工作更安全,更轻松,更高效,特别是......

一个让深度学习惨败的通用人工智能领域——语境处理
一个让深度学习惨败的通用人工智能领域——语境处理

[2019-11-04]  Context是指用来解释一段给定文本或语句的来源框架,我们可以翻译为上下文或语境。维基百科将context定义为:*在符号学、语言学、社会学和 ...

智能机器人困惑的时候知道该问什么问题
智能机器人困惑的时候知道该问什么问题

[2017-03-20]   照片:Nick Dentamaro 布朗大学 上周,我们提到了麻省理工学院的一些研究,即通过链接人的大脑来帮助机器人在他们将要犯错误的时 ...

瑞士研发出微型机器人集群 可像蚂蚁一样互相交流并协同工作
瑞士研发出微型机器人集群 可像蚂蚁一样互相交流并协同工作

[2019-07-12]  EPFL(瑞士联邦理工学院)的研究人员受到了蚂蚁的启发,开发了一款仅有10克重的小型机器人:他们可以相互交流,分配角色并完成复杂的任务。 ...

科学家从蟑螂获得启发 教机器人更好地走路
科学家从蟑螂获得启发 教机器人更好地走路

[2017-12-11]  Weihmann指出:“我特别感到惊讶的是,动物运动稳定机制的变化与腿部协调的变化是一致的。昆虫的慢运行非常稳定,因为它的重心很低,三条腿总是以协调的方式运动。...

麻省理工最新机器人“装配工”未来可建造太空基地
麻省理工最新机器人“装配工”未来可建造太空基地

[2019-10-17]  两个机器人原型把一系列小单元组装成大结构体麻省理工学院科研人员最近提出一种新型机器人技术,即一种小型机器人系统,能够自主地用统一规 ...

通过对抗性图像黑入大脑
通过对抗性图像黑入大脑

[2018-03-02]  在上面的图片中,左边是一张猫的照片。在右边,你能分辨出它是同一只猫的图片,还是一张看起来相似的狗的图片?这两张图片之间的区别在于, ...

人工智能民主化能否实现取决于科技巨头
人工智能民主化能否实现取决于科技巨头

[2017-12-29]  我们经常听到像谷歌和微软这样的公司说他们希望人工智能民主化。这是一个很好的词,民主化。 但这些公司如何界定“民主化”还不清楚,像AI本身一样,它似乎有点炒作的味道...

本周栏目热点

盘点全球十大最具影响力的机器人摇篮

[1970-01-01]    人工智能(AI)研究现正迅速发展,如无人驾驶汽车、计算机在《危险边缘》智力竞赛节目中获胜、数字私人助手Siri、GoogleNow和语音助手C ...

深度学习反向传播算法(BP)原理推导及代码实现

[2017-12-19]  分析了手写字数据集分类的原理,利用神经网络模型,编写了SGD算法的代码,分多个epochs,每个 epoch 又对 mini_batch 样本做多次迭代计算。这其中,非常重要的一个步骤,......

如何在机器学习项目中使用统计方法的示例

[2018-07-23]  事实上,机器学习预测建模项目必须通过统计学方法才能有效的进行。在本文中,我们将通过实例介绍一些在预测建模问题中起关键作用的统计学方法。...

[2017-08-28]  模拟退火(Simulated Annealing,简称SA)是一种通用概率算法,用来在一个大的搜寻空间内找寻命题的最优解。1、固体退火原理:将固体加温 ...

Machine Learning-感知器分类算法详解

[2018-05-31]  今天我们来讲解的内容是感知器分类算法,本文的结构如下:什么是感知器分类算法,在Python中实现感知器学习算法,在iris(鸢尾花)数据集上训练一个感知器模型,自适应线性神......