Mean Shift基础知识

      Mean Shift在几年前大火,但是目前好像退温了。有的中文译为均值漂移,有的译为均值偏移,我还是坚持我的作风,不译。(有很多东西看了都忘记了,写在这里需要的时候复习,^_^)

      给定d维空间clip_image002中的n个样本点,i=1,…,n,在clip_image006点的Mean Shift向量的基本形式定义为:

      clip_image008

      其中,clip_image002[4]是一个半径为h的高维球区域,满足以下关系的y点的集合,

      clip_image002[6]

      k表示在这n个样本点中,有k个点落入clip_image004[4]区域中。

      我们可以看到clip_image002[10]是样本点clip_image004[6]相对于点的偏移向量,Mean Shift向量clip_image008[5]就是对落入区域clip_image010中的k个样本点相对于点clip_image011的偏移向量求和然后再平均。从直观上看,如果样本点clip_image012从一个概率密度函数clip_image014中采样得到,由于非零的概率密度梯度指向概率密度增加最大的方向,因此从平均上来说,clip_image010[1]区域内的样本点更多的落在沿着概率密度梯度的方向。因此,对应的Mean Shift向量clip_image008[6]应该指向概率密度梯度的方向。

      Mean Shift基础知识_第1张图片

      如上图所示,大圆圈所圈定的范围就是clip_image002[14],小圆圈代表落入clip_image002[15]区域内的样本点clip_image004[8],黑点就是Mean Shift的基准点clip_image006[6],箭头表示样本点相对于基准点的偏移向量。很明显的,我们可以看出,平均的偏移向量clip_image008[9]会指向样本分布最多的区域,也就是概率密度函数的梯度方向。

      也就是说,MS就是计算均值沿梯度方向跑了多少,那么光这样计算还不够准确,还要加入一个核函数才能NB。

      核函数:

      定义clip_image002[18]代表一个d维的欧氏空间,是该空间中的一个点,用一列向量表示。clip_image004[11]的模,clip_image008[11]表示实数域。如果一个函数clip_image010[6]存在一个剖面函数clip_image012[4],即

       

      并且满足:

      (1) 是非负的。

      (2) clip_image016[1]是非增的,即如果clip_image018那么clip_image020

      (3) clip_image016[2]是分段连续的,并且clip_image022

      那么,函数clip_image024就被称为核函数。

      例如:

      Mean Shift基础知识_第2张图片

     

      Mean Shift基础知识_第3张图片

      一般的说来,离clip_image002[25]越近的采样点对估计clip_image002[26]周围的统计特性越有效,因此我们引进核函数的概念。加入核函数后,

     

      其中:

      clip_image002[23]

      clip_image004[15]是一个单位核函数,

     是一个正定的对称clip_image008[13]矩阵,我们一般称之为带宽矩阵,

      是一个赋给采样点的权重。

      在实际应用的过程中,带宽矩阵clip_image002[29]一般被限定为一个对角矩阵clip_image004[17],甚至更简单的被取为正比于单位矩阵,即clip_image006[15]。由于后一形式只需要确定一个系数clip_image008[15],则可以将公式写为:

     

     

      clip_image002[39]

     

      算法步骤:

      (1)计算

      (2)把clip_image002[34]赋给clip_image004[19]

      (3)如果clip_image006[17],束循环;若不然,继续执行(1)。

你可能感兴趣的:(算法)