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

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日刷,数组分区
下一篇:美海军研究实验室研发新型数据高效的机器学习算法
精选推荐
九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味
九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味

[2019-11-09]  本周,在麻省理工学院10号楼外草坪上展开了一场别开生面的足球比赛。在绿草如茵的基利安球场上,一群由人工智能驱动的机器人就是这场比赛的 ...

亚马逊计划建一个4000万美元的机器人中心
亚马逊计划建一个4000万美元的机器人中心

[2019-11-07]  爱吧机器人网消息,亚马逊11月6日宣布了一项计划,计划在美国马萨诸塞州韦斯特伯勒建立一个4000万美元、35万平方英尺的机器人创新中心。新 ...

[2017-03-21]  虽然有很多关于机器人取代工人的担心,但哈佛经济学家James Bessen的论文指出,在过去的67年里机器人仅仅淘汰掉人类工作中的一个。在1950 ...

从AI中窥探人性
从AI中窥探人性

[2018-01-03]  人们对人造智能的恐惧早已成为科幻书籍和电影的极好题材。但现在,一些同样的担忧开始影响关于现实世界AI技术的政策讨论。如果这样的担忧演变成为一种技术恐慌...

人工神经网络技术解码人类行为和想象时的大脑活动信号
人工神经网络技术解码人类行为和想象时的大脑活动信号

[2017-08-23]  为搜索引擎过滤信息,棋盘游戏对弈,识别图像 人工智能在某些任务中远远超过了人类智能。来自弗莱堡由神经科学家私人讲师Tonio Ball博士领导的几个杰出的BrainLinks-Bra......

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

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

深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

新型轻便机器人套装重5kg,辅助跑步和步行
新型轻便机器人套装重5kg,辅助跑步和步行

[2019-10-23]  虽然步行对大多数人来说似乎不是负担,但对有些人来说,这项简单的运动往往会让人感到筋疲力尽。比如手术或中风后恢复的患者、帕金森氏症患 ...

本周栏目热点

深度学习反向传播算法(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(鸢尾花)数据集上训练一个感知器模型,自适应线性神......

机器人是怎么深度学习的?

[2016-03-29]      一个人独处时,感觉有点孤单,怎么办?微软亚洲研究院推出的微软小冰,或许 ...