顾名思义,k均值聚类是一种对数据进行聚类的技术,即将数据分割成指定数量的几个类,揭示数据的内在性质及规律。
我们知道,在机器学习中,有三种不同的学习模式:监督学习、无监督学习和强化学习:
监督学习,也称为有导师学习,网络输入包括数据和相应的输出标签信息。例如,在 MNIST 数据集中,手写数字的每个图像都有一个标签,代表图片中的数字值。
强化学习,也称为评价学习,不给网络提供期望的输出,但空间会提供给出一个奖惩的反馈,当输出正确时,给网络奖励,当输出错误时就惩罚网络。
无监督学习,也称为无导师学习,在网络的输入中没有相应的输出标签信息,网络接收输入,但既没有提供期望的输出,也没有提供来自环境的奖励,神经网络要在这种情况下学习输入数据中的隐藏结构。无监督学习非常有用,因为现存的大多数数据是没有标签的,这种方法可以用于诸如模式识别、特征提取、数据聚类和降维等任务。
k 均值聚类是一种无监督学习方法。
还记得哈利波特故事中的分院帽吗?那就是聚类,将新学生(无标签)分成四类:格兰芬多、拉文克拉、赫奇帕奇和斯特莱林。
人是非常擅长分类的,聚类算法试图让计算机也具备这种类似的能力,聚类技术很多,例如层次法、贝叶斯法和划分法。k 均值聚类属于划分聚类方法,将数据分成 k 个簇,每个簇有一个中心,称为质心,k 值需要给定。
k 均值聚类算法的工作原理如下:
随机选择 k 个数据点作为初始质心(聚类中心)。
将每个数据点划分给距离