下面是一些没有标签的点,外加 k 个可以拖到任意位置的中心标记。按下步进,依次观察两件事:先是每个点染上离它最近的那个中心的颜色,然后各个中心滑向刚刚选中它们的那些点的平均位置。这里没有任何东西是预先算好的。拖一个点,拖一个中心,改一改 k,再按一次步进,看它从你留下的任意局面重新整理这批数据。
在机器学习中的应用零标签的聚类在课堂之外随处可见。把顾客按购买行为分成几个群组,把图像里每个像素的颜色换成 k 种代表色中离它最近的一种来压缩图像,在任何标签存在之前先给数据集找一个粗略的初步分组,这些跑的都是同一个循环。 这套先指派、再移动的流程还预演了一个在机器学习里反复出现的模式:选一个说得过去的初始猜测,在两个更容易的更新之间交替,每一步都能证明不会让某个目标量变差,直到什么都不再变化就停下。本模块稍后会见到的高斯混合软聚类,正是对同一想法的细化:它允许一个点同时属于几个簇,而不是只挑一个。