聚类
定义: 无监督学习的典型代表,按照内在相似性将数据划分为多个类别,使得类内相似性大,类间相似性小。
应用场景: 用户分群,行为聚类,图像分割
K均值聚类
算法流程
- 从数据中随机挑选k个样本点作为原始的簇中心
- 计算剩余样本与簇中心的距离,并把各样本标记为离K个簇中心最近的类别
- 重新计算各簇中样本点的均值,并以均值作为新的K个簇中心
- 不断重复第二步和第三步,直到簇中心的变化趋于稳定,形成最终的K个簇
数据为二维,K为2时,K均值聚类算法的分类过程如图示
算法复杂度: 对于每次迭代(算法流程的第2和第3步),第2步的时间复杂度为O(kn),第3步的时间复杂度为O(n)。
K均值聚类目标函数
假设训练数据集为D
D = { x 1 , x 2 , . . . x n } 其 中 x i ∈ R d D=\left \{ x_{1},x_{2},...x_{n} \right \} 其中 x_{i}\in R^{d} D={
x1,x2,...xn}