K-means算法学习笔记
本文为K-means算法的学习笔记
K-means算法
无监督学习、聚类
将数据集中的\(n\)个数据点分为\(K\)个clusters(簇),同一个簇中的数据点之间尽量相似,不同簇之间的数据点尽量不同
损失函数(cost function)
\[ J=\sum_{i=1}^K \sum_{x\in C_i} \Vert x-\mu_i\Vert^2 \]
其中\(C_i\)代表第\(i\)个簇的数据点集,\(\mu_i\)代表第\(i\)个簇中心。
最小化每个簇内的距离平方误差和。
算法流程
K-means算法流程 | |
---|---|
选择距离度量方法和\(K\)值 | |
1、初始化簇中心 | 随机选择\(K\)个数据点为初始簇中心 |
2 | 计算所有样本点到每个中心点的距离,并将样本点划分给离其最近的中心。 |
3 | 计算新的簇中样本点的平均值,将其作为新的簇中心 |
4 | 迭代2和3,直到达到迭代终止的条件(满足以下任一): (1)迭代次数达到了预先设置的最大迭代次数 (2)簇中心不再发生变化或变化小于预先设置的阈值 |
K-means算法学习笔记
http://example.com/2024/11/28/Kmeans算法/