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,则合并之。
分享到:
相关推荐
官方下载的mahout-distribution-0.9.tar.gz 因为下载速度实在太慢,所以分享出来,方便大家下载使用。mahout-distribution-0.9.tar.gz
mahout-0.9-cdh5.5.0.tar.gz
mahout-core-0.9.jar+mahout-core-0.8.jar+mahout-core-0.1.jar
mahout0.11版本,源码,可修改源码并自己编译,使用java语言编写,maven编译
mahout-distribution-0.9-src.zip
mahout-core-0.9.jar,支持版本hadoop-2.2.x,由mahout-distribution-0.9.tar.gz源码构建生成jar包。
mahout是用来做大数据推荐系统和机器学习使用的框架,这个工具包官网下载非常慢,下载了一夜终于下载到了,刚好够上传的
maven_mahout_template-mahout-0.8
mahout-distribution-0.5-src.zip mahout 源码包
mahout-integration-0.7mahout-integration-0.7mahout-integration-0.7mahout-integration-0.7
mahout-examples-0.10.1-job.jar 已经包含分词程序,替换掉mahout默认的jar包
mahout实战 源码 mahout实战 配套 mahout-distribution-0.5.tar.gz 版本
官方mahout-distribution-0.12.2-src.tar.gz
mahout-distribution-0.10.0-src.tar.gz
mahout中需要用到的一个版本jar包:mahout-core-0.3.jar
重新编译mahout-examples-0.9-job.jar,增加分类指标:最小最大精度、召回率。详情见http://blog.csdn.net/u012948976/article/details/50203249
mahout-distribution-0.9所含必备jar包,只有jar包,不含源代码。
apache-mahout-distribution-0.12.1.tar.gz 开源版本 .
mahout-math-0.8.jar mahout-math-0.8.jar
教你成功运行mahout的taste webapp例子,网上的很多资料说的不清楚,或者版本冲突。正确的版本是jdk1.6 maven3.0.5 mahout0.5 。 摸索良久,亲测有效!