用 AI 搬两颗 K-means 中心:第一次分好的点,下一轮还会换组
让AI给一组资料自动分群以后,只看到最终标签,很难知道分组是如何形成的。可以先用六个数字练习K-means:每一轮都保留中心与归属,观察一个点怎样在中心移动后换到另一组。
AI模型生成的概念插图:两组观测共同确定各自中心,连线表示归属关系;不代表软件截图、真实实验或精确数据图。
把初始中心故意放得不理想
数据为[0,2,3,9,10,12],取K=2,初始中心c₁=0、c₂=3,使用一维欧氏距离,若遇等距就归编号较小的中心。本组数据的实际迭代没有等距,规则仍先写出来。
第一轮按最近中心分配,0归第一组,2、3、9、10、12归第二组。重新求各组均值,得到新中心0和(2+3+9+10+12)/5=7.2。中心不必是原数据中已经存在的点,7.2正好提醒我们这一点。
第二轮使用新中心0与7.2重新分配。点2离两中心分别是2和5.2,因此换到第一组;点3的两距离是3和4.2,也换到第一组。现在两组成为[0,2,3]与[9,10,12],更新中心为5/3与31/3。
再做一轮分配,分组保持不变;均值也不变,本例才达到稳定。scikit-learn的算法说明把Lloyd迭代拆成最近中心分配与组内均值更新,二者交替进行,不能在第一次分组之后就永久锁定成员。
用平方距离总和复核过程
为了让每轮可比,统一记录“给定当前中心,完成最近分配后”的平方距离总和。初始中心[0,3]对应167;中心[0,7.2]对应47.12;稳定中心[5/3,31/3]对应28/3,约9.333333333。不要把一轮更新前的中心配上下一轮之前的旧标签,再和别的行混着比较。
最后两组各自的平方距离和都为14/3,总和为28/3。例如第一组偏差为[-5/3,1/3,4/3],平方和是(25+1+16)/9=14/3。这提供了一条不依赖迭代日志的独立验算路径。
让AI说明何时停止,以及没有保证什么
可用提示词:“对[0,2,3,9,10,12]做一维Lloyd K-means,K=2,初始中心[0,3]。逐轮写当前中心、每个点的两种距离、标签、新中心和当前最近分配的平方误差。等距归小编号;标签与中心同时稳定后停止。说明若出现空簇,为什么需要另定规则。”
稳定只说明这条迭代路径没有继续改变,不是一般情形下的全局最优证明。真实多维数据还要决定特征单位和缩放;把某一维从米改成厘米会改变距离权重。簇编号本身也没有业务含义,不能仅因为叫“第一组”,就解释成质量最好的一组。
资料核对日期:2026年10月2日。数值为原创教学设定,已用独立Python计算复核,不代表真实模型性能测试。


