
上QQ阅读APP看书,第一时间看更新
5.2 K-Means算法的优点与缺点
K-Means算法是聚类算法中较为基础的一种,常常作为教学案例来说明聚类算法的思想和意义。
5.2.1 K-Means算法的优点
K-Means算法的优点是由其简单性所带来的,可以概括为以下三点。
第一,是解决聚类问题的一种经典算法,简单、快速。
第二,对处理大数据集,K-Means算法保持可伸缩性和高效率。
第三,当结果簇是密集的,K-Means算法的效果较好。
5.2.2 K-Means算法的缺点
正是由于K-Means算法的简单性,也随之带来了一系列的缺陷,可以概括为以下四点。
第一,K-Means算法属于“硬聚类”,即对样本的分类是非黑即白的。样本属于其中某一类,就不能属于另一类。对于此问题的改进有高斯混合算法和模糊K-Means等。
第二,K-Means算法中每一类中心点的位置容易受该类异常点影响,对噪声的免疫性差,因此产生了K-Centers算法,该算法在选择中心点时,不是简单将平均值作为中心点,而是选择离每类平均值最近的样本点作为中心点,避免了均值点容易受离群值干扰的问题。
第三,训练时必须指定应该把数据聚成几类,无法让系统自己判断类数。
第四,对于成团状的数据区分度好,对于成带状或环状的数据区分度不好。