Dempster–Shafer theory

Wikipedia中的 Dempster-Shafer thoery

同时还参考了浙江大学计算机学院人工智能系  徐从富 教授的《人工智能》课件。

在这里特别感谢!

一、 DS证据理论概述

核心: Dempster合成规则——将多个主体(可以是不同的人的预测、不同的传感器的数据、不同的分类器的输出结果等等)相融合

不知道为什么);满足比Bayes概率理论更弱的条件,即 “不必满足概率可加性”

             2、可以融合多种数据和知识(正如核心中所述)

还没有理解感受到)。

缺点: 1、证据必须是独立的

             2、证据合成规则没有非常坚固的理论支持,其合理性和有效性还存在较大的争议

             3、计算上存在“指数爆炸问题”

             4、在某些情况下得到的结果违背常理,如“Zadeh悖论”,具体见下面的例子

二、 DS证据理论基本概念

其实我也还没太搞懂这之间的区别,只是感觉上应该不一样)。

这里先给出这一场景的所有信息表:

Hypothesis

Mass

Belief

Plausibility

Null

0

0

0

Red

0.35

0.35

0.56

Yellow

0.25

0.25

0.45

Green

0.15

0.15

0.34

Red or Yellow

0.06

0.66

0.85

Red or Green

0.05

0.55

0.75

Yellow or Green

0.04

0.44

0.65

Any

0.1

1.0

1.0

OK,根据上面的例子,我们就来定义一下DS证据理论中的基本概念。

1. 首先我们设X 全域(Universe):也就是指的上面那道光可能发出的颜色,即X = {Red, Yellow, Green}

  对于X 全域,我们一共可以有多少种假设呢?很显然,就是 个啦 (包括空集),这个叫做识别框架,或者是假设空间。

  

  比如说:

 则 

X = {Red, Yellow, Green},={Null, Red, Yellow, Green, Red or Yellow, Red or Green, Yellow or Green, Any}

2. DS证据理论针对识别框架中的每一个假设都分配了概率,我们称为基本概率分配(BPA, Basic Probability Assignment)或者是基本置信分配     (BBA, Basic Belief Assignment )。这个分配函数我们称为mass函数。

  

  1)公式为:

,每个假设的mass函数值(概率(probability)或者是置信度(belief)值)都在0和1之间;

  

  2)同时,空集的mass函数值为 0,即

另外其他的假设mass值得和为1,即

,A 为所包含的假设。

  3)其中,使得mass值大于0的假设 A称为焦元(Focal element)

  

  在我们上面的例子中,Column 2 即为mass函数针对各个假设的值,m(Null) = 0, m(Red) + m(Yellow) + m(Green) + ... + m(Any) = 1 根据该列我们可以得到满足上面的定义。

3. 下面我们要根据mass函数来计算每一个假设的 信度函数 (Belief function) 以及 似然函数 (Plausibility function)

  

  得到的信度函数和似然函数就是这个假设A 的概率范围了:

  1)信度函数的定义如下:

                                                                                    

  该公式表示,对于假设A ,它的信度函数为所有真属于 A 的假设,即 B ,的mass值的和。

  以上面的例子来讲,A假设为 Red,那么它的 Bel 函数值就是0.35, 因为只有它本身是属于假设 A 。

  但是,如果假设A 为 Red or Yellow, 那么它的 Bel 函数值就不是0.06了, 而是 m(Null) + m(Red) + m(Yellow) + m(Red or Yellow) = 0 +   0.35 + 0.25 + 0.06 = 0.66

  2) 似然函数的定义如下:

                       

  该公式表示,对于假设A , 它的似然函数为所有与 A 相交不为空的假设 B 的mass值的和。

  以上面的例子来讲, 还是 A假设为 Red,那么它的 pl 函数值为 m(Red) + m(Red or Yellow) + m(Red or Green) + m(Any) = 0.35 + 0.06 + 0.05 + 0.1 =0.56

  3) 信任区间

  根据上面的信度函数和似然函数,对于一个识别框架中的某个假设A , 我们可以根据其基本概率分配的mass函数来计算 A 的 Bel(A) 及Pl(A)。那么,由信任函数与似然函数组成的闭区间[Bel(A),Pl(A)]则为假设 A 的信任区间,表示对假设 A 的确认程度。

                      

三、 Dempster合成规则

前面所述的都是只有一个主体(subject)对一个识别框架预测。而Dempster合成规则正是用来将多个主体的输出结果相结合的关键步骤。

两个主体的mass函数 m1 和 m2 有:

                       

                        

其中

                       

  

等价于                  

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_Red

合成规则为两个mass函数 m1 和 m2, 对于假设A的合成结果等于两个主体的假设中,所有相交为 A 的假设的mass函数值的乘积的和,再除以一个归一化系数 1- K。归一化系数 1- K 中的 K 的含义是证据之间的冲突(the conflict between the evidences, called conflict probability) (并不太明白为何能够表现证据之间的冲突,从公式上来看就是两个主体提供的证据不同的时候(B与C相交为了空集)的mass函数值乘积)。

举个“栗子”:

一宗谋杀案有三个犯罪嫌疑人 U = {Peter, Paul, Mary}, 两个目击证人分别指证犯罪嫌疑人,得到两个mass函数 m1 和 m2.

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_似然函数_02

1)根据上述公式,为了求得合成规则 m12 ,我们先求归一化系数 1- K 值

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_Dempster-Shafer Evid_03

然后再求合成之后的每个假设的mass函数值

2)Peter的组合mass函数值

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_信息融合_04

3)Paul的组合mass函数值

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_似然函数_05

4)Mary的组合mass函数值

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_Dempster-Shafer Evid_06

由此,我们得到了如上表所示的组合函数 m12 。

根据得到的合成的mass函数,我们同样能计算对于组合mass函数对于各个假设的信度函数以及似然函数。

  

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_似然函数_07

但是这一结果却有悖于我们的常识,因为在两个目击证人指证的证据中,Paul是凶手的概率都不大,但是最终的结果却直接指向了Paul。该例子就是“Zadeh悖论”。

若修改“Zadeh悖论”中的部分数据,如下表:

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_似然函数_08

重新计算新的组合mass函数

1)还是先计算归一化系数 1-K

这次计算采用简便方法,用相交为空的公式来做(及上面的等价公式)

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_数据挖掘_09

2)计算Peter的组合mass函数

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_信息融合_10

3)计算Paul的组合mass函数

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_信息融合_11

4)计算Mary的组合mass函数

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_信息融合_12

5)计算{Peter, Paul, Mary}的组合mass函数

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_Dempster-Shafer Evid_13

根据这次的结果,我们同样可以计算组合函数对每个假设的信度函数值以及似然函数值

基于DS证据理论证据融合的故障诊断python代码 ds证据理论数据融合_信息融合_14

以上就是Dempster-shafer 的基本概念和理论知识了。