1、高斯混合模型详解聚类的方法有很多种,k-means 要数最简单的一种聚类方法了,其大致思想就是把数据分为多个堆,每个堆就是一类。每个堆都有一个聚类中心(学习的结果就是获得这 k 个聚类中心),这个中心就是这个类中所有数据的均值,而这个堆中所有的点到该类的聚类中心都小于到其他类的聚类中心(分类的过程就是将未知数据对这 k 个聚类中心进行比较的过程,离谁近就是谁)。其实 k-means 算的上最直观、最方便理解的一种聚类方式了,原则就是把最像的数据分在一起,而“像”这个定义由我们来完成,比如说欧式距离的最小,等等。想对 k-means 的具体算法过程了解的话,请看这里。而在这篇博文里,我要介绍的是
2、另外一种比较流行的聚类方法-GMM(Gaussian Mixture Model)。GMM 和 k-means 其实是十分相似的,区别仅仅在于对 GMM 来说,我们引入了概率。说到这里,我想先补充一点东西。统计学习的模型有两种,一种是概率模型,一种是非概率模型。所谓概率模型,就是指我们要学习的模型的形式是 P(Y|X),这样在分类的过程中,我们通过未知数据 X 可以获得 Y 取值的一个概率分布,也就是训练后模型得到的输出不是一个具体的值,而是一系列值的概率(对应于分类问题来说,就是对应于各个不同的类的概率),然后我们可以选取概率最大的那个类作为判决对象(算软分类 soft assignment
3、)。而非概率模型,就是指我们学习的模型是一个决策函数 Y=f(X),输入数据 X 是多少就可以投影得到唯一的一个 Y,就是判决结果(算硬分类 hard assignment)。回到 GMM,学习的过程就是训练出几个概率分布,所谓混合高斯模型就是指对样本的概率密度分布进行估计,而估计的模型是几个高斯模型加权之和(具体是几个要在模型训练前建立好)。每个高斯模型就代表了一个类(一个 Cluster)。对样本中的数据分别在几个高斯模型上投影,就会分别得到在各个类上的概率。然后我们可以选取概率最大的类所为判决结果。得到概率有什么好处呢?我们知道人很聪明,就是在于我们会用各种不同的模型对观察到的事物和现象
4、做判决和分析。当你在路上发现一条狗的时候,你可能光看外形好像邻居家的狗,又更像一点点女朋友家的狗,你很难判断,所以从外形上看,用软分类的方法,是女朋友家的狗概率 51%,是邻居家的狗的概率是 49%,属于一个易混淆的区域内,这时你可以再用其它办法进行区分到底是谁家的狗。而如果是硬分类的话,你所判断的就是女朋友家的狗,没有“多像”这个概念,所以不方便多模型的融合。从中心极限定理的角度上看,把混合模型假设为高斯的是比较合理的,当然也可以根据实际数据定义成任何分布的 Mixture Model,不过定义为高斯的在计算上有一些方便之处,另外,理论上可以通过增加Model 的个数,用 GMM 近似任何概
5、率分布。混合高斯模型的定义为:其中 K 为模型的个数,k 为第 k 个高斯的权重,则为第 k 个高斯的概率密度函数,其均值为 k,方差为 k。我们对此概率密度的估计就是要求 k、k 和 k 各个变量。当求出的表达式后,求和式的各项的结果就分别代表样本 x 属于各个类的概率。在做参数估计的时候,常采用的方法是最大似然。最大似然法就是使样本点在估计的概率密度函数上的概率值最大。由于概率值一般都很小,N 很大的时候这个联乘的结果非常小,容易造成浮点数下溢。所以我们通常取 log,将目标改写成:也就是最大化 log-likely hood function,完整形式则为:一般用来做参数估计的时候,我们
6、都是通过对待求变量进行求导来求极值,在上式中,log 函数中又有求和,你想用求导的方法算的话方程组将会非常复杂,所以我们不好考虑用该方法求解(没有闭合解)。可以采用的求解方法是 EM 算法 将求解分为两步:第一步是假设我们知道各个高斯模型的参数(可以初始化一个,或者基于上一步迭代结果),去估计每个高斯模型的权值;第二步是基于估计的权值,回过头再去确定高斯模型的参数。重复这两个步骤,直到波动很小,近似达到极值(注意这里是个极值不是最值,EM 算法会陷入局部最优)。具体表达如下:1、对于第 i 个样本 xi 来说,它由第 k 个 model 生成的概率为:在这一步,我们假设高斯模型的参数和是已知的
7、(由上一步迭代而来或由初始值决定)。(E step)(M step)3、重复上述两步骤直到算法收敛(这个算法一定是收敛的,至于具体的证明请回溯到 EM 算法中去,而我也没有具体关注,以后补上)。最后总结一下,用 GMM 的优点是投影后样本点不是得到一个确定的分类标记,而是得到每个类的概率,这是一个重要信息。GMM 每一步迭代的计算量比较大,大于 k-means。GMM 的求解办法基于 EM 算法,因此有可能陷入局部极值,这和初始值的选取十分相关了。GMM 不仅可以用在聚类上,也可以用在概率密度估计上。第二篇:高斯混合模型的介绍高斯模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,将一个
8、事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。 对图像背景建立高斯模型的原理及过程:图像灰度直方图反映的是图像中某个灰度值出现的频次,也可以以为是图像灰度概率密度的估计。如果图像所包含的目标区域和背景区域相差比较大,且背景区域和目标区域在灰度上有一定的差异,那么该图像的灰度直方图呈现双峰-谷形状,其中一个峰对应于目标,另一个峰对应于背景的中心灰度。对于复杂的图像,尤其是医学图像,一般是多峰的。通过将直方图的多峰特性看作是多个高斯分布的叠加,可以解决图像的分割问题。 在智能监控系统中,对于运动目标的检测是中心内容,而在运动目标检测提取中,背景目标对于目标的识别和跟踪至关重要。而
9、建模正是背景目标提取的一个重要环节。我们首先要提起背景和前景的概念,前景是指在假设背景为静止的情况下,任何有意义的运动物体即为前景。建模的基本思想是从当前帧中提取前景,其目的是使背景更接近当前视频帧的背景。即利用当前帧和视频序列中的当前背景帧进行加权平均来更新背景,但是由于光照突变以及其他外界环境的影响,一般的建模后的背景并非十分干净清晰,而高斯混合模型(GMM,Gaussian mixture model)是建模最为成功的方法之一,同时 GMM 可以用在监控视频索引与检索。混合高斯模型使用 K(基本为 3 到 5 个)个高斯模型来表征图像中各个像素点的特征 ,在新一帧图像获得后更新混合高斯模
10、型,用当前图像中的每个像素点与混合高斯模型匹配, 如果成功则判定该点为背景点, 否则为前景点。通观整个高斯模型,他主要是由方差和均值两个参数决定,对均值和方差的学习,采取不同的学习机制,将直接影响到模型的稳定性、精确性和收敛性。由于我们是对运动目标的背景提取建模,因此需要对高斯模型中方差和均值两个参数实时更新。为提高模型的学习能力,改进方法对均值和方差的更新采用不同的学习率; 为提高在繁忙的场景下 ,大而慢的运动目标的检测效果 ,引入权值均值的概念,建立背景图像并实时更新,然后结合权值、权值均值和背景图像对像素点进行前景和背景的分类。具体更新公式如下:建模过程中,我们需要对混合高斯模型中的方差
11、、均值、权值等一些参数初始化,并通过这些参数求出建模所需的数据,如马兹距离。在初始化过程中,一般我们将方差设置的尽量大些(如 15) ,而权值则尽量小些(如 0.001) 。 这样设置是由于初始化的高斯模型是一个并不准确,可能的模型,我们需要不停的缩小他的范围,更新他的参数值,从而得到最可能的高斯模型,将方差设置大些,就是为了将尽可能多的像素包含到一个模型里面,从而获得最有可能的模型。多维高斯分布讲解高斯分布高斯分布:1 维高斯分布公式:多维高斯分布公式:对于 1 维的来说 是期望, 是方差 ;对于多维来说 D 表示 X 的维数 , 表示D*D 的协方差矩阵,定义为, 为该协方差的行列式的值。
12、代码如下:m=0 1; S=eye(2);x1=0.2 1.3; x2=2.2 -1.3;pg1=comp_gauss_dens_val(m,S,x1)pg2=comp_gauss_dens_val(m,S,x2)其中 comp_gauss_dens_val 函数文件的代码如下:function z=comp_gauss_dens_val(m,S,x)l,c=size(m);z=(1/( (2*pi)(l/2)*det(S)0.5) )*exp(-0.5*(x-m)*inv(S)*(x-m);题目大致意思就是判断 x 是属于 w1 还是 w2?代码如下:P1=0.5;P2=0.5;m1=1 1
13、;m2=3 3;S=eye(2); x=1.8 1.8;p1=P1*comp_gauss_dens_val(m1,S,x)p2=P2*comp_gauss_dens_val(m2,S,x)题目大致意思就是:给出正态分布的期望和方差,构造出一些服从这个分布的数据点代码如下:% Generate the first dataset (case #1)randn(seed,0);m=0 0;S=1 0;0 1;N=500;X = mvnrnd(m,S,N);% Plot the first datasetfigure(1), plot(X(1,:),X(2,:),.);figure(1), axis
14、 equalfigure(1), axis(-7 7 -7 7)% Generate and plot the second dataset (case #2)m=0 0;S=0.2 0;0 0.2;N=500;X = mvnrnd(m,S,N);figure(2), plot(X(1,:),X(2,:),.);figure(2), axis equalfigure(2), axis(-7 7 -7 7)% Generate and plot the third dataset (case #3)m=0 0;S=2 0;0 2;N=500;X = mvnrnd(m,S,N);figure(3)
15、, plot(X(1,:),X(2,:),.);figure(3), axis equalfigure(3), axis(-7 7 -7 7)% Generate and plot the fourth dataset (case #4)m=0 0;S=0.2 0;0 2;N=500;X = mvnrnd(m,S,N);figure(4), plot(X(1,:),X(2,:),.);figure(4), axis equalfigure(4), axis(-7 7 -7 7)% Generate and plot the fifth dataset (case #5)m=0 0;S=2 0;
16、0 0.2;N=500;X = mvnrnd(m,S,N);figure(5), plot(X(1,:),X(2,:),.);figure(5), axis equalfigure(5), axis(-7 7 -7 7)% Generate and plot the sixth dataset (case #6)m=0 0;S=1 0.5;0.5 1;N=500;X = mvnrnd(m,S,N);figure(6), plot(X(1,:),X(2,:),.);figure(6), axis equalfigure(6), axis(-7 7 -7 7)% Generate and plot
17、 the seventh dataset (case #7)m=0 0;S=.3 0.5;0.5 2;N=500;X = mvnrnd(m,S,N);figure(7), plot(X(1,:),X(2,:),.);figure(7), axis equalfigure(7), axis(-7 7 -7 7)% Generate and plot the eighth dataset (case #8)m=0 0;S=.3 -0.5;-0.5 2;N=500;X = mvnrnd(m,S,N);figure(8), plot(X(1,:),X(2,:),.);figure(8), axis e
18、qualfigure(8), axis(-7 7 -7 7)即 生成了 8 副图像注:1、协方差在概率论和统计学中,协方差用于衡量两个变量的总体误差。而方差是协方差的一种特殊情况,即当两个变量是相同的情况。期望值分别为 EX与 EY的两个实数随机变量 X 与 Y 之间的协方差定义为:直观上来看,协方差表示的是两个变量总体误差的期望。如果两个变量的变化趋势一致,也就是说如果其中一个大于自身的期望值时另外一个也大于自身的期望值,那么两个变量之间的协方差就是正值;如果两个变量的变化趋势相反,即其中一个变量大于自身的期望值时另外一个却小于自身的期望值,那么两个变量之间的协方差就是负值。如果 X 与 Y
19、 是统计独立的,那么二者之间的协方差就是 0,因为两个独立的随机变量满足 EXY=EXEY。但是,反过来并不成立。即如果 X 与 Y 的协方差为 0,二者并不一定是统计独立的。协方差 Cov(X,Y)的度量单位是 X 的协方差乘以 Y 的协方差。而取决于协方差的相关性,是一个衡量线性独立的无量纲的数。协方差为 0 的两个随机变量称为是不相关的。2、期望定义 1:按照定义,离散随机变量的一切可能值与其对应的概率 P 的乘积之和称为数学期望,记为咐. 如果随机变量只取得有限个值:x,、随机变量的数学期望值在概率论和统计学中,一个离散性随机变量的期望值(或数学期望、或均值,亦简称期望)是试验中每次可
20、能结果的概率乘以其结果的总和。换句话说,期望值是随机试验在同样的机会下重复多次的结果计算出的等同“期望”的平均值。需要注意的是,期望值并不一定等同于常识中的“期望” “期望值”也许与每一个结果都不相等。(换句话说,期望值是该变量输出值的平均数。期望值并不一定包含于变量的输出值集合里。)单独数据的数学期望值算法对于数学期望的定义是这样的。数学期望E(X) = X1*p(X1) + X2*p(X2) + + Xn*p(Xn)X1,X2,X3,Xn 为这几个数据,p(X1),p(X2),p(X3),p(Xn)为这几个数据的概率函数。在随机出现的几个数据中 p(X1),p(X2),p(X3),p(Xn
21、)概率函数就理解为数据 X1,X2,X3,Xn 出现的频率 f(Xi).则:E(X) = X1*p(X1) + X2*p(X2) + + Xn*p(Xn) = X1*f1(X1) + X2*f2(X2) + + Xn*fn(Xn)很容易证明 E(X)对于这几个数据来说就是他们的算术平均值。3、浅谈协方差矩阵今天看论文的时候又看到了协方差矩阵这个破东西,以前看模式分类的时候就特困扰,没想到现在还是搞不清楚,索性开始查协方差矩阵的资料,恶补之后决定马上记录下来,嘿嘿本文我将用自认为循序渐进的方式谈谈协方差矩阵。统计学的基本概念学过概率统计的孩子都知道,统计里最基本的概念就是样本的均值,方差,或者再加个标准差。首先我们给你一个含有 n 个样本的集合 ,依次给出这些概念的公式描述,这些高中学过数学的孩子都应该知道吧,一带而过。
Copyright © 2018-2021 Wenke99.com All rights reserved
工信部备案号:浙ICP备20026746号-2
公安局备案号:浙公网安备33038302330469号
本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。