机器学习-Kmeans聚类算法


=Start=

缘由:

想通过快速整理《机器学习实战》一书中出现过的各种机器学习算法的原理及其优缺点和适用范围来快速学习、了解常见的机器学习算法。

正文:

参考解答:
1、什么是聚类?

聚类分析简称聚类(clustering),是一个把数据集划分成子集的过程,每一个子集是一个簇(cluster),使得簇中的样本彼此相似,但与其他簇中的样本不相似。

聚类分析不需要事先知道样本的类别,甚至不用知道类别个数,因此它是一种无监督的学习算法,一般用于数据探索,比如群组发现和离群点检测,还可以作为其他算法的预处理步骤。

2、K-means聚类算法

K-means聚类算法,也被称为K-均值算法或K-平均算法,是一种被广泛使用的聚类算法。该算法的主要功能就是将所有输入的数据划分成为K个子集合,并且要求每个子集合内各个元素之间的差异性尽可能的小,而不同子集合的元素差异性尽可能的大。

3、K-means算法的实现步骤
  1. 从样本集合中随机抽取k个样本点作为初始簇的中心。
  2. 将每个样本点划分到距离它最近的中心点所代表的簇中。
  3. 用各个簇中所有样本点的中心点代表簇的中心点。
  4. 重复2和3,直到簇的中心点不变或达到设定的迭代次数或达到设定的容错范围。
4、聚类算法的性能评价指标
  • (簇内)误差平方和(within-cluster Sum of Squared Errors, SSE)——取值越小表示效果越好;
  • 轮廓分析(silhouette analysis)——取值在-1到1之间,越接近1表示效果越好。
5、K-means算法的优缺点
  • 优点:容易实现。
  • 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢。
  • 使用数据类型:数值型数据。
参考链接:

=END=


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注