机器学习中常见的概率分布
文章目录
机器学习中常见的概率分布
在机器学习中有许多简单的概率分布,掌握这些概率分布有助于思考问题。
1.Bernoulli分布(伯努利分布)
Bernoulli分布是单个二值随机变量的分布。一个简单的实验只有两个可能的结果,例如抛硬币的正面和反面、做一件事成功或失败,将这两种情况记作0和1,即随机变量只能取值为0和1,并由单个参数
ϕ
\phi
ϕ给出随机变量等于1的概率。
Bernoulli分布具有一些性质。
P
(
X
=
1
)
=
ϕ
P
(
X
=
0
)
=
1
−
ϕ
P(X=1) = \phi \\ P(X=0) = 1-\phi
P(X=1)=ϕP(X=0)=1−ϕ
概率质量函数为:
P
(
X
=
x
)
=
ϕ
x
(
1
−
ϕ
)
1
−
x
P(X=x)=\phi^x(1-\phi)^{1-x}
P(X=x)=ϕx(1−ϕ)1−x
对于
f
(
x
)
=
x
f(x)=x
f(x)=x,期望和方差为:
E
x
[
f
(
x
)
]
=
1
∗
ϕ
+
0
∗
(
1
−
ϕ
)
=
ϕ
V
a
r
x
[
f
(
x
)
]
=
E
[
(
f
(
x
)
−
E
[
f
(
x
)
]
)
2
]
=
ϕ
(
1
−
ϕ
)
E_x[f(x)]=1*\phi+0*(1-\phi)=\phi \\ Var_x[f(x)]=E[(f(x)-E[f(x)])^2]=\phi(1-\phi)
Ex[f(x)]=1∗ϕ+0∗(1−ϕ)=ϕVarx[f(x)]=E[(f(x)−E[f(x)])2]=ϕ(1−ϕ)
2.Multinoulli分布(多项式分布的一个特例)
Multinoulli分布也叫范畴分布(categorical distribution),是Bernoulli分布的泛化,如果说Bernoulli分布代表着一个只有两种结果的简单实验,那Multinoulli分布就是可能有
k
k
k个结果的实验。随机向量
X
X
X定义为:
X
=
[
X
1
,
X
2
,
⋯
,
X
k
]
X=[X_1, X_2,\cdots, X_k]
X=[X1,X2,⋯,Xk]
当得到第
i
i
i个结果时,随机向量
X
X
X的第
i
i
i个值即
X
i
X_i
Xi为1,其他为0。
k
k
k个可能的结果的概率则用
p
1
,
p
2
,
⋯
,
p
K
p_1, p_2,\cdots,p_K
p1,p2,⋯,pK来表示。
X
X
X是
K
×
1
K×1
K×1的离散随机向量,
R
X
R_X
RX为
X
X
X的支持,其中一个量为1,其他量均为0:
R
X
=
{
x
∈
{
0
,
1
}
K
:
∑
j
=
1
K
x
j
=
1
}
R_X=\{x\in\{0,1\}^K:\sum_{j=1}^Kx_j=1\}
RX={x∈{0,1}K:j=1∑Kxj=1}
p
1
,
p
2
,
⋯
,
p
K
p_1, p_2, \cdots, p_K
p1,p2,⋯,pK为
K
K
K个非负数,并且满足:
∑
j
=
1
K
p
j
=
1
\sum_{j=1}^Kp_j=1
j=1∑Kpj=1
这时,如果有如下联合概率质量函数我们就说
X
X
X有一个Multinoulli分布并且概率为
p
1
,
p
2
,
⋯
,
p
K
p_1,p_2,\cdots,p_K
p1,p2,⋯,pK。
p
X
(
x
1
,
x
2
,
⋯
,
x
K
)
=
{
∏
j
=
1
K
p
j
x
j
i
f
(
x
1
,
x
2
,
⋯
,
x
K
)
∈
R
X
0
o
t
h
e
r
w
i
s
e
p_X(x_1, x_2,\cdots,x_K)= \begin{cases} \prod_{j=1}^Kp_j^{x_j} &if(x_1,x_2,\cdots,x_K)\in R_X \\ 0 &otherwise \end{cases}
pX(x1,x2,⋯,xK)={∏j=1Kpjxj0if(x1,x2,⋯,xK)∈RXotherwise
当
(
x
1
,
x
2
,
⋯
,
x
K
)
∈
R
X
(x_1,x_2,\cdots,x_K)\in R_X
(x1,x2,⋯,xK)∈RX并且此时有
x
i
=
1
x_i=1
xi=1,这说明其他的值都是0,因此就有下面的式子:
∏
j
=
1
K
p
j
x
j
=
p
1
x
1
∗
⋯
∗
p
i
x
i
∗
⋯
∗
p
K
x
K
=
p
1
0
∗
⋯
∗
p
i
1
∗
⋯
∗
p
K
0
=
1
∗
⋯
∗
p
i
∗
⋯
∗
1
=
p
i
\prod_{j=1}^Kp_j^{x_j}=p_1^{x_1}*\cdots *p_i^{x_i}*\cdots *p_K^{x_K} \\ =p_1^{0}*\cdots *p_i^{1}*\cdots *p_K^{0} \\=1*\cdots *p_i*\cdots*1 \\=p_i
j=1∏Kpjxj=p1x1∗⋯∗pixi∗⋯∗pKxK=p10∗⋯∗pi1∗⋯∗pK0=1∗⋯∗pi∗⋯∗1=pi
Multinoulli分布经常用来表示对象分类的分布,所以我们很少假设状态1具有数值1之类的。因此,我们通常不需要去计算Multinoulli分布的随机变量的期望和方差。
3.高斯分布
实数上最常用的分布就是正态分布,也称高斯分布。若随机变量X服从一个数学期望为
μ
\mu
μ、方差为
σ
2
\sigma^2
σ2的正态分布,记为
N
(
μ
,
σ
2
)
N(\mu,\sigma^2)
N(μ,σ2)。概率密度函数为
N
(
x
:
μ
,
σ
2
)
=
1
2
π
σ
2
e
x
p
(
−
1
2
σ
2
(
x
−
μ
)
2
)
N(x:\mu,\sigma^2)=\sqrt{\cfrac{1}{2\pi\sigma^2}}exp(-\cfrac{1}{2\sigma^2}(x-\mu)^2)
N(x:μ,σ2)=2πσ21exp(−2σ21(x−μ)2)
其概率密度函数为正态分布的期望值
μ
\mu
μ决定了其位置,其标准差
σ
\sigma
σ决定了分布的幅度。当
μ
=
0
,
σ
=
1
\mu = 0,\sigma = 1
μ=0,σ=1时的正态分布是标准正态分布。
正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。
当我们要对概率密度函数求值时,需要对
σ
\sigma
σ平方并取倒数。当我们需要经常对不同参数下的概率密度函数求值时,一种更高效的参数化分布的方式是使用参数
β
∈
(
0
,
∞
)
\beta\in(0,\infty)
β∈(0,∞)来控制分布的精度(或方差的倒数):
N
(
x
:
μ
,
β
−
1
)
=
β
2
π
e
x
p
(
−
1
2
β
(
x
−
μ
)
2
)
N(x:\mu,\beta^{-1})=\sqrt{\cfrac{\beta}{2\pi}}exp(-\cfrac{1}{2}\beta(x-\mu)^2)
N(x:μ,β−1)=2πβexp(−21β(x−μ)2)
进一步,正态分布可以推广到
R
n
R_n
Rn空间,这种情况下被称为多维正态分布。它的参数是一个正定对称矩阵
Σ
\Sigma
Σ:
N
(
x
:
μ
,
Σ
)
=
1
(
2
π
)
n
d
e
t
(
Σ
)
e
x
p
(
−
1
2
(
x
−
μ
)
T
Σ
−
1
(
x
−
μ
)
)
N(x:\mu,\Sigma)=\sqrt{\cfrac{1}{(2\pi)^n det(\Sigma)}}exp(-\cfrac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu))
N(x:μ,Σ)=(2π)ndet(Σ)1exp(−21(x−μ)TΣ−1(x−μ))
这式子看起来很复杂的样子,我只是简单了解了一下。参数
μ
\mu
μ仍然表示分布的均值,只不过现在是向量值。参数
Σ
\Sigma
Σ给出了分布的协方差矩阵。和单变量的情况类似,当我们希望对很多不同参数下的概率密度函数多次求值时,协方差矩阵并不是一个很高效的参数化分布方式,因为对概率密度函数求值时需要对
Σ
\Sigma
Σ求逆。我们可以使用一个精度矩阵
β
\beta
β进行替代:
N
(
x
:
μ
,
β
−
1
)
=
d
e
t
(
β
)
(
2
π
)
n
e
x
p
(
−
1
2
(
x
−
μ
)
T
β
(
x
−
μ
)
)
N(x:\mu,\beta^{-1})=\sqrt{\cfrac{det(\beta)}{(2\pi)^n}}exp(-\cfrac{1}{2}(x-\mu)^T\beta(x-\mu))
N(x:μ,β−1)=(2π)ndet(β)exp(−21(x−μ)Tβ(x−μ))
我们常常把协方差矩阵固定成一个对角阵。一个更简单的版本是各向同性高斯分布,它的协方差矩阵是一个标量乘以单位阵。
4.指数分布和Laplace分布(拉普拉斯分布)
深度学习中,我们经常会需要一个在
x
=
0
x=0
x=0点处取得边界点的分布。为了实现这一目的,我们可以使用指数分布:
p
(
x
;
λ
)
=
λ
1
x
≥
0
e
x
p
(
−
λ
x
)
p(x;\lambda)=\lambda1_{x\ge0}exp(-\lambda x)
p(x;λ)=λ1x≥0exp(−λx)
其中用指示函数
1
x
≥
0
1_{x\ge0}
1x≥0来使得当
x
x
x取负值时的概率为0。
一个联系紧密的概率分布是Laplace分布,它允许我们在任意一点
μ
\mu
μ处设置概率质量的峰值:
L
a
p
l
a
c
e
(
x
;
μ
,
γ
)
=
1
2
γ
e
x
p
(
−
∣
x
−
μ
∣
γ
)
Laplace(x;\mu, \gamma)=\cfrac{1}{2\gamma}exp(-\cfrac{|x-\mu|}{\gamma})
Laplace(x;μ,γ)=2γ1exp(−γ∣x−μ∣)
其中
μ
\mu
μ是位置参数,
γ
\gamma
γ是尺度参数,果
μ
=
0
\mu = 0
μ=0,那么,正半部分恰好是尺度为
1
γ
\cfrac{1}{\gamma}
γ1(或者
γ
\gamma
γ,看具体指数分布的尺度参数形式)的指数分布的一半。
5.Dirac分布(狄拉克分布)和经验分布
在一些情况下,我们希望概率分布中的所有质量都集中在一个点上。这可以通过Dirac delta函数
δ
(
x
)
\delta(x)
δ(x)定义概率密度函数来实现:
p
(
x
)
=
δ
(
x
−
μ
)
p(x)=\delta(x-\mu)
p(x)=δ(x−μ)
δ
(
x
)
\delta(x)
δ(x)是一个广义函数,在物理学中常用其表示质点、点电荷等理想模型的密度分布,该函数在除了零以外的点取值都等于零,而其在整个定义域上的积分等于1。通过把
p
(
x
)
p(x)
p(x)定义成
δ
\delta
δ函数右移
μ
\mu
μ个单位,我们就得到了一个在
x
=
μ
x=\mu
x=μ处具有无限窄也无限高的概率质量。
Dirac分布经常作为经验分布的一个组成部分出现:
p
^
(
x
)
=
1
m
∑
i
=
1
m
δ
(
x
−
x
(
i
)
)
\hat p(x)=\cfrac{1}{m}\sum_{i=1}^m\delta(x-x^{(i)})
p^(x)=m1i=1∑mδ(x−x(i))
经验分布将概率密度
1
m
\cfrac{1}{m}
m1赋给
m
m
m个点的每一个,这些点是给定数据集或者采样的集合。只有在定义连续型随机变量的经验分布时,
δ
(
x
)
\delta(x)
δ(x)函数才是必要的。对于离散型随机变量,情况更加简单:经验分布可以被定义成一个Multinoulli分布,对于每一个可能的输入,其概率可以简单地设为在训练集上哪个输入值的经验概率。
当我们在训练集上训练模型时,可以认为从这个训练集上得到的经验分布指明了采样来源的分布。关于经验分布另外一种重要的观点是,它是训练数据的似然最大的那个概率密度函数。
参考资料《深度学习》
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)