机器学习转录组RNA 转录组学Transcriptomics

聚类算法原理

2018-05-19  本文已影响23人  Thinkando

7月算法学习笔记

前言

1 聚类算法思想

2 K-means聚类

2.1 K-means聚类算法
  1. 是聚类中心不再有变化
  2. 是每个样本到对应聚类中心的距离之和不再有很大变化。


    比如这个样本点要聚成2类,先随机初始化两个中心点。
    计算距离,分类:对原始数据中的每个样本点,分别计算到两个中心点的距离,样本点离哪个中心的距离近,就分到相应的类别中
    重新计算中心点:把蓝色点的位置的平均值作为蓝色的中心点,同理红色。
    迭代:重新计算距离分类,重新计算中心点,直到达到了收敛条件。
2.2 初始化中心的选择
  1. 初始第一个聚类中心为某个样本点,初始第二个聚类中心为离它最远的点,第三个为离它俩最远的…
  2. 多初始化几遍,选所有这些聚类中损失函数(到聚类中心和)最小的。


    损失函数越低,说明混乱度越低,分类的越好
  3. 使用优化的初始化聚类方法。例如Arthur 和 Vassilvitskii 提出的Kmeans++,会找最远的一些点初始化。
2.3 K值的选择
2.4 K-means局限性
  1. 属于“硬聚类” , 每个样本只能有一个类别。 其他的一些聚类方法(GMM或者模糊K-means允许“软聚类”)。
  2. K-means对异常点的“免疫力” 很差, 我们可以通过一些调整,比如中心不直接取均值, 而是找均值最近的样本点代替——k-medoids算法。
  3. 对于团状的数据点集区分度好, 对于带状(环绕)等“非凸”形状不太好。 (用谱聚类或者做特征映射)


    image.png

3 层次聚类 (生物信息学常用)

4 K-means VS 层次聚类?

  1. K-means这种扁平聚类产出一个聚类结果(都是独立的)
  2. 层次聚类能够根据你的聚类程度不同,有不同的结果
  3. K-means需要指定聚类个数K,层次聚类不用
  4. K-means比层次聚类要快一些(通常说来)

5 混高斯模型 (GMM)

6. 总结对比

image.png

7. 参考文献

  1. https://blog.csdn.net/JoyceWYJ/article/details/51732708
上一篇 下一篇

猜你喜欢

热点阅读