均值漂移(Meanshift)算法

均值漂移(Meanshift)算法理解

1.均值漂移的基本概念:沿着密度上升方向寻找聚簇点

设想在一个有N个样本点的特征空间

初始确定一个中心点center,计算在设置的半径为D的圆形空间内所有的点(xi)与中心点center的向量

计算整个圆形空间内所有向量的平均值,得到一个偏移均值

将中心点center移动到偏移均值位置

重复移动,直到满足一定条件结束

 均值漂移(Meanshift)算法_第1张图片

2.均值漂移运算:

2.1 Mean shift的基础公式:

偏移均值

M(x)=\frac{1}{k}*\sum \limits_{x_i\in S_h}$ (x$_{i}-x)

Sh:以x为中心点,半径为h的高维球区域; k:包含在Sh范围内点的个数; xi:包含在Sh范围内的点

中心更新

将中心点移动到偏移均值位置

 

 

 

Mt为t状态下求得的偏移均值;   xt为t状态下的中心

 

2.2 引入核函数的偏移均值:

核函数

核函数只是用来计算映射到高维空间之后的内积的一种简便方法,目的为让低维的不可分数据变成高维可分。利用核函数,可以忽略映射关系,直接在低维空间中完成计算。

引入核函数的偏移均值

在均值漂移中引入核函数的概念,能够使计算中距离中心的点具有更大的权值,反映距离越短,权值越大的特性。改进的偏移均值:

均值漂移(Meanshift)算法_第2张图片

其中,x为中心点;xi为带宽范围内的点;n为带宽范围内的点的数量;g(x)为对核函数的导数求负

 

3.均值漂移的应用:

聚类(K均值聚类)

图像分割(将图像映射到特征空间,对采样点进行均值漂移聚类)

对象轮廓检验(光线传播算法)

目标跟踪(求解最优化Bhattacharya系数函数)

 

4.均值漂移运算步骤:

 

1、在未被分类的数据点中随机选择一个点作为中心点;

 

2、找出离中心点距离在带宽之内的所有点,记做集合M,认为这些点属于簇c。

 

3、计算从中心点开始到集合M中每个元素的向量,将这些向量相加,得到偏移向量。

 

4、中心点沿着shift的方向移动,移动距离是偏移向量的模。

 

5、重复步骤2、3、4,直到偏移向量的大小满足设定的阈值要求,记住此时的中心点。

 

6、重复1、2、3、4、5直到所有的点都被归类。

 

7、分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。

 

你可能感兴趣的:(概念理解,偏移均值,核聚类,meanshift,均值漂移)