码迷,mamicode.com
首页 > 其他好文 > 详细

Meanshift推导

时间:2016-08-05 17:39:06      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:

给定d维空间Rd的n个样本点 ,i=1,…,n,在空间中任选一点x,那么Mean Shift向量的基本形式定义为:                             

技术分享

 Sk是一个半径为h的高维球区域,满足以下关系的y点的集合,

技术分享

k表示在这n个样本点xi中,有k个点落入Sk区域中.

以上是官方的说法,即书上的定义,我的理解就是,在d维空间中,任选一个点,然后以这个点为圆心,h为半径做一个高维球,因为有d维,d可能大于2,所以是高维球。落在这个球内的所有点和圆心都会产生一个向量,向量是以圆心为起点落在球内的点位终点。然后把这些向量都相加。相加的结果就是Meanshift向量。

如图所以。其中黄色箭头就是Mh(meanshift向量)。

技术分享

再以meanshift向量的终点为圆心,再做一个高维的球。如下图所以,重复以上步骤,就可得到一个meanshift向量。如此重复下去,meanshift算法可以收敛到概率密度最大得地方。也就是最稠密的地方。

技术分享

最终的结果如下:

技术分享

Meanshift推导:

 把基本的meanshift向量加入核函数,核函数的性质在这篇博客介绍:http://www.cnblogs.com/liqizhou/archive/2012/05/11/2495788.html

那么,meanshift算法变形为技术分享

                                                         (1)

解释一下K()核函数,h为半径,Ck,d/nhd  为单位密度,要使得上式f得到最大,最容易想到的就是对上式进行求导,的确meanshift就是对上式进行求导.技术分享

(2)             

令:

技术分享

K(x)叫做g(x)的影子核,名字听上去听深奥的,也就是求导的负方向,那么上式可以表示

技术分享

对于上式,如果才用高斯核,那么,第一项就等于fh,k技术分享

第二项就相当于一个meanshift向量的式子:

技术分享

 那么(2)就可以表示为技术分享

下图分析技术分享的构成,如图所以,可以很清晰的表达其构成。

技术分享

要使得技术分享=0,当且仅当技术分享=0,可以得出新的圆心坐标:技术分享

                          (3) 

 

Meanshift推导

标签:

原文地址:http://www.cnblogs.com/annie1164/p/5742074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!