33 – 贝叶斯估计

一、 概率、条件概率以及先验概率、后验概率
二、 似然、概率
三、 似然函数、最大似然估计
四、 参数估计、最优化


一、 概率、条件概率以及先验概率、后验概率

用P(A)表示A事件发生的概率,更精确的称为边缘概率;
用P(A|B)表示B事件已经发生的情况下、A事件发生的条件概率。

先验概率, 是指根据以往经验和分析得到的概率,例如全概率公式、以及一些条件概率的计算,先验概率往往是由因求果问题。
后验概率, 是根据结果推算最有可能是哪种原因发生,例如贝叶斯公式,后验概率往往是执果求因问题。
从原因到结果的论证称为先验,而从结果到原因的论证称为后验。
因此:
* 结果还没有发生,要求结果发生的可能性的大小,是先验概率。
例如某原因1可能导致出现结果2、结果3和结果4这三种结果,现在原因1出现了,要估计结果2出现的概率,这是先验概率,在这里也是条件概率。
* 结果已经出现了,要求可能导致此结果出现的某个原因的可能性的大小,是后验概率。
例如某结果5可能由原因6、原因7和原因8这三个原因导致的,现在结果5已经出现了,要估计来自于原因6的概率,这是后验概率。

简单的例子:
出门上班,路上可能堵车, 造成堵车的原因有两个,一个是车太多了,一个是事故太多了。
那么1, 直接问堵车的概率P(堵车),这个就是概率的,也是先验概率,这里也是全概率。
那么2, 交通事故这个原因已经发生,问有多大概率会堵车, 这个P(堵车|交通事故)是由因求果的条件概率。
那么3, 出门堵车这个结果已经发生,问这个结果是多大概率由于交通事故引起的,这个P(交通事故|堵车)是由果求因的条件概率,更富有内涵的是称为后验概率。

一般的,先验概率是在缺乏某个事实的情况下的描述,而后验概率是在考虑了事实之后的条件概率。
例如:
某甲弹弓打鸟, 可能打中也可能打不中, 根据以往经验,主观估计某甲打中的概率是65%,这个就是先验概率。
同时还有个某乙也在用弹弓打鸟,根据以往经验,专家主观估计某乙大众的水平是95%,这个也是先验概率。
结果,鸟被打中落地,问多大可能是被某甲打中的, 这个就是后验概率。
也就是打中这个结果已经出现,获取到了新的额外的信息,需要修正某甲的65%这个先验概率。
根据需要, 后验概率, 也可能成为其他场景里面的先验概率, 可以持续转化。

《蒙特霍尔问题:转不过来弯的概率》
http://blog.csdn.net/zmazon/article/details/8485118
https://wenku.baidu.com/view/8ca2bd637cd184254a353526.html

二、 似然、概率

似然,接近于概率的意思,都是指某种事件发生的可能性。
但是:
概率,是用于已知一些参数信息的情况下,对随后的观测结果的做出预测;
似然,则用于已经得到某些观测结果,要对有关事物性质的参数进行估计。
所以:
概率和似然,是概率论和统计学的区分,例如对于某个正态分布:
P(data; miu, theta),意思是基于模型参数miu和theta观测到数据的概率;
L(miu, theta; data),意思是已经观测到一组数据后参数miu和theta取特定值的似然。

例如:
一枚硬币,由于制造工艺 ———— 可能是材料密度、质心分布等因素,扔出正面的可能性是不确定的,不一定等于0.5。
那么,这枚硬币扔出正面的可能性,以theta标记,就是该模型的参数。

2.1 概率 probability

如果扔硬币出现正面的概率,theta,这个硬币的参数已经知道,由此去推测扔硬币的各种情况的可能性,就是概率。
例如:已知硬币均匀完美,也就是说已知硬币的参数theta为0.5。
要求:扔10次硬币、出现5次正面的概率是多少?
就是求概率。

解1:
10排10币,共有排列数2^10=1024;
正面朝上10个的排列:1种C10(10)
正面朝上9个的排列:10种C10(9)
正面朝上8个的排列:45种C10(8)
正面朝上7个的排列:120种C10(7)
正面朝上6个的排列:210种C10(6)
正面朝上5个的排列:252种C10(5)
则5个朝上的概率有:
252/1024 = 25.2%
解2:
抛硬币遵循的二项分布:
C10(5)*0.5^5*(1-0.5)^5=0.252

2.2 似然 likelihood

如果扔硬币出现正面的可能性,theta,这个模型的参数不知道,要通过抛硬币的实验去推测硬币的参数,就是似然。
例如:有三种型号硬币,扔起来出正面的概率分别是1/3,1/2,2/3,现在进行试验,扔了80次,出现49次正面。
要求:扔的最可能是哪种型号的硬币?
这就是求似然。

这里theta的定义域是{1/3,1/2,2/3},则似然函数L:
L=P(H=49|th=1/3) = C80(49)*1/3^49*(1-1/3)^31=0.0000
L=P(H=49|th=1/2) = C80(49)*1/2^49*(1-1/2)^31=0.0012
L=P(H=49|th=2/3) = C80(49)*2/3^49*(1-2/3)^31=0.0054

