贝叶斯概率

来源:互联网 发布:嘉合信网络信息技术 编辑:程序博客网 时间:2024/06/05 03:49

贝叶斯概率

贝斯公式和全概率公式的意思差不多相反。

全概率公式是说;某件事情的发生可以由很多情况导致,那么这件事情发生的概率,就是每件事情导致他发生的概率,乘以每件事情发生的概率。

贝斯公式的意思是:某件事情还是由刚才所说的那些事件引起的,你已经知道某件事情发生了,那么他是由哪件事情引起的呢?就可以又贝斯公式A事件引起他发生的概率。

基本概念

条件概率

条件概率,事件B发生的情况下,事件A发生的概率,用P(A|B)来表示。

公式导出

观察下图
这里写图片描述
易知
P(A|B) = P(A∩B) / P(B)
同理又有
P(B|A) = P(A∩B) / P(A)
所以
P(A|B) * P(B) = P(B|A) * P(A)
P(A|B) = P(B|A) * P(A) / P(B)

经典题型

假设有两个各装了100个球的箱子,甲箱子中有70个红球,30个绿球,乙箱子中有30个红球,70个绿球。假设随机选择其中一个箱子,从中拿出一个球记下球色再放回原箱子,如此重复12次,记录得到8次红球,4次绿球。问题来了,你认为被选择的箱子是甲箱子的概率有多大?

以下,A代表甲盒,R表示红球
当取出第一个红球的时候
P(A|R)=P(R|A)*P(A)/P(R)
分别展开:
在甲盒子中取出红球的概率
P(R|A)=70/100=0.7
选择甲盒子的概率
P(A)=0.5
取出红球的概率(从两个盒子中),等于从甲盒子中取出红球的概率+从乙盒子中取出红球的概率
P(R)= 0.7*0.5+0.3*0.5=0.5
所以
P(A|R)=0.7*0.5/0.5=0.7

请注意,第一个红球的出现导致了我们对两个盒子的概率猜测发生了修正
现在甲盒子被选取的概率是0.7,当然乙盒子被选取的概率自然就是0.3

当第二个红球出现的时候
P(A)=0.7
P(R) = 0.7 * 0.7 +0.3*0.3 = 0.58
P(A|R) = 0.7 * 0.7 / 0.58 = 0.845
于是第二次迭代之后,甲盒子的概率称为了0.845

备注下,如果出现了绿球,则公式转变为
P(A|G)=P(G|A)*P(A)/P(G)

js代码

// 甲盒子和乙盒子的概率var pa = .5;var pb = .5;// 其中的红绿球概率var par=.7;var pag =.3;var pbr=.3;var pbg=.7;/*    calp = pa_ball * pa / pball    pa_ball -> 甲盒子中某球的概率    pa -> 甲盒子的概率    pball -> 某球的全概率 */function calp(pa_ball,pa,pball){    return pa_ball * pa / pball;}function calBall(color){    var pball;    var pa_ball;    if(color == 'red'){        pball = pa*par +pb*pbr;        pa_ball = par;    }else{        pball = pa*pag +pb*pbg;        pa_ball = pag;    }    pa = calp(pa_ball,pa,pball);    pb = 1-pa;    console.log('after '+color+' ball: ',pa);}for(var i=0;i<8;i++){    calBall('red');}for(var i=0;i<4;i++){    calBall('green');}
0 0
原创粉丝点击