依据规则r4:
P(B/A4)?LS4?P(B)4?0.03??0.11
(LS4?1)?P(B)?13?0.03?1P(B/A4)0.11??0.124
1?P(B/A4)1?0.11O(B/A1,A2,A3,A4)?1
1?O(B/A1,A2,A3,A4)O(B/A4)?将各条知识对结论B之几率进行合成得:
O(B/A1,A2,A3,A4)?
解法二 利用更新算法计算结论B的后验概率。
由题意,已知结论B的先验概率P(B)=0.03,且证据A1肯定存在,有:
P(B/A1)?LS1?P(B)20?0.03??0.382
(LS1?1)?P(B)?119?0.03?1也就是说,由于A1的发生,使B的概率由0.03增加到0.382。
再应用规则r2,这时可以认为B的先验概率已是0.382,且证据A2肯定存在,有:
P(B/A1A2)?LS2?P(B/A1)300?0.382??0.9946
(LS2?1)?P(B/A1)?1299?0.382?1也就是说,由于A2的发生,使B的概率由0.382增加到0.9946。 同理应用规则r3和r4,可以得到:
P(B/A1A2A3)?LS3?P(B/A1A2)75?0.9946??0.9999
(LS3?1)?P(B/A1A2)?175?0.9946?1LS4?P(B/A1A2A3)4?0.9999??1
(LS4?1)?P(B/A1A2A3)?13?0.9999?1P(B/A1A2A3A4)?也就是说,由于A1,A2,A3,A4的发生,使B的概率由0.03增加到了1。
使用每条规则逐步对结论的概率进行更新的结果与第一种方法所得的结果是相同的。
例 设有如下知识:
r1:IF A THEN (20, 1) B1
r2:IF B1 THEN (300, 0.0001) B2 已知:结论B1的先验概率P(B1)=0.03,B2的先验概率P(B2)=0.01,当证据A必然发生时,求P(B2/A)=? 解:根据题意建立如图所示的推理网络。 由于A必然发生,所以证据A肯定存在。 依据规则r1:
P(B1/A)?LS?P(B1)20?0.03??0.382
(LS?1)?P(B1)?119?0.03?1在使用规则r2时,由于B1不是必然发生,即证据B1是不确定的。
17
? P(B2/B1)?LS2?P(B2)300?0.01??0.752
(LS2?1)?P(B2)?1(300?1)?0.01?10.381?0.752?1
? P(B2/A)?P(B2)?P(B2/B1)?P(B2)?[P(B1/A)?P(B1)]
1?P(B1)0.752?0.01?[0.382?0.03]1?0.03?0.01?0.765?0.352 ?0.279?0.01?
例:设有如下知识:
r1:IF E1 THEN (20, 1) H r2:IF E2 THEN (300, 1) H
已知:结论H的先验概率P(H)=0.03,若证据E1和E2依次出现,按主观Bayes推理,求H在此条件下的概率P(H/ E1,E2)=?
解 按两种方法求解此题,即更新法和合成法。据题意,可以得到如图所示的推理网络。 解法一(合成法) 由H的先验概率P(H)=0.03,可以得到其先验几率 O(H)=P(H)/(1-P(H))=0.03/(1-0.03)=0.0309 由规则r1可得:
O(H/ E1)=LS1×=20×0.0309=0.618 由规则r2可得:
O(H/ E2)=LS2×O(H)=300×0.0309=9.27 将两条知识对结论H的几率进行合成得:
O(H/ E1) O(H/ E2)
O(H/ E1, E2) = × × O(H)
O(H) O(H) =0.618×9.27/0.0309=185.4
解法二(更新法) 由于H的先验概率P(H)=0.03,依据规则r1,对H的概率进行更新:
P(H/E1)?LS1?P(H)20?0.03??0.382
(LS1?1)?P(H)?119?0.03?1LS1?P(H/E1)300?0.382??0.9946
(LS1?1)?P(H/E1)?1299?0.382?1将0.382作为H的先验概率,应用规则r2:
P(H/E1,E2)?由此可以看出,使用两种方法,求得的结果是一样的。
例 设有如下规则
r1:E1 → H1 (LS1=2, LN1=0.001) r2:E2 → H1 (LS2=100, LN2=0.001) r3:H1 → H2 (LS3=65, LN3=0.01)
18
r4:E3 → H2 (LS4=300, LN4=0.01)
已知:O(H1)=0.1, O(H2)=0.01, C(E1/S1)=3, C(E2/S2)=1, C(E3/S3)=-2
求:H2的后验几率O(H2/S1,S2,S3)=?
解:由已知规则得到的推理网络如图所示。 (1)计算O(H1/S1)
?O(H1)?0.1
P(H(H1)1)?O1?O(H?0.1?0.09
1)1.1由规则r1:
P(H1/EP(H1)2?01)?LS1?(LS?1)?P(H?.09?0.165
11)?11?0.09?1又? C(E1/S1)?3?0
? 使用CP公式计算P(H1/S1)得:
P(HS11/1)?P(H1)?[P(H1/E1)?P(H1)]?5C(E1/S1)
?0.09?(0.165?0.09)?0.6?0.135
O(H1/SH1/S1)0.1)?P(1?P(H)?1350.865?0.156
1/S1(2)计算O(H1/S2)
由上面的计算得知P(H1)?0.09,由规则r2:
P(H1/E?P(H1)100?2)?LS2(LS(H?0.09?0.9092?1)?P1)?199?0.09?1又? C(E2/S2)?1?0
? 使用CP公式计算P(H1/S2)得:
P(HSE11/2)?P(H1)?[P(H1/2)?P(H1)]?5C(E2/S2)
?0.09?(0.909?0.09)?0.2?0.254
O(H1/S1/S2)0.2542)?P(H1?P(H?0.746?0.34
1/S2)(3)计算O(H1/S1,S2) 由合成公式:
19
O(H1/S1,S2)?O(H1/S1)O(H)?O(H1/S2)O(H?O(H1)
11)?0.156?0.34/0.1
?0.53
(4)计算P(H2/S1,S2)及O(H2/S1,S2)
为了计算O(H2/S1,S2),需要先计算P(H2/S1,S2),这时,H1可以看作是H2的直接证据。 为了确定应用EH公式的哪一部分,需要判断P(H1)与P(H1/S1,S2)的大小关系。
?O(H1/S1,S2)?0.53,O(H1)?0.1
显然,O(H1/S1,S2)?O(H1)
?P(H1/S1,S2)?P(H1),故选用EH公式的后半部分,即
P(H2/S1,S2)?P(H(H2/H1)?P(H2)2)?P1?P(H?[P(H1/S1,S2)?P(H1)]
1)? P(H2)?O(H2)0.011?O(H??0.01
2)1?0.01P(HLS3?P(H2)65?0.012/H1)?(LS1)?P(H??0.396
3?2)?1(65?1)?0.01?1P(H,SO(H1/S1,S2)1/S12)?1?O(H?0.53?0.346
1/S1,S2)1?0.53将以上三个值代入上式,得到:
P(H0.396?0.012/S1,S2)?0.01?1?0.09?[0.346?0.09]?0.119
? P(H/S1,S2)2/S1,S2)?P(H21?P(H?0.135
2/S1,S2)(5)计算O(H2/S3)
? C(E3/S3)=-2<0
? 应用CP公式的前半部分得:
P(H/S?E?[123)?P(H2/3)?[P(H2)?P(H2/?E3)]5C(E3/S3)?1]
? P(H3?P(H2)0.01?2/?E3)?LN(LN)?1?0.01(0.01?1)?0.01?1?0.0001
3?1)?P(H2代入上式后得到:
P(H2/E3)?0.0001?(0.01?0.0001)?(?2/5?1)
?0.0001?0.00594?0.006
20