人工智能原理教案03章 不确定性推理方法3.4 证据理论(DS Theory)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“人工智能不确定性推理”。
3.4 证据理论(D-S Theory)
证据理论由Dempster首先提出,并由他的学生Shafer发展起来,也称D-S理论。在专家系统的不精确推理中已得到广泛的应用, 也用在模式识别系统中。证据理论中引入了信任函数,它满足概率论弱公理。在概率论中,当先验概率很难获得,但又要被迫给出时,用证据理论能区分不确定性和不知道的差别。所以它比概率论更合适于专家系统推理方法。当概率值已知时,证据理论就成了概率论。因此,概率论是证据理论的一个特例,有时也称证据沦为广义概率论。
在http://yoda.cis.temple.edu:8080/UGAIWWW/lectures/dempster.html上有关于Dempster-Shafer理论的英文介绍。
在http://www.quiver.freeserve.co.uk/Dse.htm上有免费的利用证据理论实现的程序Dempster Shafer Engine下载。有兴趣的读者可以安装这一软件,看看运行效果。这是我们已经下载下来的程序包:DempsterShaferEngine.zip。3.4.1 证据的不确定性
证据用集合来表示:如U中的每个元素代表一种疾病。讨论一组疾病A发生的可能性时,A就变成了单元的集合。U内元素Ai间是互斥的,但Ai中元素间是不互斥的。
图3-4证据理论集合空间分布示意图
t3-4_swf.htm 例如U可以表示疾病空间,而每个Ai可以是一类疾病,各类疾病之间是可以交叉的(同时得多种疾病),但是各类疾病本身是不同的。
证据理论定义了多个函数值来描述证据及规则的不确定性,其中包括:分配函数、信任函数和似然函数,分别定义如下。
· 基本概率分配函数m:2U→[0,1]。
m(Φ)= 0 空的为零
Σm(A)= 1 全空间的和为
1(A属于U)
基本概率分配函数是在U的幂集2U 上定义的,取值范围是[0,1]。
基本概率函数的物理意义是:
若A属于U,且不等于U,表示对A的精确信任度
若A等于U,表示这个数不知如何分配
· 信任函数Bel:2U →[0,1]。
A的信任函数为:包含于A中的所有集合的概率分配函数值之和。
根据定义有:Bel(Φ)=m(Φ)= 0
Bel(U)=Σm(B)= 1(B属于U)
信任函数Bel类似于概率密度函数,表示A中所有子集的基本概率分配数值的和。表示对A的总信任度。
· 似然函数Pl:2U →[0,1]
A的似然函数为Pl(A):与A的“与”不为零的所有集合的概率分配函数值之和。
根据定义有:0 ≤ Bel(A)≤ Pl(A)≤1
可见Bel是Pl的一部分。
称Bel(A)和Pl(A)是A的下限不确定性值和上限不确定性值。因此可用区间(Bel(A),Pl(A))来表示A的不确定性度量。
我们可以通过信任函数、似然函数的特殊值,以及这些特殊值的相关关系来讨论它们所描述的证据可信度情况。设函数f(Bel(A), Pl(A)),下列特殊值的含义:
f(1, 1)表示A为真
f(0, 0)表示A为假
f(0, 1)表示对A一无所知
f(1, 0)不可能成立
一般情况都是包含在这些特殊值的某一个区间中的。可以根据与这些特殊值的相对关系来判断其可信程度。
此外,还可以用函数f1(A)来衡量A的不确定性,其定义如下:
f1(A)= Bel(A)+ |A|/|U|(Pl(A)∑m1(X)m2(Y), 当X∩Y =Φ
= ∑m1(X)m2(Y), 当X∩Y ≠Φ
且K-1 ≠ 0,若K-1 = 0,认为m1, m2矛盾。没有联合基本概率分配函数。例题
已知:f1(A1)= 0.40 ,f1(A2)=0.50,|U| = 20.A1→B={b1,b2,b3},(c1,c2,c3)=(0.1,0.2,0.3)
A2→B={b1,b2,b3},(c1,c2,c3)=(0.5,0.2,0.1)
求:f1(B)
解:
(1)先求:
m1({b1},{b2},{b3})=(0.4*0.1,0.4*0.2,0.4*0.3)
=(0.04,0.08,0.12);
m1(U)=1-[m1({b1})+m1({b2})+m1({b3})]=0.76;
m2({b1},{b2},{b3})=(0.5*0.5,0.5*0.2,0.5*0.1)
=(0.25,0.10,0.05);
m2(U)=1-[m2({b1})+m2({b2})+m2({b3})]=0.70;
及m = m1⊙ m2
1/K=m1({b1})*m2({b1})+
m1({b1})*m2({U})+ m1({b2})*m2({U})+ m1({b2})*m2({b2})+ m1({b3})*m2({b3})+m1({b3})*m2({U})+m1({U})*m2({b1})+ m1({U})*m2({b2})+ m1({U})*m2({b3})+ m1({U})*m2({U})
=0.01+0.028+0.008+0.056+0.06+0.084+0.19+0.076+0.038+0.532
=1.082
(2)然后计算:
m({b1})=K*(m1({b1})*m2({b1})+ m1({b1})*m2({U})+ m1({U})*m2({b1}))
=1.082*(0.01+0.028+0.19)
=0.247
m({b2})=K*(m1({b2})*m2({b2})+ m1({b2})*m2({U})+ m1({U})*m2({b2}))
=1.082*(0.008+0.056+0.076)
=0.151
m({b3})=K*(m1({b3})*m2({b3})+ m1({b3})*m2({U})+ m1({U})*m2({b3}))
=1.082*(0.06+0.084+0.038)
=0.138
m(U)=1-[ m({b1})+ m({b2})+ m({b3})]=0.464
最后:
Bel(B)=m({b1})+ m({b2})+ m({b3})=0.536
P1(B)=1-Bel(~B)
由于基本概率分配函数只定义在B集合和全集U之上,所以其它集合的分配函数值为0,即Bel(~B)=0
所以,可得
P1(B)=1-Bel(~B)=1
F1(B)=Bel(B)+(P1(B)-Bel(B))*|B|/|U|
=0.536+(1-0.536)*3/20
=0.606