机器学习的k均值聚类(k-means)算法
发布时间
阅读量:
阅读量
一、基本原理
分类过程是指基于标注数据的分类器,在经过训练后能够识别并归类未知数据集中的样本。该过程被称为监督学习。若训练集中的样本均为未标记数据,则需要采用聚类技术进行分析。聚类技术通过计算数据之间的相似程度将它们分组。
聚类过程是依据"物以类聚"这一原则对未预先分类的样本数据按相似性划分为若干群体,并将这些数据对象被组织成一个称为簇的数据集合的过程。其主要目标是确保同一簇内的样本具有较高的相似度,并且不同簇之间的样本具有显著差异性特征。与分类方法不同,在聚类分析中无需预先确定具体的类别数量及其特征;同时也不需先设定明确的距离或相似性度量标准来划分群组。
在聚类算法领域中广泛使用的是一种称为k-means的方法,在这种算法中参数k代表聚类的数量。根据聚类的基本原理, 一个样本应该与其所属群组中心的距离是最短的(与之相比与其他(k-1)个群组相比)。用于表示这些群组最简单有效的办法是计算所有样本点的平均值即所谓的群组中心或质心, 这种方法因此得名为means算法
二、算法流程
1)随机选取k个初始点作为质心
2)计算每个点到k个质心的距离,并将其分给距离最近的质心所对应的簇
3)更新每个簇的质心,直到簇分配不发生改变为止
伪代码表示如下:
创建k个点作为起始质心(可以随机选择)
当任意一个点的簇分配结果发生改变时
对数据集中的每个数据点
对每个质心
计算质
全部评论 (0)
还没有任何评论哟~
