机器学习之聚类

在无监督学习中,训练样本的标记信息是未知的,目标是通过对无标记的训练样本的学习来揭示数据的内在性质和规律,如数据的聚类特征。聚类试图将数据集中的样本划分为若干个不相交的子集,每个子集称为一个簇。好的聚类结果呈现同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同,换言之,即簇内相似度高且簇间相似度低。

几种聚类算法:

K均值算法:

对于一个样本集,假定聚类数为3,算法开始,随机选取三个样本作为初始均值向量,计算所有数据样本与这三个样本的距离,根据最短距离的原理将当前所有数据样本划分为三个簇。从当前计算的三个簇中计算新的均值向量,更新初始的三个样本均值,并遍历所有样本数据,计算所有样本数据与当前均值的距离。就这样不断迭代,直到最后两轮的结果相同,即停止计算。得到最终的簇划分。

学习向量量化

学习向量量化LVQ,是假设数据样本带有类别标记。学习的过程利用样本的这些监督信息来辅助聚类。给定一个带有标记的样本集,算法随机选取一个有标记的训练样本,找出与其距离最近的原型向量,并根据两者的类别标记是否一致来对原型向量进行相应的更新。直到算法达到最大迭代轮数或原型向量更新很小甚至不再更新为止,则将当前原型向量当做最终结果返回。