知识点:K-均值聚类
知识点概述
K-均值聚类(K-Means)是一种经典的无监督学习算法,旨在将数据集划分为K个簇(Cluster),使得每个数据点都属于离它最近的簇中心。这是一个NP难的非凸优化问题,通常使用交替迭代的启发式算法求解。
详细解释
- 优化模型: 目标是最小化所有数据点到其所属簇中心的距离平方和(簇内平方和, WCSS): 其中 是第 个簇的集合, 是其中心。这是一个混合了离散(点的分配)和连续(中心的计算)变量的优化问题。
- 求解算法 (Lloyd’s Algorithm):
- 初始化: 随机选择K个数据点作为初始簇中心。
- 分配步骤 (Assignment Step): 将每个数据点分配给离它最近的簇中心。
- 更新步骤 (Update Step): 重新计算每个簇的中心,即簇内所有点的均值。 重复步骤2和3直到簇的分配不再改变或达到最大迭代次数。
- 性质:
- 算法保证收敛,因为每一步都会使目标函数值下降。
- 但由于问题是非凸的,算法只能收敛到局部最优解,最终结果对初始点的选择很敏感。
学习要点
- 理解K-Means的目标是最小化簇内平方和。
- 掌握Lloyd算法的交替迭代过程(分配-更新)。
- 认识到K-Means是一个非凸问题,其求解结果依赖于初始化。
实践应用
- 客户分群: 根据客户的购买行为、人口统计学特征等进行分组,以实现精准营销。
- 图像分割: 将图像中的像素根据颜色、纹理等特征聚类,以分割出不同的物体。
- 数据预处理: 作为其他学习算法的预处理步骤,例如用簇ID作为新的分类特征。
关联知识点
- 前置知识: 6-核心概念-连续和离散优化, 10-核心概念-凸和非凸优化
- 后续知识: 70-理论方法-分块坐标下降法
- 相关知识: 无