K-Means算法
K-Means算法是一种无监督学习算法,用于聚类分析。其基本思想是将数据集分成K个簇(cluster),每个簇代表一个类别。每个簇有一个中心点,称为质心(centroid)。
算法步骤:
-
随机选择K个质心(可以从数据集中随机选取K个样本作为质心)。
-
对于每个样本,计算其到每个质心的距离,将该样本归为距离最近的质心所在的簇。
-
对于每个簇,重新计算其质心,即所有样本的平均值。
-
重复执行步骤2和3,直到簇不再发生变化或达到预设的最大迭代次数。
K-Means的优点:
-
简单、易于实现。
-
适用于大规模数据集。
-
聚类效果较好。
K-Means的缺点:
-
对初始质心的选择较为敏感,可能会得到不同的结果。
-
对离群点(outlier)较为敏感。
-
对于非球形的簇结构效果较差。
改进方法:
-
K-Means++:改进质心的初始化方法,使其更加均匀地分布在数据集中。
-
MiniBatch K-Means:使用随机梯度下降法进行优化,加快了算法的收敛速度。
-
DBSCAN、Mean Shift等聚类算法:适用于非球形的簇结构。
原文地址: https://www.cveoy.top/t/topic/bSC0 著作权归作者所有。请勿转载和采集!