贝叶斯估计是概率密度函数估计中的一种主要的参数估计方法,其结果在很多情况下和最大似然估计方法相同。
两者的根本区别是:
1)最大似然估计是把待估计的参数当作未知的固定值而不是变量,所做的是根据观测数据来估计这个量的取值;
2)贝叶斯估计把参数本身看作是随机变量,要做的是根据观测数据来估计参数的分布。把参数的估计问题看成是一个在连续数值空间里的贝叶斯决策问题。
设:待估计的参数 θ 是具有先验分布密度 p(θ) 的随机变量,样本集 χ={x1,x2,…,xN} ,最优的 θ=θ∗ 。
在贝叶斯决策中,我们有两种决策规则:最小错误率规则和最小风险规则。假设我们将 θ 估计成 θ^ 的损失函数为 λ(θ^,θ) , x 的取值空间是 Ed , θ 的取值空间是 Θ ,同时我们定义在样本x下的条件风险为:
R(θ^|x)=∫Θλ(θ^,θ)p(θ|x)dθ
则在所有样本
χ 上用
θ^ 来估计的总风险就是:
R=∫Ed∫Θλ(θ^,θ)p(x,θ)dθdx=∫Ed∫Θλ(θ^,θ)p(θ|x)p(x)dθdx=∫EdR(θ^|x)p(x)dx
根据贝叶斯决策,我们现在希望 R 最小,而积分中各项都为非负,故等价于对所有的 x 求条件风险最小。即:
θ∗=argminθ^R(θ^|x)=∫Θλ(θ^,θ)p(θ|x)dθ
而根据贝叶斯公式,
p(θ|x)=p(x|θ)p(θ)p(x)
p(θ|χ)=p(χ|θ)p(θ)∫Θp(χ|θ)p(θ)dθ(1)
在另几篇《贝叶斯决策》相关的博文中小编说过,在贝叶斯决策前要定下损失表或损失函数。这里最常用的损失函数是平方误差损失函数,即:
λ(θ^,θ)=(θ−θ^)2
此时对于样本
x ,
θ∗=E[θ|x]=∫Θθp(θ|x)dθ ;
对于样本集
χ ,
θ∗=E[θ|χ]=∫Θθp(θ|χ)dθ 。
贝叶斯学习
现在我们来考虑更一般的情况,试图找到些规律。
在刚才说到的假设损失函数是平方误差损失函数的情况下,假设样本数目为 N 的样本集为 χN={x1,x2,…,xN} (注意我们这里说明了样本集中的样本数目为 N ),
根据之前的分析式(1):
θ∗=∫Θθp(θ|χN)dθ
其中
p(θ|χN)=p(χN|θ)p(θ)∫Θp(χN|θ)p(θ)dθ(2)
假设初始的
θ 估计值为
p(θ|χ0)=p(θ) :
当
N>1 时有如下递推式:
p(χN|θ)=p(xN|θ)p(χN−1|θ)(3)
将(3)代入(2)中,随着
N 的增加得到一系列估计值:
p(θ),p(θ|x1),p(θ|x1,x2),…,p(θ|x1,x2,…,xN),…
以上称为
递推的贝叶斯估计,随着样本数的增加,该序列将逐渐逼近
θ 的真实值为中心的一个尖峰,当样本无穷多时收敛于参数的真实值,这叫做
贝叶斯学习
以正态分布为例的贝叶斯估计
仅仅是看上面的公式和文字,贝叶斯估计好像还是非常的难懂,现在我们用大家熟悉的最简单的一维正态分布举例来说明一下贝叶斯估计的计算。
假设模型的均值 μ 是待估计的参数,方差 σ2 是已知的,则模型的分布密度函数为:
p(x|μ)=12π−−√σexp{−12σ2(x−μ)2}(4)
同时我们假设参数
μ 也服从正态分布,均值为
μ0 ,方差为
σ0 :
p(μ)=12π−−√σ0exp{−12σ20(μ−μ0)2}(5)
现在我们要对
μ 进行估计:
p(μ|χ)=p(χ|μ)p(μ)∫Θp(χ|μ)p(μ)dμ(6)
由于(6)的分母其实是一个常数项(用来对后验概率进行归一化),我们可以暂时不考虑,先计算分子的部分:
p(χ|μ)p(μ)=p(μ)∏i=1Np(xi|μ)=12π−−√σ0exp{−12σ20(μ−μ0)2}×∏i=1N12π−−√σexp{−12σ2(x−μ)2}
把所有不依赖于
μ 的量都写入一个常数中,上式可以整理为:
p(χ|μ)p(μ)=aexp(−12(μ−μNσN)2)(7)
其中:
μN=Nσ20Nσ20+σ2mN+σ2Nσ20+σ2μ0
σ2N=σ20σ2Nσ20+σ2
mN=1N∑i=1Nxi是所有样本观测值的算术平均
通过(7)我们知道式子(6)的分子是一个均值为
μN 方差为
σ2N 的正态分布,而分母是一个常数,所以式子(6)的左边也是一个均值为
μN 方差为
σ2N 的正态分布,即:
p(μ|χ)=12π−−√σNexp(−12(μ−μNσN)2)
因此
μ 的估计量为:
μ^=∫μp(μ|χ)dμ=∫μ2π−−√σNexp(−12(μ−μNσN)2)dμ=μN
贝叶斯估计相对于最大似然估计的优势:
贝叶斯估计的优势不仅在于使用了样本提供的信息进行估计,而且能够很好地把关于待估计参数的先验知识融合进来,并且能够根据数据量的大小和先验知识的确定程度来调和两部分信息的相对贡献,这在很多实际问题中是非常有用的。