目录
简介
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(y∣x):f将x分类为y的概率
p
(
y
∣
x
/
s
i
)
p(y|x/s_i)
p(y∣x/si):去掉Ai这个维度,f将x分类为y的概率
p ( y ∣ x / x i ) p(y|x/x_i) p(y∣x/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(y∣x/xi)=Σs=1mp(xi=as∣x/xi)p(y∣x←xi=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(y∣x/xi)=Σs=1mp(xi=as)p(y∣x←xi=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(y∣x1,x2,...,xn)=p(x1,x2,...,xn)p(x1,x2,...,xn,y)=p(x1,x2,...,xn)p(x1,x2,...,xn∣y)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(y∣x)=p(y)i∏np(xi)p(xi∣y)
去掉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(y∣x/xi)=p(y)j=i∏np(xj)p(xj∣y)
将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(y∣x←xi=as)=p(y)p(xi=as)p(xi=as∣y)j=i∏np(xj)p(xj∣y)
等价变换为:
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(y∣x←xi=as)p(xi=as)=p(xi=as∣y)p(y∣x/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(y∣x←xi=as)p(xi=as)=p(y∣x/xi)Σs=1mp(xi=as∣y)
化简得:
Σ
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(y∣x←xi=as)p(xi=as)=p(y∣x/xi)
等价证明成立
p r o D i f f i ( y ∣ x ) proDiff_i(y|x) proDiffi(y∣x)计算公式:
计算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(y∣x)=p(y∣x)−p(y∣x/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.