贝叶斯概率公式如何解决狼来了问题?

如题所述

贝叶斯概率公式应用一——狼来了问题 问题描述:

狼来了问题:

合理假设:

(1)村民初始对小孩的信任度为0.8;

(2)可信的小孩说谎的可能性为0.1;

(3)不可信的小孩说谎的可能性为0.5;

小孩说两次谎后,他的可信度变为0.138,求如果这个孩子要改邪归正,他需要多少次才能把信任度提高到80%?

二、实验数据说明

1. 实验数据

a.事件A表示“小孩说谎”,用事件A*表示“小孩不说谎”;

b.事件B表示“小孩可信”,用事件A*表示“小孩不可信”;

事件

P(B)

P(A/B)

P(A/B*)

概率

0.138

0.1

0.5

事件

P(B*)

P(A*/B)

P(A*/B*)

概率

1-0.138

1-0.1

1-0.5

三、解决方案:

使用语言:python

原理:贝叶斯概率

思路:小孩不说谎后,使用贝叶斯概率公式,计算小孩每次真话后的可信度,记录小孩可信度首次超过0.8时的计算次数,即为结果。

步骤:

$1.设小孩当前的可信度P(B)为0.138,次数为0;

$2.使用贝叶斯概率公式

P(B/A*)=P(A*/B)*P(B)/(P(A*/B)*P(B)+P(A*/B*)*P(B*))

求小孩不说谎后的可信度;次数加一,小孩当前的可信度为P(B)=P(B/A*);

$3.如果P(B)>=0.8,记录次数,结束;否则,执行$2.

四、结果如下:

(1) 表1.1列出了小孩初始可信度为0.8时,小孩说谎5次,每次说谎后的可信度;

说谎次数

1

2

3

4

5

可信度P(B)

0.4444

0.1379

0.0310

0.0064

0.0013

表1.1

(2) 表1.2表示小孩连续说谎2次后,可信度为0.138时,小孩连续不说谎十次,每次不说谎后的可信度;

说谎次数

1

2

3

4

5

可信度P(B)

0.2237

0.3415

0.4828

0.6294

0.7516

说谎次数

6

7

8

9

10

可信度P(B)

0.8448

0.9074

0.9464

0.9695

0.9828

表1.2

(3) 图1.1左图显示了小孩说谎后的可信度的变化情况,右图显示了连续不说谎10次的可信度的变化情况;x轴表示不说谎次数,y轴表示可信度。

贝叶斯概率公式应用一——狼来了问题X

图1.1

结论:从表1.2可以看出,小孩改邪归正后,连续不说谎6次后的可信度可以达到0.8448,首次超过0.8。

温馨提示:答案为网友推荐,仅供参考
相似回答