【笔记】聚类算法总结

【笔记】聚类算法总结


聚类是无监督学习的代表,目的是将属性相似的样本归到同一类上去;

这里介绍一下常见的聚类算法:

1、K-means

k-means是非常经典的聚类算法:其算法思路如下:

  1. 手动定义k个类别,在数据集中选取k个点,作为每一类的中心点;
  2. 计算剩下的其他样本和这k个样本之间的距离,对于每一个样本点,将他归到和他距离最近的聚类中心所属的类;
  3. 计算每一类中所有点的均值,得到新的每一类的聚类中心;
  4. 重复2)和3)过程,知道样本分组不再发生改变;

分析一下:k-means算法思路非常简单,但有两个关键点要改进,第一,于如何选择这k个中心点,第二,初始聚类中心的选择;关于第一点,如果不知道样本集中有多少个类别,k值很难选择,关于第二点,则和算法收敛有关,好的聚类中心会减少迭代次数;众多改建算法都是围绕着这两点进行;

在这里插入图片描述

2、HAC层次凝聚

HAC也是一种比较经典的聚类算法,其主要思想如下:

  1. 先把每一个样本点归为一类,假设有n个样本,则一共有n个类;
  2. 计算类间的距离(方式有很多,可取最近,最远,找重心等),把距离最近的类进行归并,合成新的类;
  3. 重复2)过程,知道达到某个确定的收敛条件(比如,类别数达到初始10%, 或者类间距离大于某个设定的阈值)

分析一下:HAC算法的一个关键点在于,迭代条件如何选取,和k-means中的k值一样,需要一定的经验,具体问题具体分析;

在这里插入图片描述

3、最大最小距离聚类算法

这种方法的核心思想是先计算出聚类中心,再把所有的样本点按照就近原则,归到离自身最近的聚类中心所对应的类。最大最小是指在所有的最小距离中选取最大的。其主要的算法步骤如下:

  1. 随机选择一个点,作为第一个类的聚类中心 Z 1 Z1 Z1

  2. 选择与步骤 1 中距离最远的样本点,作为第二个类的聚类中心 Z 2 Z2 Z2

  3. 逐个计算每个点到所有聚类中心的距离,并把所有的最短的距离记录下来。

  4. 在这些最短距离中挑选最大的值,如果这个最大值大于 λ ∣ ∣ Z 1 − Z 2 ∣ ∣ \lambda ||Z1-Z2|| λZ1Z2 ,其中 0 ≤ λ ≤ 1 0\leq \lambda \leq 1 0λ1 ,那么将这个最大距离所对应的另一个样本点作为新的聚类中心;否则整个算法结束。

  5. 重复步骤 3 和 4 的操作,直到 4 中不再出现新的聚类中心。

  6. 将所有的样本归到与他自身最近的聚类中心。

参考资料

https://www.plob.org/article/12361.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值