聚类算法基本思想总结(kmeans,层次,meanshift,SOM, DBSCAN)

我又挖坑了,明明上一篇的问题还没说完 - -!

随便总结一下聚类算法的基本思想
假设对矩阵X聚类,X有m个样本,n维, 聚成k类

K-means

  1. 随机生成k个点(n维)
  2. 计算每一个样本到k个点的距离
  3. 样本i数据离他最近的一个点的那个类
  4. 计算这k个类的样本中心,成为新的k个点;
  5. repeat step 2 到 step 4 直至达到迭代次数或者新的点基本不动了

Hierachical clustering

  1. 计算所有样本之间的距离;
  2. 合并两个距离近的, 成为一个新的样本(组)
  3. 重新计算n-1个样本距离*,重复2,直到达到k个组

*计算组与组,或者组与样本的距离时,有如下选项

  1. average linkage:计算组均值与样本(或者另一组的均值)的距离
  2. single linkage:计算两个组最近的点的距离
  3. complete linkage: 计算两个组最远的点的距离
  4. ward.D:计算合并之后的ESS 和 没合并之前两组的ESS 之和 的差值;ESS就是计算组内每个点到中点的距离之和,也就是说越大组越散;
    在这里插入图片描述

Mean-shift

这个方法是一个类一个类的迭代;
1、在未被标记的数据点中随机选择一个点作为中心center;
2,以center为中心r为半径画一个圆,圆内的样本属于这个类的概率加1;
3,计算center到每个样本的的向量,将向量相加,得到一个向量shift
4,center往shift方向移动;
5,重复2,到4,一直到shift很小
6,如果收敛时当前簇c的center与其它已经存在的簇c2中心的距离小于阈值,那么把c2和c合并。否则,把c作为新的聚类,增加1类。
7、重复1至 6直到所有的点都被标记访问。
8、分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

SOM: 自组织映射

感觉这与其说是聚类方法,不如说是降维方法.因为它用一个网状的二维神经元节点来‘拟合’高维样本数据的结构
所以SOM与其他ANN的不同之处在于它使用一个邻近函数来保持输入空间的拓扑性质
算法:

  1. 假设我们先建立一个C*D的神经元网;每个神经节点的权重(n维)都被初始化。

  2. 从数据集中随机选择一个样本向量。 计算每个神经节点与这个样本的距离,距离最近的神经元作为获胜节点 (BMU)。

  3. 然后更新获胜神经元的权重,以及其邻域神经节点的权重。获胜的权重会变得更像样本向量。邻居也变得更像样本向量。节点离 BMU越近,它的权重改变得越多。这里邻域的定义是用二维空间神经节点之间的距离。根据邻域加权时(权重T),有一个随着时间增大而减少的参数σ
    在这里插入图片描述

  4. 重复步骤 2 进行 N 次迭代。直到特征映射趋于稳定。

  5. 聚类的话,样本被分到获胜的神经元那里?

这么看来,

  • 神经节点的权重向量其实就是二维空间到高维空间的映射
  • SOM上的神经节点,是在高维空间被扭曲以更接近样本,而投射到低维空间就是个二维矩阵;
  • SOM只是用二维神经的拓扑结构来模拟高维数据的空间结构,但是每个类可以分的并不准确,因为有的神经元可能是空的。

瞎胡想:感觉这个拓扑结构可以用cspline去优化??

DBSCAN

不需要定义聚类数,但需要两个参数,半径r和最小点数minpts
这个方法有几个定义,对每个样本以r为半径画圆:
1)core point:如果半径内有至少minpts个点,这个样本就是core point;
2)directly reachable point: 如果半径内少于minpts个点,但是和core point 相连;
3)reachable point:半径内少于minpts个点,但是和directly reachable point相连;
4)outlier: 什么也不连
根据这个定义,样本就被自动划分为若干个组,每个组至少有一个core point;

  1. 这个方法会找到各种形状的类,所以类不一定是凸的
  2. 这个方法会产生outlier

REFERENCE

https://medium.com/@abhinavr8/self-organizing-maps-ff5853a118d4
https://en.wikipedia.org/wiki/Self-organizing_map

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值