原型聚类(k 均值、学习向量量化、高斯混合聚类)

算法释义

原型聚类算法假设聚类结构可以通过一组原型刻画,通常算法选会对原型进行初始化,然后对原型进行迭代更新求解。不同的原型表示和不同的求解方式会产生不同的算法。下面主要介绍三种典型的原型聚类算法:k 均值、学习向量量化 和 高斯混合聚类。

k 均值

k 均值算法的目标是通过设立 k 个原型,将训练集划分成 k 簇,然后最小化簇中实例和对应原型的欧氏距离,即:
《原型聚类(k 均值、学习向量量化、高斯混合聚类)》

最小化上式并不容易,并且上式已被证明是一个 NP-hard 问题,因此 k 均值算法采用了一种“贪心”策略,通过迭代优化来求近似解。

算法步骤

输入:训练集 D,聚类簇数量 k
输出:k 个均值向量
(1) 初始化均值向量:从训练集 D 中随机抽取 k 个样本作为初始化均值向量;
(2) 聚类划分:对训练集 D 中每个样本分别计算其离各个均值向量的欧氏距离,将样本划分到距离最小的那一簇;
(3) 重置均值向量:对每个簇,按照极大似然估计的思想,计算其均值向量,作为该簇的均值向量;
(4) 迭代求解:迭代 (2)、(3) 直至均值向量未发生变化或者迭代次数到达上限为止,返回均值向量。

学习向量量化

与 k 均值算法不同,学习向量量化(LVQ)的学习过程中会利用样本的类别信息,所以 LVQ 是一种监督式的聚类算法。其目标是学得一组原型向量,每一个原型向量代表一个聚类簇标记。

算法步骤

输入:训练集 D,聚类簇数量 p
输出:p 个原型向量
(1) 初始化原型向量;
(2) 计算距离:在训练集 D 中随机抽取一个样本 xj,分别计算该样本与各个原型向量间的距离,然后找出最近的原型向量 pi
(3) 重置均值向量:如果样本 xj 与原型向量 pi 的类别相同,则让原型向量靠近样本xj ,否则远离:
《原型聚类(k 均值、学习向量量化、高斯混合聚类)》

(4) 迭代求解:迭代 (2)、(3) 直至原型向量更新很小或者迭代次数到达上限为止。返回原型向量。

高斯混合聚类

pass

参考文献

《机器学习》,周志华

    原文作者:前端开发
    原文地址: https://www.jianshu.com/p/d67e4a0d5290
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