在上一篇文章中,我们回顾了几种离散概率分布。接下来,在本文中,将探讨几种连续概率分布。
连续概率分布
均匀分布(Uniform distribution)
均匀分布描述的是随机变量所有取值的概率均相同的概率分布。均匀分布需要定义上下界,因此所有取值的概率值为
期望:
方差
高斯分布(Gaussian distribution)
高斯分布,又称正态分布。在视觉领域应用非常广泛,在忽略灰度值的量化时,常常用高斯分布来建模。真实世界的状态也常常用其描述。本文将重点讲解。
一元高斯分布(Univariate Gaussian Distribution)
一元高斯分布定义域为.有两个参数和。为均值,决定了高斯分布的峰值位置,为方差,决定了分布的宽度。
其定义为:
多元高斯分布(Multivariate Gaussian Distribution)
在计算机视觉领域,描述不确定性的的方式用的更多的还是多元高斯分布。类似一元高斯分布,多元高斯分布同样有两个参数:均值和协方差。协方差是的正定阵。与一元高斯分布中的方差类似的,决定多元高斯分布中心(峰值)的位置,协方差用来描述分布的形状。
多元高斯分布的概率密度函数为:
协方差矩阵的几种形式
多元高斯分布的协方差矩阵通常分为三种形式,球形,对角和全协方差。每一种可以看做后一种的特殊形式。
球形协方差矩阵是单位矩阵的整倍数,等概率曲面是一个超球面(二元情况即圆)
球形协方差矩阵在对角线上各有一个正值,在其他地方为0,等概率曲面是一个以主轴与坐标轴对齐的超椭圆体(二元情况即主轴与坐标轴对齐的椭圆)
全协方差矩阵为一个正定矩阵,等概率曲面是不一任何特殊方式对齐的椭圆体。
在二元情况下的三种协方差矩阵分别为:
可视化
下面用代码可视化二元情况下等概率曲线以及概率密度分布图。
可以通过的值控制中心位置,控制分布形状,代码如下:
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import multivariate_normal
from mpl_toolkits.mplot3d import Axes3D
mu1, mu2 = 0, 0
sigma11, sigma12, sigma21, sigma22 = 1.5, 0.7, 0.7, 0.5
x, y = np.mgrid[-5:5:.01, -5:5:.01]
pos = np.dstack((x, y))
rv = multivariate_normal([mu1, mu2], [[sigma11, sigma12], [sigma21, sigma22]])
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x, y, rv.pdf(pos), cmap='rainbow')
fig2 = plt.figure()
ax2 = fig2.add_subplot(111)
ax2.contourf(x, y, rv.pdf(pos), cmap='rainbow')
plt.show()
如图所示为二元高斯分布不同协方差矩阵下等概率曲线,保持中心位置在,改变,分别为球形,对角和全协方差的情况:
同样的,可以画出概率密度分布图,运行代码,可以拖动图从不同的角度观察。
二元高斯分布概率密度分布图
写文章不易,点个喜欢,关注一下再走呗~
网友评论