K-均值(K-means)是一种经典的无监督机器学习聚类算法,由MacQueen于1967年首次提出[1]。该算法旨在将包含n个数据点的数据集X = { x₁, x₂, ..., xₙ}划分成K个不相交的簇C = {C₁, C₂, ..., Cₖ},使得簇内平方和(Within-Cluster Sum of Squares, WCSS)最小化。
算法数学描述
K-means算法的目标是最小化以下目标函数:
J = ∑ᵢ₌₁ᴷ ∑ₓ∈Cᵢ ||x - μᵢ||²
其中:
- μᵢ 是第i个簇的质心(centroid)
- ||x - μᵢ||² 表示数据点x与质心μᵢ之间的欧几里得距离的平方
算法工作流程
1. 初始化阶段
选择K个初始聚类中心点μ₁⁽⁰⁾, μ₂⁽⁰⁾, ..., μₖ⁽⁰⁾。常用的初始化方法包括:
- 随机初始化
- K-means++初始化[2]:选择彼此距离较远的初始中心点
2. 分配步骤(Assignment Step)
对于每个数据点xⱼ,将其分配到最近的簇:
cⱼ⁽ᵗ⁾ = arg min₁≤ᵢ≤ₖ ||xⱼ - μᵢ⁽ᵗ⁻¹⁾||²
其中cⱼ⁽ᵗ⁾

最低0.47元/天 解锁文章
10万+

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



