参考自:
简介
K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据集聚类成不同的组。
K-均值是一个迭代算法,假设我们想要将数据聚类成n个组,其方法为:
- 首先选择K个随机的点,称其为聚类中心
- 对于数据集中的每一个数据,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一个中心点关联的所有点聚成一个类
- 计算每一个组的平均值,将该组所关联的中心点移动到平均值的位置
- 重复步骤2-3,直到中心点不再变化
这个过程中分两个主要步骤,第一个就是第二步,将训练集中的样本点根据其与聚类中心的距离,分配到距离最近的聚类中心处,接着第二个就是第三步,更新类中心,做法是计算每个类的所有样本的平均值,然后将这个平均值作为新的类中心值,接着继续这两个步骤,直到达到终止条件,一般是指达到设定好的迭代次数。
当然在这个过程中可能遇到有聚类中心是没有分配数据点给它的,通常的一个做法是删除这种聚类中心,或者是重新选择聚类中心,保证聚类中心数还是初始设定的K个。
优化目标
K-均值最小化问题,就是最小化所有的数据点与其所关联的聚类中心之间的距离之和,因此K-均值的代价函数(又称为畸变函数)为:
J(c(1),c(2),…,c(m),μ1,μ2,…,μm)=1m∑mi=1||x(i)−

K-均值是最常见的聚类算法,通过迭代寻找使数据点与聚类中心距离之和最小化的分类。该算法涉及随机初始化聚类中心,然后不断更新直到收敛。其优点包括简单快速,适用于球状簇,但缺点是对初始值敏感,不适合非凸簇,并对噪声敏感。
最低0.47元/天 解锁文章
10万+

被折叠的 条评论
为什么被折叠?



