证据深度学习概念和完整推导过程
证据深度学习概念和完整推导过程
前置知识
主观逻辑 (Subjective Logic)
主观逻辑 (Subjective Logic) 是一种概率逻辑,它明确地将认知不确定性和信息源信任度纳入考量。简单来说,它是一种用于在不确定、信息不完整或信息源不可靠的情况下进行推理和决策的数学框架。
主观意见(Subjective Opinion)
主观逻辑的核心是主观意见(Subjective Opinion),它取代了传统概率论中的单一概率值。一个主观意见
对于一个二元命题(如:是/否),一个主观意见
信念值 (Belief Mass,
):相信命题 为真的程度。不信值 (Disbelief Mass,
):相信命题 为假的程度。不确定性 (Uncertainty Mass,
):由于缺乏证据或证据不完整而导致的不确定程度。先验概率/基准率 (Base Rate,
):在没有任何证据的情况下,命题 预期的概率。
这三个信念分量之和必须满足:
主观意见与概率的关系
主观意见可以看作是对传统概率的推广。通过将不确定性
可以根据主观意见计算出对应的期望概率 (Expectation Probability)
这个期望概率是在考虑了信念、不信和不确定性后,对命题
主要特点与优势
- 明确建模不确定性 (Explicitly Models Uncertainty)
主观逻辑的核心优势在于它能够量化和保留不确定性。在传统的概率论中,如果不确定性很高,我们可能仍然被迫给出一个
- 与二元逻辑和概率论兼容 (Compatibility)
主观逻辑的运算符(如合取、析取、条件演绎等)是对传统布尔逻辑(当
- 处理信任和信息来源 (Source Trust and Evidence)
主观逻辑特别适用于建模信任网络。它允许在聚合来自不同来源的信息时,考虑每个信息来源的信任度,通过“折算 (Discounting)”等操作来调整意见。
Dempster-Shafer 证据理论 (DST)
Dempster-Shafer 证据理论 (DST, Dempster-Shafer Theory of Evidence),又称 信度理论 (Theory of Belief Functions),是一种用于 不确定性推理 的数学框架。
它最早由 Arthur P. Dempster 在1967年提出,后由 Glenn Shafer 在1976年的著作《A Mathematical Theory of Evidence》中系统化。
DST 的核心思想是:
在处理 不完整、模糊或冲突性证据 时,直接用 概率论 往往过于严格或困难。
DST 提供了一种更宽松的表示方式,它不要求为所有事件精确给出概率,而是允许以 信度 (belief) 和 似然度 (plausibility) 的区间来描述。
DST 的关键组成部分包括:
识别框架 (Frame of Discernment, Θ):所有可能结果的集合。
基本概率分配 (Basic Probability Assignment, BPA 或 Mass function, m):把一定的置信度分配给 Θ 的子集,而不是单个事件。
信度函数 (Belief, Bel):表示对某个命题的最小可信度。
似然度函数 (Plausibility, Pl):表示对某个命题的最大可能可信度。
关系:
这意味着,概率
DST 的机制可以分为三部分:
- 基本概率分配 (BPA)
给定识别框架 Θ(比如 Θ = {猫, 狗, 兔子}),我们把置信度分配到子集上:
m({猫}) = 0.3
m({狗}) = 0.2
m({猫,狗}) = 0.4 (表示“可能是猫也可能是狗”)
m(Θ) = 0.1 (表示“完全不确定”)
要求:
- 信度与似然度
信度 Bel(A):所有 完全支持 A 的子集 的 BPA 之和。
似然度 Pl(A):所有 不与 A 矛盾的子集 的 BPA 之和。
- Dempster 合成规则
用于将来自 不同信息源 的 BPA 进行合并:
其中
表示冲突度。意义:如果两个证据源冲突较大(K接近1),合成后的结果会受到显著影响。
Dempster 合成规则
我们想判断一个目标是不是 猫(Cat) 还是 狗(Dog)。识别框架:
现在有两个证据源:
证据源1(传感器1):比较确信是猫
(表示不确定,是猫还是狗)
证据源2(传感器2):更偏向狗
合成步骤
- 两两相乘,分类到“交集”
我们把每个集合 (A)(来自证据1)和 (B)(来自证据2)组合,看它们交集是什么:
来自证据1 | 来自证据2 | 交集 | 乘积 |
---|---|---|---|
{Cat} | {Cat} | {Cat} | 0.6 × 0.2 = 0.12 |
{Cat} | {Dog} | ∅(冲突) | 0.6 × 0.7 = 0.42 |
{Cat} | Θ | {Cat} | 0.6 × 0.1 = 0.06 |
{Dog} | {Cat} | ∅(冲突) | 0.3 × 0.2 = 0.06 |
{Dog} | {Dog} | {Dog} | 0.3 × 0.7 = 0.21 |
{Dog} | Θ | {Dog} | 0.3 × 0.1 = 0.03 |
Θ | {Cat} | {Cat} | 0.1 × 0.2 = 0.02 |
Θ | {Dog} | {Dog} | 0.1 × 0.7 = 0.07 |
Θ | Θ | Θ | 0.1 × 0.1 = 0.01 |
- 整理结果
分给 {Cat} 的:0.12 + 0.06 + 0.02 = 0.20
分给 {Dog} 的:0.21 + 0.03 + 0.07 = 0.31
分给 Θ 的:0.01
冲突 K = 0.42 + 0.06 = 0.48
- 归一化(去掉冲突部分)
冲突比例
把前面非冲突部分都除以 0.52:
- 最终结果
猫的支持度 ≈ 38.5%
狗的支持度 ≈ 59.6%
仍然有一点点不确定 ≈ 1.9%
理解
虽然第一个传感器更偏向猫(0.6),但第二个传感器更强烈支持狗(0.7),合成后系统整体更倾向于“狗”。
中间的大冲突(0.48)被“抹掉”,剩余证据按比例分给了相容的结果。
为什么抹除冲突部分 ?
在合成两个证据时,如果一个证据支持集合 (A),另一个证据支持集合 (B),而 (A \cap B = \varnothing),就出现了冲突。
例子:
证据1:90% 认为是 猫
证据2:90% 认为是 狗
因为“猫”和“狗”不可能同时为真,所以这部分乘积就是冲突度 K;Dempster–Shafer 理论想要的是 “一致证据的合力”。它假设:
- 证据源是 相互独立 的,冲突是由于“偶然噪声、有限性信息”等原因产生的,因此,冲突不代表“第三种情况”,而应该被忽略。
所以:
- 他把所有相容证据累加,把冲突度 (K) “丢掉”,然后把剩下的相容质量归一化到 1。
数学上,就是:
可以这样理解:
只保留“有可能共存的证据”。
把冲突部分看成“垃圾数据”,不允许它稀释相容证据。
最后归一化,是为了保持 总和 = 1 的概率质量框架。
所以,“抹除冲突部分”其实是 DST 的设计选择:认为冲突只是无效信息,不必在结果里占比。这种做法在冲突较小时是合理的,但如果冲突很大((K) → 1):
归一化会把很少的一点相容证据“放大”,导致结果可能严重偏向某一方,出现“反直觉”现象。
因此学界提出了替代方法:
Yager 规则:不抹掉冲突,而是把冲突质量分配到全集
,表示“完全不确定”。Dubois–Prade 规则:把冲突分配到交集为空的“并集”。
PCR(Proportional Conflict Redistribution):把冲突按比例分配回原始冲突的集合。
Dirichlet 分布
Dirichlet 分布是 概率向量的分布,常用作多项式分布参数的 共轭先验。
假设有
个类别,每个类别出现的概率为 ,满足:如果向量
服从 Dirichlet 分布,参数为 ,记作:概率密度函数(PDF):
归一化常数:
其中
是 Gamma 函数(阶乘的连续推广)。
直观理解
概率向量
Dirichlet 分布生成的是一个满足
的向量。适合描述 K 类概率的不确定性。
参数
的作用: : 倾向于大 : 倾向于接近 0 :均匀分布
K=2 时退化成 Beta 分布:
期望与方差
设
- 解释:向量分量之间是负相关的,因为
。
与其他分布的关系
分布 | 维度 | 关系 |
---|---|---|
Beta | 1 | K=2 的 Dirichlet |
Bernoulli | 1 | 单次二分类,Beta 是共轭先验 |
Binomial | 1 | 多次二分类,Beta 是共轭先验 |
Categorical | K | 单次多分类,Dirichlet 是共轭先验 |
Multinomial | K | 多次多分类,Dirichlet 是共轭先验 |
证据深度学习
证据深度学习是一种结合 贝叶斯思想 的深度学习方法,它不仅预测类别(或回归值),还量化预测的不确定性。传统深度学习(如 softmax 分类)只给出类别概率,但无法区分“模型不确定”(epistemic uncertainty)与“数据本身噪声”(aleatoric uncertainty)。EDL 通过 证据理论(Dempster–Shafer Theory) 建模预测的不确定性。
核心思想:
对于分类问题,EDL 假设每个类别的概率是一个 Dirichlet 分布 的样本。
神经网络不直接输出类别概率,而是输出 证据值(evidence)。
证据越大 → 模型越自信;证据越小 → 模型越不确定。
不确定性可以自然量化,帮助处理噪声标签、异常样本、迁移学习等场景。