可见,
当th=2/3时,似然函数L取得最大值。
因此,扔的这个硬币,极可能是2/3那种。

三、 似然函数、最大似然估计MLE

最大似然估计(MLE – maximum likelihood estimation ),就是利用已知的样本结果,反推最有可能的最大概率的会导致出现这种结果的参数值(模型已知而参数未知),或者说,最大似然估计,就是利用已知的样本,在使用某个模型的基础上,反推出最有可能导致这样结果的模型的参数值。

最大似然的原理非常朴素:
一个随机试验,有若干个可能的结果A,B,C,…。如果仅仅作一次试验,结果A出现,则认为试验条件对A出现有利,也即A出现的概率很大。一般的,事件A发生的概率与参数theta相关,A发生的概率记为P(A|theta),则theta的估计应当使上述概率达到最大,这样的theta,顾名思义称为最大似然估计。

一个极端例子:
获得某市样本,显示男女比例为3:2,现在要估计全国人口男女比例。那么肯定不会估计男女比例为1:0, 因为如果是1:0不可能得到3:2的样本。所以,很容易估计全国男女比例3:2。

3.1 单次试验,参数=1样本=1

抛硬币实验,抛10次硬币,出现6次正面, 那么这个模型的似然函数L为:
L(theta) = C10(6)*(theta)^6*(1-theta)^4
选择怎样的theta才会使得结果最大呢?(即出现试验结果:抛10次出现6次正面)?

解1
试验:
theta=0.4, C10(6)*0.4^6*(1-0.4)^4 = 0.1115
theta=0.5, C10(6)*0.5^6*(1-0.5)^4 = 0.2051
theta=0.6, C10(6)*0.6^6*(1-0.6)^4 = 0.2508 <—MAX
theta=0.7, C10(6)*0.7^6*(1-0.7)^4 = 0.2001 …

解2
以theta为横轴、L为竖轴画曲线, 显然theta=0.6时取得极大值。 又例如: 这次试验抛了更多次,100次出现60次正面, 画出曲线后表明L(theta)在theta=0.6取得极值0.0812。

3.2 多次试验,参数=1样本>1

最大似然估计,其真正的用途,是针对多次实验的。
例如:
对二项分布的抛硬币模型,如果把抛10枚硬币出现几次正面称为进行了一次实验,就是每次试验抛10次硬币,同时用X表示正面朝上的次数,Xi(i=1 … 5),那么现在进行5次实验,则试验结果为得到数字朝上次数Xi是{7,5,4,3,7}。就是说,第一轮试验10次正面向上出现了7次;第二轮试验10次正面向上出现了5次,……,第5轮试验了10次正面向上出现了7次。
则:
这个二项分布的样本容量表示为N=10,试验次数表示为n=5,模型参数theta用p表示。

单次实验出正面的概率为:
P(X=xi) = C(N,xi)*p^xi*(1-p)^(N-xi)

每次实验都独立同分布的:
f(x1,x2……xn|p) = f(x1|p)f(x2|p)…f(xn|p),
其中的f是模型,具体到这里是二项分布模型,每个f(xn|p)表示在同一个参数p下的实验结果,这是个条件概率。

极大似然函数为:
L(p|x1,x2……xn) = f(x1,x2……xn|p) = = f(x1|p)f(x2|p)…f(xn|p)
= C(N,x1)*C(N,x2)……*C(N,xn) * p^(∑xi) * (1-p)^(Nn-∑xi)

由于乘法不好处理,而且估计函数f是指数型的,取对数并不影响其单调性:
ln L(p) = ln( C(N,x1)*C(N,x2)……*C(N,xn) ) + (∑xi)ln(p) + (Nn-∑xi)ln(1-p)

此时对p求偏导:
d(ln L)/dp = (∑xi)/p – (Nn-∑xi)/(1-p)

在d(lnL)/dp=0 时,L将取得极大值:
即p = (∑xi)/Nn

本例中:
p = (∑xi)/Nn=26/50=0.52。
也就是出现的正面序列{7,5,4,3,7}表明这个硬币出正面的概率0.52,一枚接近正常的硬币。

所以:
最大似然估计基本思想是,当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大。
也就是,在已经得到试验结果的情况下,应该寻找使这个结果出现的可能性最大的那个theta作为真theta的估计。

* 再例如抽球实验
假设一个袋子装有比例未知的白球与红球,有放回的抽取了10次进行实验,结果是抽到了7次白球和3次红球。
在此数据样本条件下,可以采用最大似然估计法求解袋子中白球的比例。(当然,很明显,这种数据情况下,白球比例是70%)
但是了解方法很重要:

极大似然函数:
L(theta|x1…xn) = f(x1…x10|theta) = P(x1|theta)…P(x10|theta)
= theta^7 * (1-theta)^3
这里f是模型,theta是参数。
取对数、求导、使导数为零, 得theta=0.7。

