经典回顾:Probabilities Difference方法

简介

PD方法是一种对于分类任务解释性的方法,给定一个需要解释的分类模型f,和一个对应的示例x,该方法可以计算x中的每一个维度对于将x分类为y的影响(影响分为正影响和负影响)。

介绍

变量介绍

x x x:一个实例
y y y:类别
f f f:需要解释的模型
x i x_i xi:x第i维
a s a_s as:xi第s种可能的取值
p ( y ∣ x ) p(y|x) p(yx):f将x分类为y的概率
p ( y ∣ x / s i ) p(y|x/s_i) p(yx/si):去掉Ai这个维度,f将x分类为y的概率

p ( y ∣ x / x i ) p(y|x/x_i) p(yx/xi)计算公式:

p ( y ∣ x / x i ) = Σ s = 1 m p ( x i = a s ∣ x / x i ) p ( y ∣ x ← x i = a s ) p(y|x/x_i)=Σ_{s=1}^mp(x_i=a_s|x/x_i)p(y|x\leftarrow x_i=a_s) p(yx/xi)=Σs=1mp(xi=asx/xi)p(yxxi=as)
这里假设x各个维度都是独立的,计算公式可以进一步简化:
p ( y ∣ x / x i ) = Σ s = 1 m p ( x i = a s ) p ( y ∣ x ← x i = a s ) p(y|x/x_i)=Σ_{s=1}^mp(x_i=a_s)p(y|x\leftarrow x_i=a_s) p(yx/xi)=Σs=1mp(xi=as)p(yxxi=as)
从这个公式计算可出看出,很多模型是无法真正去掉xi来计算实例分类概率,因此通过遍历所有的取值来等价实现去掉xi,那么这个等价真正的合理吗?为了证明这个等价的正确性,我们需要找到一个能够去掉xi来计算实例分类的模型,如果两者的计算公式p(y|x/xi)可以互相推导则证明等价是合理的。

等价证明:

朴素贝叶斯模型恰好是满足能够去掉xi来计算实例分类结果的模型:
贝叶斯定理:
p ( y ∣ x 1 , x 2 , . . . , x n ) = p ( x 1 , x 2 , . . . , x n , y ) p ( x 1 , x 2 , . . . , x n ) = p ( x 1 , x 2 , . . . , x n ∣ y ) p ( y ) p ( x 1 , x 2 , . . . , x n ) p(y|x_1,x_2,...,x_n)=\frac{p(x_1,x_2,...,x_n,y)}{p(x_1,x_2,...,x_n)}=\frac{p(x_1,x_2,...,x_n|y)p(y)}{p(x_1,x_2,...,x_n)} p(yx1,x2,...,xn)=p(x1,x2,...,xn)p(x1,x2,...,xn,y)=p(x1,x2,...,xn)p(x1,x2,...,xny)p(y)
当各个维度条件独立时,即为朴素贝叶斯模型:
p ( y ∣ x ) = p ( y ) ∏ i n p ( x i ∣ y ) p ( x i ) p(y|x) = p(y)\prod_i^n \frac{p(x_i|y)}{p(x_i)} p(yx)=p(y)inp(xi)p(xiy)
去掉xi朴素贝叶斯模型对于实例x分类结果为:
p ( y ∣ x / x i ) = p ( y ) ∏ j ≠ i n p ( x j ∣ y ) p ( x j ) p(y|x/x_i) = p(y)\prod_{j\neq i}^n \frac{p(x_j|y)}{p(x_j)} p(yx/xi)=p(y)j=inp(xj)p(xjy)
将xi赋值为 a s a_s as朴素贝叶斯模型对于x分类结果为:
p ( y ∣ x ← x i = a s ) = p ( y ) p ( x i = a s ∣ y ) p ( x i = a s ) ∏ j ≠ i n p ( x j ∣ y ) p ( x j ) p(y|x\leftarrow x_i=a_s) =p(y)\frac{p(x_i=a_s|y)}{p(x_i=a_s)} \prod_{j\neq i}^n \frac{p(x_j|y)}{p(x_j)} p(yxxi=as)=p(y)p(xi=as)p(xi=asy)j=inp(xj)p(xjy)
等价变换为:
p ( y ∣ x ← x i = a s ) p ( x i = a s ) = p ( x i = a s ∣ y ) p ( y ∣ x / x i ) p(y|x\leftarrow x_i=a_s) p(x_i=a_s)=p(x_i=a_s|y) p(y|x/x_i) p(yxxi=as)p(xi=as)=p(xi=asy)p(yx/xi)
最终得到:
Σ s = 1 m p ( y ∣ x ← x i = a s ) p ( x i = a s ) = p ( y ∣ x / x i ) Σ s = 1 m p ( x i = a s ∣ y ) Σ_{s=1}^mp(y|x\leftarrow x_i=a_s) p(x_i=a_s)=p(y|x/x_i)Σ_{s=1}^mp(x_i=a_s|y) Σs=1mp(yxxi=as)p(xi=as)=p(yx/xi)Σs=1mp(xi=asy)
化简得:
Σ s = 1 m p ( y ∣ x ← x i = a s ) p ( x i = a s ) = p ( y ∣ x / x i ) Σ_{s=1}^mp(y|x\leftarrow x_i=a_s) p(x_i=a_s)=p(y|x/x_i) Σs=1mp(yxxi=as)p(xi=as)=p(yx/xi)
等价证明成立

p r o D i f f i ( y ∣ x ) proDiff_i(y|x) proDiffi(yx)计算公式:

计算x中的xi维度对于将x分类为y的影响:
p r o D i f f i ( y ∣ x ) = p ( y ∣ x ) − p ( y ∣ x / x i ) proDiff_i(y|x)=p(y|x)-p(y|x/x_i) proDiffi(yx)=p(yx)p(yx/xi)

参考文献

M. Robnik-Šikonja and I. Kononenko, “Explaining Classifications For Individual Instances,” in IEEE Transactions on Knowledge and Data Engineering, vol. 20, no. 5, pp. 589-600, May 2008, doi: 10.1109/TKDE.2007.190734.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值