开发者学堂课程【高校精品课-华东师范大学-人工智能基础:K-Means 算法性能评价】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/920/detail/15584
K-Means 算法性能评价
聚类算法的技术标准和性能评价
聚类算法的流程是首先随机选取K个样本作为初始聚类中心。然后通过距离函数计算每个样本到各个聚类中心的距离。把样本划分给最近的聚类中心。
接下来,重新计算新的聚类中心,并将所有样本重新分配到各聚类中心。聚类的结束条件通常是聚类中心和划分方式不再变化。
然而,有时聚类中心和划分方式比较难固定。很难在有限时间内达到最优分配方案,这时就需要手工设定聚类的结束条件。如聚类时间、迭代次数达到指定的误差范围的。从聚类目标的角度来看,可以用聚类平方和来体现聚类的效果。
聚类平方和是这样计算,公式中,假设数据集 X 包含 N 个数据点。需要划分到K个类。类中心用集合u表示,聚类后所有数据点到各自聚类中心的距离的平方和为聚类平方和用J表示,
距离的度量手段有很多种,如常用的欧式距离、曼哈顿距离等。
例如图中这个簇,簇内的每个样本与簇中心求距离,并计算平方。关于距离的计算。不同维度的向量计算有各自的计算方式。
例如,一维空间样本数据直接做减法,二维空间可以使用样本间的欧氏距离的距离。如果是多维空间,这个距离可以用样本向量间的距离来计算。对于所有的簇,其中的每个样本都这样计算。最后将所得的距离的平方进行加和,这个总的加和就是J值。
聚类目标是使得J值最小化。也可以设定J值作为聚类结束的标准。例如,在某次迭代前后J值没有发生变化,这说明簇的分配不再发生变化,算法已经收敛。