《Mitigating Hidden Confounding Effects for Causal Recommendation》
在推荐系统中存在着由混淆因素导致的虚假关联是因果推荐的主要问题聚焦点。过往介绍的文章主要针对的是混淆因素可以观察到的情况(少部分也谈到了不可观察的情况,但没有深追),而本文主要是提出的在隐藏的混淆因素无法测量的情况下,如何去减轻隐藏混淆因素的影响。
大致的思路是设计了Hidden Confounder Removal(RCH)框架,利用前门调整将要计算的因果效应分为了两个可以识别和计算且与混淆因素独立的两部分。作者在电商产品推荐和微视频推荐两个实际场景中,基于MMGCN网络实例化了RCH框架,并在Tiktok、Kwai、TaoBao三个数据集上进行了实验论证。
因果图
I
:物品特征。
I:物品特征。
I:物品特征。
U
:用户特征。
U:用户特征。
U:用户特征。
V :潜在的混淆因素。同时影响着物品特征和偏好事件的发生。 V:潜在的混淆因素。同时影响着物品特征和偏好事件的发生。 V:潜在的混淆因素。同时影响着物品特征和偏好事件的发生。
L :用户偏好的标识。发生在用户物品交互之后,比如点赞或者购买。 L:用户偏好的标识。发生在用户物品交互之后,比如点赞或者购买。 L:用户偏好的标识。发生在用户物品交互之后,比如点赞或者购买。
M : 用户物品对 U , I 和偏好标识之间的中间变量集合。例如点击 − > 添加购物车 − > 购买。点击 − > 完成观看 − > 点赞。 M: 用户物品对{U,I}和偏好标识之间的中间变量集合。例如点击 ->添加购物车-> 购买。点击->完成观看->点赞。 M:用户物品对U,I和偏好标识之间的中间变量集合。例如点击−>添加购物车−>购买。点击−>完成观看−>点赞。
V → M V \rightarrow M V→M通常是有边的,但是作者在本文中不予考虑。
因果效应计算
最终目标是在不测量混淆因素的情况下,计算因果效应
P
(
l
∣
u
,
d
o
(
i
)
)
P(l|u,do(i))
P(l∣u,do(i))。本文中详细的公式推导细节都是参考这一本统计学领域的著作《Causal inference in
statistics: A primer》。
P
(
l
,
v
,
m
∣
u
,
d
o
(
i
)
)
=
P
(
m
∣
u
,
d
o
(
i
)
)
P
(
v
)
P
(
l
∣
m
,
v
,
u
)
(1)
P(l,v,m|u,do(i))=P(m|u,do(i))P(v)P(l|m,v,u)\tag{1}
P(l,v,m∣u,do(i))=P(m∣u,do(i))P(v)P(l∣m,v,u)(1)
因为L,V,M的条件独立性,公式(1)成立
P
(
l
∣
u
,
d
o
(
i
)
)
=
(
a
)
∑
m
P
(
m
∣
u
,
d
o
(
i
)
)
∑
v
P
(
v
)
P
(
l
∣
m
,
v
,
u
)
=
(
b
)
∑
m
P
(
m
∣
u
,
d
o
(
i
)
)
P
(
l
∣
u
,
d
o
(
m
)
)
.
(2)
\begin{aligned}P(l|u,do(i))&\stackrel{(a)}{=}\sum_mP(m|u,do(i))\sum_vP(v)P(l|m,v,u)\\&\stackrel{(b)}{=}\sum_mP(m|u,do(i))P(l|u,do(m)).\end{aligned} \tag{2}
P(l∣u,do(i))=(a)m∑P(m∣u,do(i))v∑P(v)P(l∣m,v,u)=(b)m∑P(m∣u,do(i))P(l∣u,do(m)).(2)
公式(2b)是通过后门调整计算得来。
P
(
m
∣
u
,
d
o
(
i
)
)
P(m|u,do(i))
P(m∣u,do(i))是I对M的因果效应,
P
(
l
∣
u
,
d
o
(
m
)
)
P(l|u,do(m))
P(l∣u,do(m))是M对L的因果效应。
P
(
m
∣
u
,
d
o
(
i
)
)
P(m|u,do(i))
P(m∣u,do(i))在后门路径
I
←
V
→
L
←
M
I \leftarrow V \rightarrow L \leftarrow M
I←V→L←M中被变量L–D分离。因此
P
(
m
∣
u
,
d
o
(
i
)
)
=
P
(
m
∣
u
,
i
)
P(m|u,do(i)) = P(m|u,i)
P(m∣u,do(i))=P(m∣u,i)
P
(
l
∣
u
,
d
o
(
m
)
)
P(l|u,do(m))
P(l∣u,do(m))可以在不测量V的情况下通过后面调整来阻断后门路径
M
←
I
←
V
→
L
M \leftarrow I \leftarrow V \rightarrow L
M←I←V→L,推导公式如下:
∑
v
P
(
v
)
P
(
l
∣
v
,
m
,
u
)
=
(
a
)
∑
v
∑
i
P
(
v
∣
i
)
P
(
i
)
P
(
l
∣
v
,
m
,
u
)
=
(
b
)
∑
i
∑
v
P
(
v
∣
i
)
P
(
i
)
P
(
l
∣
m
,
v
,
u
,
i
)
=
(
c
)
∑
i
(
∑
v
P
(
l
∣
m
,
v
,
u
,
i
)
P
(
v
∣
i
,
m
)
)
P
(
i
)
=
(
d
)
∑
i
P
(
l
∣
u
,
i
,
m
)
P
(
i
)
(3)
\begin{aligned} \sum_{v}P(v)P(l|v,m,u)& \overset{(a)}{\operatorname*{=}}\sum_v\sum_iP(v|i)P(i)P(l|v,m,u) \\ &\overset{(b)}{\operatorname*{=}}\sum_i\sum_vP(v|i)P(i)P(l|m,v,u,i) \\ &\stackrel{(c)}{=}\sum_i\left(\sum_vP(l|m,v,u,i)P(v|i,m)\right)P(i) \\ &\stackrel{(d)}{=}\sum_iP(l|u,i,m)P(i) \end{aligned}\tag{3}
v∑P(v)P(l∣v,m,u)=(a)v∑i∑P(v∣i)P(i)P(l∣v,m,u)=(b)i∑v∑P(v∣i)P(i)P(l∣m,v,u,i)=(c)i∑(v∑P(l∣m,v,u,i)P(v∣i,m))P(i)=(d)i∑P(l∣u,i,m)P(i)(3)
公式(3a)成立条件:
P
(
v
)
=
∑
v
P
(
v
∣
i
)
P
(
i
)
P(v)=\sum_vP(v|i)P(i)
P(v)=∑vP(v∣i)P(i)
公式(3b)成立条件:在因果图中给定V,M后,I和L是独立的。 P ( l ∣ m , v , u ) = P ( l ∣ m , v , u , i ) P(l|m,v,u) = P(l|m,v,u,i) P(l∣m,v,u)=P(l∣m,v,u,i)
公式(3c)成立条件:在因果图中给定I后,M和V是独立的。 P ( v ∣ i ) = P ( v ∣ i , m ) P(v|i)=P(v|i,m) P(v∣i)=P(v∣i,m)
公式(3d)成立条件:边际分布的性质决定的。
所以最终I对L的因果效应计算公式如下,计算两个部分的条件概率
P
(
l
∣
u
,
d
o
(
i
)
)
=
∑
m
P
(
m
∣
u
,
i
)
∑
i
′
P
(
l
∣
i
′
,
m
)
P
(
i
′
)
(4)
P(l|u,do(i))=\sum_mP(m|u,i)\sum_{i'}P(l|i',m)P(i')\tag{4}
P(l∣u,do(i))=m∑P(m∣u,i)i′∑P(l∣i′,m)P(i′)(4)
HCR框架
训练阶段
P
(
m
∣
u
,
i
)
=
f
m
(
u
,
i
)
P(m|u,i) = f_{m}\left(u,i\right)
P(m∣u,i)=fm(u,i)
由于M受到U的影响,因此:
P
(
l
∣
i
′
,
m
)
P
(
i
′
)
=
h
(
u
,
i
,
m
)
=
h
1
(
u
,
m
)
∗
h
2
(
u
,
i
)
(5)
P(l|i',m)P(i') = h(u,i,m)=h^1(u,m)*h^2(u,i)\tag{5}
P(l∣i′,m)P(i′)=h(u,i,m)=h1(u,m)∗h2(u,i)(5)
多任务学习:
min
f
m
,
h
∑
(
u
,
i
,
m
)
∈
D
R
M
(
f
m
(
u
,
i
)
,
m
)
+
β
∑
(
u
,
i
,
m
,
l
)
∈
D
R
L
(
h
(
u
,
i
,
m
)
,
l
)
(6)
\underset{f_{m},h}{\operatorname*{\min}}\underset{(u,i,m)\in\mathcal{D}}{\operatorname*{\sum}}R_{M}\left(f_{m}\left(u,i\right),m\right)+\beta\underset{(u,i,m,l)\in\mathcal{D}}{\operatorname*{\sum}}R_{L}\left(h\left(u,i,m\right),l\right)\tag{6}
fm,hmin(u,i,m)∈D∑RM(fm(u,i),m)+β(u,i,m,l)∈D∑RL(h(u,i,m),l)(6)
所有的骨干模型共享嵌入层,以促进跨任务的知识传递。
推理阶段
根据公式4遍历M和I的计算成本很高,因此对
h
(
u
,
i
,
m
)
h(u,i,m)
h(u,i,m)进行了分解设计
P
(
l
∣
u
,
d
o
(
i
)
)
=
∑
m
P
(
m
∣
u
,
i
)
∑
i
′
P
(
l
∣
i
′
,
m
)
P
(
i
′
)
=
∑
m
f
m
(
u
,
i
)
∑
i
′
h
(
u
,
i
′
,
m
)
P
(
i
′
)
=
∑
m
f
m
(
u
,
i
)
∑
i
′
h
1
(
u
,
m
)
h
2
(
u
,
i
′
)
P
(
i
′
)
=
∑
m
f
m
(
u
,
i
)
h
1
(
u
,
m
)
∗
∑
i
′
h
2
(
u
,
i
′
)
P
(
i
′
)
∝
S
u
∑
m
f
m
(
u
,
i
)
h
1
(
u
,
m
)
(7)
\begin{aligned} P(l|u,do(i))& =\sum_{m}P(m|u,i)\sum_{i'}P(l|i',m)P(i') \\ &=\sum_mf_m(u,i)\sum_{i'}h(u,i',m)P(i') \\ &=\sum_mf_m(u,i)\sum_{i'}h^1(u,m)h^2(u,i')P(i') \\ &\begin{aligned}=\sum_mf_m(u,i)h^1(u,m)*\sum_{i'}h^2(u,i')P(i')\end{aligned} \\ &\propto S_u\sum_mf_m(u,i)h^1(u,m) \end{aligned}\tag{7}
P(l∣u,do(i))=m∑P(m∣u,i)i′∑P(l∣i′,m)P(i′)=m∑fm(u,i)i′∑h(u,i′,m)P(i′)=m∑fm(u,i)i′∑h1(u,m)h2(u,i′)P(i′)=m∑fm(u,i)h1(u,m)∗i′∑h2(u,i′)P(i′)∝Sum∑fm(u,i)h1(u,m)(7)
其中
S
u
=
∑
i
′
h
2
(
u
,
i
′
)
S_{u}=\sum_{i^{\prime}}h^{2}(u,i^{\prime})
Su=∑i′h2(u,i′)当u给定时是一个常量。由于其不会影响项目的排名,因此可以在推理过程中忽略。
实验
三个Research question:
RQ1 :HCR与其他SOTA的推荐性能比较
RQ2 :HCR的因果效应各部分的计算对整体性能的影响(消融实验)
RQ3 : 论证HCR的改进的先进性(主要针对时间、稳定和性能几个方面和别的模型做比较)
总结
公式繁多,本人理解不够透彻,大致只能够明白思路,从文章中可以看出作者做了许多的工作,无论是在理论上还是实验内容上的内容量都是十分丰富的。总体来说这篇文章难度十分的高(可能内容难度不大,但是需要理解原理)。