Mahout-mean shift

3.Mean Shift 聚类

 

Mean Shift 聚类原理

(1). 欧式空间 X 中,有一个有限点的集合 S 。 K 是一个 flat 核,即

 

简单说来, K 标记 x 是否在以原点为圆心,半径为 lamda 的球体内。

 

(2). 在 x 处的样本均值表示为

 

即在以 x 为圆心的球体内所有样本点的均值,而 m(x) –x 即是传说中的“均值飘移”,而 mean-shift 算法是一个迭代过程,每次迭代中用样本点所在球体内的样本均值代替原样本点(圆心),至“均值飘移”小于某阈值。听起来是不是有点似曾相识的感觉? Kmeans?

 

实际上, MeanShift 算法可以以下三种方式扩展成更通用的聚类算法:

(1). 使用其他 kernel

(2). 每个点可以赋予不同权重

(3). 可以在空间 X 的任意子集上进行飘移,而 S 保持不变

而且在某些限定条件下成为我们所熟知的一些聚类方法,比如最大熵、 Kmeans 等方法。同时 mean shift 还可以看成对数据密度的梯度估计,用于寻找概率密度函数的波峰,因此提供了一种无需指定聚类数量的更自然的聚类方法。有兴趣的看官可以看一下 PAMI 上两篇论文:《 Mean Shift, Mode Seeking, and Clustering 》和《 Mean Shift :A Robust Approach Toward Feature Space Analysis 》

 

mahout采用类似于Canopy聚类的方法的方法实现,使用MeanShiftCanopy对象表示mean shift的窗口(即球体或核函数),并使用Canopy聚类的T1表示球体的半径,T2表示两个canopy是否足够近而需要合并。

聚类过程如下:

       (1)初始化,每个数据点代表一个MeanShiftCanopy

       (2)根据T1计算每个Canopy的mean shift向量,表示其质心;任意两个Canopy质心距离小于T2,则合并之。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值