1 算法概述
1.1 无监督学习
本章算法区别于之前的机器学习算法,因为k-means算法属于无监督算法。监督学习的意思是所给的训练数据都带有标签,如类别等,我们在训练算法时,要考虑预测的结果是否拟合了训练数据中的标签,即好像受其监督一样,而无监督学习与监督学习的区别就在此,无监督学习的数据没有标签,没有人为的分类,就只是一堆数据,我们要做的是将这堆数据以某种我们不知道的内在特性分开,自动形成几个分类簇。
1.2 k-means工作原理
k-means聚类算法是发现给定数据集的k个簇的算法。簇个数k是用户给定的,每一个簇有一个质心(簇的中心点)。首先随机确定k个质心,然后将其余点分配到离它最近的簇中,完成后再讲每个簇的质心更新为簇的平均值。
1.3 衡量方法
k-means的k是一个用户预先定义的参数。那么我们如何衡量用该参数生成的簇比较好呢?一种度量方法是误差平方和(SSE),SSE越小表示数据点越接近它们的质心,聚类效果也越好。因为取了平方,所以更加重视远离中心的点。
1.4 局部最优解
有时我们的算法会出现局部最优解的情况,那么怎么解决它呢?有两个后处理的方法,第一种是合并最近的质心,第二种是合并两个使