订阅
纠错
加入自媒体

人工智能之K-Means算法

2018-06-17 06:30
AI优化生活
关注

K-Means优点:

1)算法快速、简单

2)对大数据集有较高效率并且是可伸缩性的;

3)确定的K 个划分达到平方误差最小

4)时间复杂度近于线性,而且适合挖掘大规模数据集。K-Means聚类算法的时间复杂度是O(nkt) ,其中n代表数据集中对象的数量,t代表着算法迭代的次数,k代表着簇的数目,且k<<n,t<<n。

K-Means缺点:

1) 在K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的;

2) 在K-means 算法中,初始聚类中心的选择对聚类结果有较大影响,一旦初始值选择的不好,可能无法得到有效的聚类结果;

3) 从K-means 算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新聚类中心,因此当数据量非常大时,算法时间开销非常大

K-Means算法改进

1)针对K 值选定难以估计问题,通过类的自动合并和分裂,得到较为合理的类型数目 K,例如,ISODATA算法。

2)针对初始值选择不好无法得到有效聚类结果问题,可采用遗传算法GA(参见人工智能(28))进行初始化,以内部聚类准则作为评价指标。

3)针对算法时间开销大问题,采用对样本数据进行聚类,无论是初始点的选择还是一次迭代完成时对数据的调整,都是建立在随机选取样本数据的基础上,这样可以提高算法的收敛速度

K-Means应用场景:

K-means 算法具有快速、简单,对大数据集有较高效率和可伸缩性等优点,是最为经典,也是使用最为广泛的聚类算法。K-means算法在机器学习、知识发现和数据挖掘等领域得到广泛应用。

结语:

K-Means是聚类算法中最为简单、高效易于理解。K-Means算法采用误差平方和准则函数作为聚类准则函数。K-Means算法有其缺点,但大多缺点都可以克服,最大的优点就是算法复杂度低,可以在短时间内处理海量数据,这对于当今数据爆炸时代非常重要!K-Means算法在世界上广为流传,得到极大的关注。K-Means算法在机器学习、知识发现和数据挖掘等领域得到广泛应用。通过研究K-means算法,可以发现:一个真正伟大的算法不是因为它有多么复杂,而是它能够用最简单的原理解决最复杂的问题!

<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    人工智能 猎头职位 更多
    扫码关注公众号
    OFweek人工智能网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号