聚类: 聚类就是将相似的对象聚在一起的过程。如总统大选,选择那部分容易转换立场的表决者,进行针对性的宣传,可以扭转局势。 聚类将相似的对象归到同一簇中,相似取决于相似度度量方法。 K-means聚类,可能收敛到局部最小值,在大规模数据集上收敛较慢。 K-means聚类:首先,随机确定k个初始点作为质心,将数据集中的每个点分配到一个簇中,即选择一个最近的质心进行分配,而后每个簇的质心更新为该簇所有点的平均值。 直到类间距离足够大,类内距离足够小。 随机初始化质心时,必须找到数据集的边界,通过找到数据集中每一维数据的最大和最小值,然后生成0-1之间的随机数并通过取值范围和最小值确保随机点在数据的边界之类。
用于度量聚类效果的指标可以是SSE(误差平方和)。我们可以通过增加簇的数量来减小SSE,若想要保持簇的总数不变,可以将某两个簇进行合并。 合并的方法:(1)合并最近的质心;(2)合并两个使得SSE增幅最小的质心,该方法必须在所有可能进行合并的簇之间做计算SSE。
二分K-means: 首先将所有点作为一个簇,然后将该簇一分为二,之后选择一个簇继续进行划分,选择哪一簇取决于 对其划分是否可以最大程度上降低SSE的值(类似于决策树的思想),不断划分,直到得到指定的簇的数目。
应用:对地图上的点进行聚类,从而用比较合理的大巴接送方案完成一个活动或一次旅行。 为出租车和乘客选择合适的候车点等。