人工智能之K-Means算法

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算法,可以发现:一个真正伟大的算法不是因为它有多么复杂,而是它能够用最简单的原理解决最复杂的问题!

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

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存