* 再例如正态分布
假如一组采样值(x1,…,xn),已经知道x服从正态分布,且标准差是已知。
那么当这个分布的期望为多少时,产生这个采样样本数据的概率为最大?

极大似然函数:
L(theta|x1…xn) = f(x1…xn|theta) = P(x1|theta)…P(xn|theta)
= ( 1 / (sqrt(2*pi).th) )^n * exp( -1/2sqr(th) * (x1-miu)^2…(xn-miu)^2 )
这里f是模型(正态分布),miu是参数(期望)。
得miu = (x1+x2…xn)/n 。

注意:
最大似然函数,不一定唯一,也可能不存在。

3.3 连续型

以上是离散型总体的, 如果是连续型总体,常用密度函数(PDF:probability density function),来描述一个随机变量,输出在某个取值点附近的可能性的值。 也就是对于随机变量X,如果存在一个非负函数f(x), 使得对任意实数a,b(a<b)有P(a<X<=b)=∫f(x)dx,则f(x)为该随机变量X的概率密度函数PDF。

如果多次的x1…xn是相互独立同分布,则联合概率密度f=f(x1)..f(xn)。

3.4 多参数

以上是单参数的,仅一个参数theta。对于多参数p1,p2…pi,只不过从对一个参数求导数,变为对多个参数求偏导的方程组。

例如,前面正态分布例子中, 存在期望miu和方差th2两个参数待估计的就是两参数的。

3.5 连续型多参数

四、 参数估计、最优化

参数估计, 就是已知某个随机样本满足某种概率分布、但是其分布的具体的参数不清楚,然后通过若干次试验观察其结果,通过结果推出参数的大概值;参数估计属于统计学的经典问题。

最大似然估计,是参数估计的方法之一,是概率论在统计学的应用。它建立在这样的思想上:
已知某个参数能使这个样本出现的概率最大,那么当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。

要注意:
应用最大似然估计方法要结合特定的环境,因为它需要提供样本的已知模型,才能估算参数,例如在模式识别中,就可以设定目标符合高斯模型。

4.1 最大似然估计、贝叶斯估计

最大似然估计方法:
最大似然估计,是把参数看做是确定(非随机)但是未知的,最好的估计值是在获得实际观察样本的概率为最大的条件下得到的。

贝叶斯估计方法:
贝叶斯估计是把参数当做具有某种分布的随机变量,样本的观察结果使先验分布转换为后验分布,再根据后验分布修正原先对参数的估计。

注意:
虽然这两者在结果上通常是近似的,
但概念上处理方法是完全不同的。

4.2 最大似然估计、最小二乘

最大似然估计:
当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得从模型中抽取该n组样本观测值的概率最大,这是从概率角度考虑问题。直观理解,似然函数在给定参数的条件下观测到一组数据realization的概率密度。最大似然函数的思想就是什么样的参数才能使观测到目前这组数据的概率是最大。
类似这种从概率角度考量的估计量还有矩估计(moment )之类。

最小二乘:
当从模型总体随机抽取n组样本观测值后,最合理的参数估计量应该使得模型能最好地拟合样本数据,也就是估计值和观测值之差的平方和最小。最小二乘法模型就是让loss function最小,当然loss function不仅限于欧氏距离。

可见:
最小二乘法以估计值与观测值的差的平方和作为损失函数,极大似然法则是以最大化目标值的似然概率函数为目标函数, 相同之处是两者都把估计问题变成了最优化问题,但显然是从不同原理出发的两种参数估计方法。

而且:
最大似然估计是需要有分布假设,如果不知道分布函数就不可能列出似然函数,这在实务中是很困难的。最小二乘法则不需要这种假设。

另外:
如果分布恰好是正态分布函数的话,那么最大似然估计和最小二乘估计就相同了。

4.3 联系

后验概率在实际中一般是很难直接计算出来的,相反,先验概率的计算就容易。
因此,一般是通过先验概率来计算后验概率。
在这种意义上,似然函数是可以理解为条件概率的逆反。

例如:
在已经知道某个参数p时,要求事件A发生的条件概率,P(A|p) = P(Ap) / P(p) ,这是先验概率;
利用贝叶斯定理得:
P(p|A) = P(Ap) / P(A) = P(A|p)P(p) / P(A)
这就是已经知道事件A发生了来求取参数p的条件概率P(p|A)了。

因此可以反过来构造表示似然性的方法:
已知有事件A发生,运用似然函数L(p|A), 来估计参数p的可能性。

上面的贝叶斯公式又称为后验概率公式, 或者逆概率公式:
按照乘法法则,可以导出 P(A∩B) = P(A)*P(B|A) = P(B)*P(A|B)。
上式可变形为 P(p|A) = P(A|p)*P(p) / P(A)。

这个贝叶斯公式对应的贝叶斯法则的原理很简单:
当不能确定一个事物的本质时,可以依靠与事物特定本质相关的事件出现的多少、来判断其本质属性的概率。
例如:不知道一个人的品质,可是如果看到这个人总是做好事这一事件,可以推断这人是好人的概率就大。

0 回复

发表评论

Want to join the discussion?
Feel free to contribute!

发表评论