精华内容
下载资源
问答
  • matlab 二维高斯分布

    千次阅读 2013-05-09 15:47:07
    这里给出话二维高斯分布matlab作图代码: >> mu = [-1, 2]; >> sigma = [1 0;0 1]; >> [X, Y] = meshgrid([-20:0.5:20]); >> p = mvnpdf([X(:),Y(:)],mu,sigma); >> p = reshape(p,size(X)); >> figure(2) >> ...

    这里给出话二维高斯分布的matlab作图代码:

    >> mu = [-1, 2];
    >> sigma = [1 0;0 1];
    >> [X, Y] = meshgrid([-20:0.5:20]);
    >> p = mvnpdf([X(:),Y(:)],mu,sigma);
    >> p = reshape(p,size(X));
    >> figure(2)
    >> surf(X,Y,p)
    >> shading interp
    >> colorbar


     

    展开全文
  • matlab:画二维高斯分布密度函数图

    万次阅读 2015-04-22 22:32:16
    首先,把二维正态分布密度函数的公式贴这里 这只图好大啊~~ 但是上面的那个是多维正态分布的密度函数的通式,那个n阶是对称正定方阵叫做协方差矩阵,其中的x,pi,u都是向量形式。虽然这个式子很酷,但是用...

    首先,把二维正态分布密度函数的公式贴这里

    这只图好大啊~~

    但是上面的那个是多维正态分布的密度函数的通式,那个n阶是对称正定方阵叫做协方差矩阵,其中的x,pi,u都是向量形式。虽然这个式子很酷,但是用在matlab里画图不太方面,下面换一个

    这个公式与上面的等价,只不过把向量和矩阵展开,计算出来。我们可以用这个式子画图。

    因为二维函数的形式是:z=f(x,y)

    所以必须先选择一些点,然后计算出f(x,y)。这些点分布在一个平面上,而z则在三维空间。

    如何选择平面上的点阵?

    [x,y]=meshgrid(a,b)

    meshgrid就是这样一个生成点阵的函数,这个meshgrid理解起来有点绕,不过举个例子就马上能力明白了。下面是matlab里面的一段截图:

     

    我们可以看到meshgrid生成了两个同样大小的矩阵,第一个矩阵是通过把第一个参数[1:3]顺着行的方向复制了4次,4是第二个参数的长度,同样第二个矩阵是第二个参数顺着列的方向复制了三次,3是第一个参数向量的长度。而这个点阵就是:

    (1,2)   (2,2)   (3,2)

    (1,3)   (2,3)   (3,3)

    ...

    看出什么意思了吧?就这个意思。

    至于这两个参数到底怎么选,这样根据你的正态分布的均值,尽量使点阵的中心与分布的均值靠近。

    好了,有了平面上的点,就来算这些点对应的函数值。往函数里套就行,下面是代码:

    ?
    function Z=drawGaussian(u,v,x,y)
    % u,vector,expactation;v,covariance matrix
    %x=150:0.5:190;  
    %y=35:110;      
    [X,Y]=meshgrid(x,y);
    DX=v(1,1);    %X的方差
    dx=sqrt(DX);
    DY=v(2,2);    %Y的方差
    dy=sqrt(DY);
    COV=v(1,2);    %X Y的协方差
    r=COV/(dx*dy);
    part1=1/(2*pi*dx*dy*sqrt(1-r^2));
    p1=-1/(2*(1-r^2));
    px=(X-u(1)).^2./DX;
    py=(Y-u(2)).^2./DY;
    pxy=2*r.*(X-u(1)).*(Y-u(2))./(dx*dy);
    Z=part1*exp(p1*(px-pxy+py));
    mesh(x,y,Z);

      最后一句mesh(x,y,Z) 是画图函数,画出的图行大概是下面这个样子:

    展开全文
  • 1.高斯分布的MLE参数估计的均值是无偏的,方差有偏2....本文从一维高斯分布的参数估计、二维高斯分布的几何意义、以及n维高斯分布边缘分布与条件分布进行介绍一维高斯分布的参数估计若随便变量X服从正态分布...

    1.高斯分布的MLE参数估计的均值是无偏的,方差有偏

    2.二维正态分布的等概率曲线是一个椭圆

    3.n维正态分布的边缘分布和条件分布都是正态分布

    高斯分布是概率论和统计学最重要的分布,在机器学习各种模型的也是处处可见。因此,有必要对高斯分布做深一步的理解。本文从一维高斯分布的参数估计二维高斯分布的几何意义、以及n维高斯分布边缘分布与条件分布进行介绍

    一维高斯分布的参数估计

    若随便变量X服从正态分布,则

    48ecc358a816ba99adde3dd20add9c77.png

    给出m个观测值xi,我们可以利用最大似然估计法(MLE)估计其均值和方差

    a8817fb14d45d644ad364f665882a117.png

    因此只需要优化函数f即可

    6303b75803f6ddca680aea6384f68ded.png

    这里拓展一下,高斯分布最大似然估计的均值是无偏的,方差是有偏的

    先复习一下无偏估计的概念

    2d65d0524bced82209ce071d4e739a81.png

    无偏估计表示没有系统偏差,由于样本的随机性,对参数的估计总是有偏差的,这种偏差时而大,时而小,无偏性表示,把这些偏差平均起来其值为0,这就是无偏估计的含义

    接着我们推导一下为什么均值是无偏而方差是有偏的

    8ba7a6ff6d97d9fa86f767ece7939b99.png

    这就是为什么在统计学上,方差无偏估计的分母是(m-1)

    ba73b221bdc8ad2b8dbccded0c512e0d.png

    二维高斯分布的几何意义

    先给出n维正态分布的概念,再看二维的几何意义

    cffab7ff9e1d42fd7834f358ca497249.png

    注:

    ddbfcfa890cbe6125c1326e110137336.png

    当n=2时,就是二维高斯分布的概率密度,其均值和方差为

    d6a5801db8168ec0b7e0a4b8f19f5d5b.png

    为了更好了解其几何意义,我们需要对原表达式做一些变换,在此之前,需要引入一个定理:

    设A是一个n阶实对称矩阵,那么存在一个n阶正交矩阵U,使得U'AU是实对角形,对角元素为矩阵A的特征根(U'是U的转置)

    设B的特征根为λ1,λ2,.....,λn。于是存在矩阵U=(U1,U2,...,Un),使得 

    d34b1f777c6e86c064f4188aac4a8ff0.png

    于是我们有

    5be59763449224e3d0be49dd72be851e.png

    再做一步化简

    cd5211b8f94ee5622be2d36fb73b5f93.png

    最终我们可以得到二元高斯分布另一个表达形式:

    7af23df04261901508e38d173ca99fcb.png

    这里,我们可以看到对于二元正态分布,给定一个p(x)其截面相当于一个椭圆

    贴一张图,加深理解

    af6614f94b4bbf1ed1ebb6cdf9a0f1dd.png

    多维高斯分布的边缘分布与条件分布

    下面我们推导多维高斯分布的边缘分布和条件分布。这里我们有一个不加证明的给出一个结论:

    n维正态分布的边缘分布和条件分布都是正态分布

    有了这个结论,只需要求解边缘分布和条件分布下的均值和方差,就能确定其分布了。

    为此,我们需要用到一个定理:

    3eebdb82379ecab320c6f9537e2e3e51.png

    我们给出一个不太严格的证明,重点是记住这个定理。

    770854e895fa385d43b8eb2efd7499ef.png

    下面我们利用这个定理求解边缘分布和条件分布,不失一般性,先定义问题:

    0ced68cf66b2a1c8f795c59419d7b7fe.png

    先求边缘概率密度

    7f3fa65afbf832f5be79b60c216c4c30.png

    接着求条件分布,构造如下式子:

    5cf99af2e650ee965848c1cbd7d36ff6.png

    于是我们有

    eb198d90167010b3ab1dddb576b31d45.png

    最后我们可以得到条件概率密度

    92851124c2b3e4f633403a7c322f18ad.png

    展开全文
  • matlab生成二维服从高斯分布的数据

    万次阅读 2017-03-02 21:56:49
    matlab生成二维服从高斯分布的数据 2015-12-30 21:31 1263人阅读 评论(0) 收藏 举报  分类: matlab(8)  由于实验需要,需要生成两类模式的数据,同时这两类数据要服从正态分布(高斯...

    matlab生成二维服从高斯分布的数据

     1263人阅读 评论(0) 收藏 举报
     分类:

    由于实验需要,需要生成两类模式的数据,同时这两类数据要服从正态分布(高斯分布)。 
    使用matlab来实现:

    mu = [2 3];
    SIGMA = [1 0; 0 2];
    r = mvnrnd(mu,SIGMA,100);
    plot(r(:,1),r(:,2),'r+');
    hold on;
    mu = [7 8];
    SIGMA = [ 1 0; 0 2];
    r2 = mvnrnd(mu,SIGMA,100);
    plot(r2(:,1),r2(:,2),'*')
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    mvnrnd:Multivariate normal random numbers 
    解释:mvnrnd 是用来生成多维正态数据的。 
    具体参数大家可以参考matlab的帮助手册。 
    mu 是需要生成的数据的均值 
    SIGMA 是需要生成的数据的自相关矩阵(协方差矩阵)

    上面的数据如图: 
    这里写图片描述

    关于协方差举证见: 
    http://www.cnblogs.com/chaosimple/p/3182157.html

    展开全文
  • 数值分析Matlab二维正态(高斯)分布以及协方差矩阵主要是使用了matlab的mvnrnd产生随机的正态(高斯分布二维矩阵,然后绘制出来。代码运行结果生成的正态分布实验数据如图:MATLAB代码:mu1 = [0 0]; sigma1 = [4 2...
  • 参考:... 修改如下: Create a gmdistribution object and generate random variates. Define the distribution parameters (means and covariances) of a ...
  • 二维混合高斯分布的EM算法(matlab
  • Matlab自带很多有意思的彩蛋命令,包括二维图像、三维图像、动画、声音等等。在命令行窗口直接输入以下命令即可看到彩蛋。1、logomatlab的logo。2、membranematlab的logo的曲面。3、peaks峰值函数,本质是二元高斯...
  • matlab生成满足二维高斯(正…

    千次阅读 2014-08-25 17:58:16
    原文地址:matlab生成满足二维高斯(正态)分布的随机数/作图程序作者:乐韵悠杨产生满足二维高斯(正态)分布的随机数: mu=[0,2];%数学期望 sigma=[1 0;0,4];%协方差矩阵 r=mvnrnd(mu,sigma,50)%生成50个样本   ...
  • 终端探测器探测到的光斑灰度分布函数可近似看做高斯分布,因此可以通过二维高斯函数进行拟合,模型表示为: 效果图: 为了方便计算,做一步变换,两边取对数,得到: 展开并进一步变形为: 求解...
  • 最近学习中用到了高斯函数(二维高斯分布),特记录下实现代码及一些注意事项。 2.代码 %设置渐变色:figure => 编辑 => 图形属性 %去掉网格,并使之光滑:surf(X, Y, Z); shading interp; %设置坐标轴宽度:...
  • matlab上实现的二维高斯混合模型 是基于界面形式的 直接画出高斯分布 更方便的了解GMM 你值得拥有 机器学习
  • Matlab 高斯分布可视化

    2020-12-15 14:29:33
    二维 2.Matlab代码实现 u = [5 5]; Sigma = [1.5 -0.5;-0.5 1.5] [X1,X2] = meshgrid(linspace(-10,10,60)', linspace(-10,10,60)'); X = [X1(:) X2(:)]; p = mvnpdf(X, u, Sigma); surf(X1,X2,reshape(p,size...
  • 我想实现一个聚类算法,准备使用二维高斯过程产生几类测试数据,现在不知道怎么使用C++产生二维高斯分布的随机数,用matlab可以很方便的实现,但是我想使用C++实现一下,各路大神,求解
  • 本篇文章主要讲解在matlab环境下,如何随机生成满足高斯分布的样本点。众所周知,高斯分布是一种很常见的数据分布,也是很多实际例子中出现最多的一种分布。我们今天就来学习在matlab环境下绘制出随机分布的满足高斯...
  • 多维高斯分布

    2020-02-24 08:59:02
    文章目录高斯函数的基础一维高斯函数多维高斯分布的由来二维高斯分布三维图像_python二维高斯分布三维图像_matlab参考博客 高斯函数的基础 一维高斯函数 高斯函数,Gaussian Function, 也简称为Gaussian,一维形式...

空空如也

空空如也

1 2 3 4
收藏数 72
精华内容 28
关键字:

matlab二维高斯分布

matlab 订阅