前言
这篇文章可能就不会有什么固定顺序了,针对平时比较困惑的一些概率相关的知识点或者算法做一个记录,也会记录一些利用算法进行建模预测数据的例子。
联合概率及边缘概率
假设有随机变量A和B,此时P(A=a,B=b)用于表示A=a且B=b同时发生的概率。这类包含多个条件且所有条件同时成立的概率叫做联合概率。与之对应,P(A=a)或P(B=b)这类仅与单个随机变量相关的概率称为边缘概率。其中联合概率和边缘概率具有如下关系:
P(A=a)=∑bP(A=a,B=b)
P(A=b)=∑aP(A=a,B=b)
条件概率
条件概率表示在B=b成立的条件下,A=a的概率,记作P(A=a|B=b),或者说条件概率是指事件A=a在另外一个事件B=b已经发生的条件下的概率。联合概率、边缘概率、条件概率的关系如下:
P(A∣B)=P(B)P(A,B)
写成乘法的形式为:
P(A,B)=P(B)∗P(A∣B)=P(A)∗P(B∣A)
全概率公式
如果事件 A1, A2, A3,…, An构成一个完备事件组,即他们两两互不相容,其和为全集;并且 P(Ai)大于0,则对任意事件 B有:
P(B)=P(B∣A1)P(A1)+P(B∣A2)+...+P(B∣An)P(An)=∑i=1nP(B∣Ai)P(Ai)
上面的公式称为全概率公式。全概率公式是对复杂事件A的概率求解问题转化为了在不同情况下发生的简单事件的概率求和问题。
Beta分布
在概率论中,Beta分布也称B分布,是指一组定义在(0,1)区间的连续概率分布,有两个参数 α,β>0。Beta分布的概率密度为:
f(x;α,β)=∫01μα−1(1−μ)β−1dμxα−1(1−x)β−1=Γ(α)Γ(β)Γ(α+β)xα−1(1−x)β−1=B(α,β)1xα−1(1−x)β−1,其中, Γ(z)是 Γ函数。随机变量 X服从Beta分布写成 X Beta(α,β)。
贝叶斯公式
由条件概率的乘法形式可得:
P(A∣B)=P(B)P(B∣A)∗P(A)
上面的式子称为贝叶斯公式,也叫贝叶斯定理或贝叶斯法则,其中公式里面的:
- P(A|B)是已经B发生后A的条件概率,也由于得自B的取值而被称为A的后验概率,表示B发生后,时间A发生的置信度。
- P(A)是A的先验概率,表示A发生的置信度。
- P(B|A)是已知A发生后B的条件概率,也由于取自A的取值而被称作B的后验概率,也被称为似然函数。
- P(B) 表示B的先验概率,称为标准化常量。
- P(B)P(B∣A)叫作标准似然比,表示事件B为事件A发生提供的支持程度。
所以贝叶斯公式可以表示为: 后验概率=似然函数*(先验概率/标准化常量)。根据标准似然比的大小,可分为下面三种情况: - 如果标准似然比>1,则先验概率P(A)得到增强,时间B的发生会增大事件A发生的可能性。
- 如果标准似然比=1,则先验概率P(A)保持不变,事件B的发生不影响事件A发生的可能性。
- 如果标准似然比<1,则先验概率P(A)得到削弱,事件B的发生会降低事件A发生的可能性。
由全概率公式和贝叶斯公式得到:
P(Ai∣B)=P(B)P(B∣Ai)P(Ai)=∑i=1nP(B∣Ai)P(Ai)P(B∣Ai)P(Ai)
概率和似然
在英文中,似然(likehood)和概率(probability)是同义词,都指事件发生的可能性。但在统计中,似然与概率是不同的东西。概率是已知参数,对结果可能性的预测。而似然是已经知道结果,对参数是某个值的估计。
概率函数和似然函数
对于函数 P(x∣θ),从不同的观测角度来看可以分为以下两种情况:
- 如果 θ已知且保持不变, x是变量,则 P(x∣θ)称为概率函数,表示不同 x出现的概率。
- 如果 x已知且保持不变, θ是变量,则 P(x∣θ)称为似然函数,表示不同 θ下, x出现的概率,也记作 L(θ∣x)或者 L(x;θ)或 f(x;θ)。
估计相关的问题
问题引入:假设我们有一枚硬币,现在要估计其正面朝上的概率 θ。为了对 θ进行估计,我们进行了10次独立同分布试验,这组试验记作 X=x1,x2,...,x10,其中正面朝上的次数为6次,反面朝上的次数为4次,结果为(1,0,1,1,0,0,0,1,1,1)。
最大似然估计
最大似然估计,英文为Maximum Likelihood Estimation,简写为MLE,也叫极大似然估计,是用来估计概率模型参数的一种方法。最大似然估计的思想是使得观测数据(样本)发生概率最大的参数就是最好的参数。
对一个独立同分布的样本集来说,总体的似然就是每个样本似然的乘积。针对抛硬币的问题,似然函数可写作:
L(X;θ)=∏i=0nP(xi∣θ)=θ6(1−θ)4,根据最大似然估计定义,使得 L(X;θ)取得最大值的 θ即是估计结果,令 L(x;θ)′=0可得 θ^=0.6。似然函数图像如下:
由于总体的似然就是每个样本似然的乘积,为了求解方便,我们通常会将似然函数转成对数似然函数,然后再求解。可以转成对数似然函数的主要原因是对数函数不影响函数的凹凸性。所以上式可变为:
lnL(X;θ)=ln∏i=0nP(xi∣θ)=∑i=0nln(P(xi∣θ))=6ln(θ)+4ln(1−θ),令 ln(L(X;θ)′)=0解得 θ^=0.6。
正太分布的极大似然估计
假设样本服从正太分布 N (u,σ2),则其似然函数为 L(u,σ2)=∏i=0n2π σ1e−2σ2(xi−u)2,对其取对数得: lnL(u,σ2)=−2nln(2π)−2nln(σ2)−2σ21∑i=0n(xi−μ)2,分别对 μ,σ2求偏导,并令偏导数等于0,得:
{∂μ∂lnL(μ,σ2)=σ21∑i=0n(xi−μ)=0∂σ2∂lnL(μ,σ2)=−2σ2n+2σ41∑i=0n(xi−μ)2=0
解方程得:
{u^=n1∑i=0nxi=xσ2^=n1∑i=0n(xi−x)2
所以 μ^,σ2^就是正态分布中 μ,σ2的最大似然估计。
总结一下,最大似然估计的求解步骤:
- 确定似然函数
- 将似然函数转换为对数似然函数
- 求对数似然函数的最大值(求导)
最大后验概率估计
最大后验概率估计,英文为Maximum A Posteriori Estimation,简写为MAP。再来看抛硬币问题,最大似然估计认为使似然函数 P(X∣θ)最大的参数 θ即为最好的 θ,此时最大似然估计是将 θ看做固定的值,只是其值未知;最大后验概率分布认为 θ是一个随机变量,即 θ具有某种概率分布,称为先验分布,求解时除了要考虑似然函数 P(X∣θ)之外,还要考虑 θ的先验分布 P(θ),因此其认为使 P(X∣θ)P(θ)取最大值的 θ就是最好的 θ。
所以我们要最大化的函数变成 P(X∣θ)P(θ),且由于 X的先验分布式 P(X)是固定的(可以通过输入数据求出来),因为最大化函数可以变形为 P(X)P(X∣θ)P(θ),然后根据贝叶斯公式变形,得到我们需要最大化的函数为: P(X)P(X∣θ)P(θ)=P(θ∣X),因此要最大化的函数就是 P(θ∣X),而 P(θ∣X)是 θ的后验概率。最大后验概率估计可以看做是正则化的最大似然估计,当然机器学习或深度学习中的正则项通常是加法,而在最大后验概率估计中采用的是乘法, P(θ)为正则项。在最大似然估计中,由于认为 θ是固定的,因此 P(θ)=1。最大后验概率估计的公式表示:
argmaxθP(θ∣X)=argmaxθP(X)P(X∣θ)P(θ)∝argmaxθP(X∣θ)P(θ)。在抛硬币的游戏中,一般认为 θ=0.5的可能性最大,因此我们用均值0.5,方差0.1的高斯分布来描述 θ的先验分布,当然也可以使用其它的分布来描述 θ的先验分布。 θ的先验分布为: 2π σ1e−2σ2(xi−u)2=2π 10e−50(θ−0.5)2,函数图像对应如下:
在极大似然估计中,似然函数为 P(X∣θ)=θ6∗(1−θ)4,因此:
P(X∣θ)P(θ)=θ6∗(1−θ)4∗2π 10e−50(θ−0.5)2。取对数得: ln(P(X∣θ)P(θ))=ln(θ6∗(1−θ)4∗2π 10e−50(θ−0.5)2)=6ln(θ)+4ln(1−θ)+ln(2π 10)−50(θ−0.5)2,求偏导等于0的 θ,可得: 100θ3−150θ2+40θ+6=0,由于 0<=θ<=1,解出: θ^≈0.529, P(X∣θ)P(θ)的函数图像如下,基本符合 θ的后验估计值。如果我们的先验分布选取均值为0.6,方差为0.1的高斯分布来描述 θ的先验分布,则 θ=0.6。所以没在最大后验概率分布中, θ的估计值和 θ的先验分布有很大的关系。
先验分布为Beta分布的MAP
如果用 α=3,β=3的Beta分布来描述 θ的先验分布,则:
P(X∣θ)P(θ)=θ6∗(1−θ)4∗B(α,β)1∗θα−1(1−θ)β−1,令 P(X∣θ)P(θ)′=0,求解得: θ^=α+β+8α+5=3+3+88≈0.57, Beta分布的概率密度函数如下,可以看出和我们的估计值一致:
总结一下最大后验估计的步骤:
- 确定参数的先验分布以及似然函数
- 确定参数的后验分布函数
- 将后验分布函数转换为对数函数
- 求对数函数的最大值(求导,解方程)
贝叶斯估计
贝叶斯估计是最大后验估计的进一步扩展,贝叶斯估计同样假定 θ是一个随机变量,但贝叶斯估计并不是直接估计出 θ的某个特定值,而是估计 θ的分布,这是贝叶斯估计与最大后验概率估计不足的地方。在贝叶斯估计中,先验分布 P(X)是不可忽略的。回到抛硬币游戏,在已知X的情况下,描述 θ的分布即描述 P(θ∣X), P(θ∣X)是一种后验分布,如果后验分布的范围较窄,则估计值的准确度相对较高,反之,如果后验分布的范围较广,则估计值的准确度就较低。贝叶斯公式:
P(θ∣X)=P(X)P(X∣θ),在连续型的随机变量中,由于 P(X)=∫ΘP(X∣θ)P(θ)dθ,因此贝叶斯公式变成 P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)。从这个公式看出,贝叶斯估计的求解非常复杂,因此选择合适的先验分布十分重要。一般来说,计算积分 ∫ΘP(X∣θ)P(θ)dθ不可行。对于这个抛硬币的例子来说,如果使用共轭先验分布,就可以更好的解决这个问题。二项分布参数的共轭先验是Beta分布,由于 θ的似然函数服从二项分布,因此在贝叶斯估计中,假设 θ的先验分布服从 P(θ) Beta(α,β),Beta分布的概率密度函数为: f(x;α,β)=∫01μα−1(1−μ)β−1dμxα−1(1−x)β−1=Γ(α)Γ(β)Γ(α+β)xα−1(1−x)β−1=B(α,β)1xα−1(1−x)β−1。因此,贝叶斯公式可以写作:
P(θ∣X)=∫ΘP(X∣θ)P(θ)dθP(X∣θ)P(θ)=∫Bθ6(1−θ4)B(α,β)θα−1(1−θ)β−1θ6(1−θ4)B(α,β)θα−1(1−θ)β−1=∫Θθα+6−1(1−θ)β+4−1dθθα+6−1(1−θ)β+4−1=B(α+6−1,β+4−1)θα+6−1(1−θ)β+4−1=Beta(θ∣α+6−1,β+4−1)=Beta(θ∣α+6,β+4)
从上面的公式可以看出, P(θ∣X) Beta(θ∣α+6,β+4)。其中 B函数,也称为Beta函数,是一个标准化常量,用来使整个概率的积分为1。 Beta(θ∣α+6,β+4)就是贝叶斯估计的结果。如果使用贝叶斯估计得到的 θ分布存在一个有限均值,则可以用后验分布的期望作为 θ的估计值。假设 α=3,β=3,在这种情况下,先验分布会在0.5处取极大值,则 P(θ∣X) Beta(θ∣9,7),这个分布的曲线为:
从这个图可以看出,在 α=3,β=3的情况下, θ的估计值 θ^应该在0.6附近。根据 Beta分布的数学期望公式 E(θ)=α+βα可得: θ^=∫ΘθP(θ∣X)dθ=E(θ)=α+βα=9+79=0.5625。
注:二项分布参数的共轭先验是Beta分布,多项式分布参数的共轭先验是Dirichlet分布,指数分布参数的共轭先验是Gamma分布,⾼斯分布均值的共轭先验是另⼀个⾼斯分布,泊松分布的共轭先验是Gamma分布。
贝叶斯估计要解决的不是如何估计参数,而是用来估计新测量数据出现的概率,对于新出现的数据 x: P(x∣X)=∫ΘP(x∣θ)P(θ∣X)dθ=∫ΘP(x∣θ)P(X)P(X∣θ)P(θ)dθ。
总结一下贝叶斯估计的求解步骤:
- 确定参数的似然函数
- 确定参数的先验分布,应是后验分布的共轭先验
- 确定参数的后验分布函数
- 根据贝叶斯公式求解参数的后验分布
对3种估计方法的总结
从最大似然估计,最大后验概率估计到贝叶斯估计, θ的估计值 θ^是逐渐接近0.5的。从公式的变化可以看出,使用的信息是逐渐增多的。最大似然估计、最大后验概率估计中都是假设 θ未知,但是是确定的值,都将函使得函数取得最大值的 θ作为估计值,区别在于最大化的函数不同,最大后验概率估计使用了 θ的先验概率。而在贝叶斯估计中,假设参数 θ是未知的随机变量,不是确定值,求解的是参数 θ在样本 X上的后验分布。
参考博客
https://www.jianshu.com/p/9c153d82ba2d