机器学习7. 常用聚类方法
-
目录:
- K-means
- GMM
- MeanShift
- 层次聚类
-
K-means:
- 确定聚类个数,随机选择K个点作为初始聚类中心
- 计算各样本到K个聚类中心的距离,将该样本归为距离最近的一类。距离可用欧氏距离。
- 对每个类别内部的样本,使用其均值作为新的聚类中心。反复迭代上述过程。
-
GMM:
- 确定聚类个数,随机初始化分布的均值和协方差(也可使用其他聚类算法作为初始值)
- 对混合概率分布做极大似然估计,在这部分需要使用EM算法。参数估计过程请见EM算法专辑。
- 对每个样本,使用其后验概率最大的一类作为聚类结果。
-
MeanShift:【参数,半价r的大小】
- 该方法是一种基于滑动窗口和质心的聚类算法
- 对于高维空间上的一个点,计算在半价一定下,高维球包含的样本集合。
- 对以上样本集合计算均值偏移向量:
- 将当前质心移动上述距离,得到新的聚类中心
- 特点:
- 无需提前决定聚类个数,因为聚类中心最终会聚集到一起
- 可以多聚类中心并行计算
- 半价大小会极大影响模型性能
- 层次聚类
- 自底向上建立聚类结果,每次寻找样本空间中距离最小的两个样本聚为一类,聚类中心就是他们的均值。删掉聚类的样本,更新聚类中心后放到数据集里面。
- 聚类的过程其实就是样本减少的过程。直到所有样本归为一类,结束算法。然后人为的选择想要使用的聚类个数(就是右图横着切一刀,你想要几个聚类个数就切几根线。)