本博客主要用于本人重新复习知识点,所有参考列在文尾。如有错误,希望一起交流。
基础知识
k-means 聚类是基于样本集合划分的聚类算法。属于硬聚类。
- 具体:将样本集合划分为k个子集,构成k个类,每个样本到其所属的类中心的距离最小。
- k个聚类特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。
- k-means算法的基础:最小误差平方和准则
- 迭代算法,不能保证得到全局最优
1. 模型
- k-means 聚类的目标:将n个样本分到k个不同的类或者簇中,假设 k < n k<n k<n.
- k-means 聚类的模型是一个从样本到类的函数: l = C ( i ) l=C(i) l=C(i),其中 i i i 表示每一个样本(共n个), l l l 表示每一个类别(共k个)。
2. 策略
k-means 聚类的策略:通过损失函数的最小化选取最优的划分或函数 C ∗ C^* C∗.
样本之间的距离定义为欧氏距离平方: d ( x i , x j ) = ∑ k = 1 m ( x k i − s k j ) 2 = ∣ ∣ x i − x j ∣ ∣ 2 d(x_i,x_j)=\sum \limits_{k=1}^m(x_{ki}-s_{kj})^2=||x_i-x_j||^2 d(xi,xj)=