手写 K-Means 向量化迭代聚类算法 (Live Coding: Vectorized K-Means in Pure Numpy) 是考察 MLE 工程师无监督学习理论、期望最大化 (EM) 迭代逻辑与 Numpy 高性能矩阵广播向量化能力的经典手撕题;算法包含两大核心交替步骤:1) E 步 (Expectation / 距离计算与簇分配): 计算
N 个样本与
K 个质心之间的欧氏距离矩阵
D∈RN×K(利用矩阵恒等式
∣x−c∣2=∣x∣2+∣c∣2−2xcT 实现零 Python 循环的高速广播向量化),将每个样本分配给最近的质心
rik=argminjDij;2) M 步 (Maximization / 质心更新): 重新计算每个簇内所有样本的均值坐标作为新质心
μk=∑irik∑i:rik=1xi;3) 迭代终止判定:当质心位移小于阈值
ϵ 或达到最大迭代轮数时收敛。