文章目录

  • 说明
  • 1. 推荐系统中的因果效应
  • 2. 难点
  • 3. 基础知识
    • 3.1. 因果推断的匹配估计器
    • 3.2. 推荐系统的邻域法
    • 3.3. 相似度
  • 4. 因果关系感知邻域法
  • 参考
  • 修改记录

说明

这片博客是论文的学习笔记。


1. 推荐系统中的因果效应

论文中给出了比较直观地定义。(图片 Fig.1. 来源于论文)

个人理解:
对于任意一个项目,是否推荐(2 种可能),是否交互(2 种可能):

  • 推荐了项目,用户进行了交互;
  • 推荐了项目,用户没有进行交互;
  • 没有推荐项目,用户进行了交互;
  • 没有推荐项目,用户没有进行交互。

由此,可以得到 Fig.1. 中的结果:

项目(Item) 现象 1(YTY^{\rm{T}}YT) 现象 2(YCY^{\rm{C}}YC) 说明(Explanation) 因果效应(τ\tauτ)
A 推荐了项目,用户进行了交互 没有推荐项目,用户进行了交互 无论是否推荐,用户都交互。即推荐没有导致交互。 0
B 推荐了项目,用户进行了交互 没有推荐项目,用户没有进行交互 推荐了导致交互 +1
C 推荐了项目,用户没有进行交互 没有推荐项目,用户没有进行交互 无论如何都不交互 0
D 推荐了项目,用户没有进行交互 没有推荐项目,用户进行了交互 推荐对交互起了反作用 -1

2. 难点

由 Fig.1. 可知,推荐因果效应,是推荐和不推荐下,用户交互的差异。也就是说,一个用户需要有推荐不推荐两种状况(条件)。

但实际上,对于一个用户来说,只能是推荐不推荐中的一种。因此不能直接测量因果效应。


3. 基础知识

3.1. 因果推断的匹配估计器

匹配估计器(Matching estimator) 通过将处理/未处理的人的观察结果与未处理/处理组中相似的人的观察结果进行比较来估计因果效应。

受试者 nnn 在处理和控制条件下可能发生的潜在结果分别为 YnTY_n^{\rm{T}}YnT​ 和 YnCY_n^{\rm{C}}YnC​。

ZnZ_nZn​ 表示是否接受处理(治疗)的指示。
Zn={1,接受处理(治疗);0,没有接受处理(治疗);.Z_n = \begin{cases} 1, \quad \text{接受处理(治疗)}; \\ 0, \quad \text{没有接受处理(治疗)}; \end{cases}. Zn​={1,接受处理(治疗);0,没有接受处理(治疗);​.
在医学上,受试者 nnn 就是一个病人,处理(治疗)就是使用一种特定药物,结果是从疾病中恢复。

那么,观察结果(Observed outcome) 可写为:
Yn=ZnYnT+(1−Zn)YnC.Y_n = Z_nY_n^{\rm{T}} + (1-Z_n)Y_n^{\rm{C}}. Yn​=Zn​YnT​+(1−Zn​)YnC​.

个人理解:
这个式子,很好理解,就是把 0、1 两种状况的结果用一个式子表示(ZnZ_nZn​ 和 1−Zn1-Z_n1−Zn​ 是互斥的):

  • 当 Zn=1Z_n = 1Zn​=1 时,Yn=1⋅YnT+(1−1)⋅YnC=YnTY_n = 1 \cdot Y_n^{\rm{T}} + (1 - 1) \cdot Y_n^{\rm{C}} = Y_n^{\rm{T}}Yn​=1⋅YnT​+(1−1)⋅YnC​=YnT​;
  • 当 Zn=0Z_n = 0Zn​=0 时,Yn=0⋅YnT+(1−0)⋅YnC=YnCY_n = 0 \cdot Y_n^{\rm{T}} + ( 1- 0) \cdot Y_n^{\rm{C}} = Y_n^{\rm{C}}Yn​=0⋅YnT​+(1−0)⋅YnC​=YnC​。

自然而然地,因果效应(Causal effect) 可表示为:
τn=YnT−YnC.\tau_n = Y_n^{\rm{T}} - Y_n^{\rm{C}}. τn​=YnT​−YnC​.

但是,很显然,因为对于任意受试者 nnn,都只能有 YnTY_n^{\rm{T}}YnT​ 或 YnCY_n^{\rm{C}}YnC​ 中的一个,τn\tau_nτn​ 无法直接得到。

匹配估计器从最相近受试者的观察结果中估计未观察到的潜在结果。
Y^nT=1∣MT(n)∣∑m∈MT(n)ZmYm,Y^nC=1∣MC(n)∣∑m∈MC(n)(1−Zm)Ym,(1)\hat{Y}_n^{\rm{T}} = \frac{1}{\lvert \mathcal{M}^{\rm{T}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{T}}(n)} Z_mY_m, \qquad \hat{Y}_n^{\rm{C}} = \frac{1}{\lvert \mathcal{M}^{\rm{C}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{C}}(n)} (1-Z_m)Y_m, \qquad \textbf{(1)} Y^nT​=∣MT(n)∣1​m∈MT(n)∑​Zm​Ym​,Y^nC​=∣MC(n)∣1​m∈MC(n)∑​(1−Zm​)Ym​,(1)
其中,MnT\mathcal{M}_n^{\rm{T}}MnT​ 和 MnC\mathcal{M}_n^{\rm{C}}MnC​ 分别是处理(Treatment)和控制(Control)条件下匹配的受试者集合。

个人理解:

  • 对于 m∈MT(n)m \in \mathcal{M}^{\rm{T}}(n)m∈MT(n),必有 Zm=1Z_m = 1Zm​=1,于是
    Y^nT=1∣MT(n)∣∑m∈MT(n)ZmYm=1∣MT(n)∣∑m∈MT(n)1⋅YmT=1∣MT(n)∣∑m∈MT(n)YmT.\begin{aligned} \hat{Y}_n^{\rm{T}} &= \frac{1}{\lvert \mathcal{M}^{\rm{T}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{T}}(n)} Z_mY_m \\ &= \frac{1}{\lvert \mathcal{M}^{\rm{T}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{T}}(n)} 1 \cdot Y_m^{\rm{T}} \\ &= \frac{1}{\lvert \mathcal{M}^{\rm{T}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{T}}(n)} Y_m^{\rm{T}}. \\ \end{aligned} Y^nT​​=∣MT(n)∣1​m∈MT(n)∑​Zm​Ym​=∣MT(n)∣1​m∈MT(n)∑​1⋅YmT​=∣MT(n)∣1​m∈MT(n)∑​YmT​.​
  • 对于 m∈MC(n)m \in \mathcal{M}^{\rm{C}}(n)m∈MC(n),必有 Zm=0Z_m = 0Zm​=0,于是
    Y^nC=1∣MC(n)∣∑m∈MC(n)(1−Zm)Ym=1∣MC(n)∣∑m∈MC(n)(1−0)⋅YmC=1∣MC(n)∣∑m∈MC(n)YmC.\begin{aligned} \hat{Y}_n^{\rm{C}} &= \frac{1}{\lvert \mathcal{M}^{\rm{C}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{C}}(n)} (1-Z_m)Y_m \\ &= \frac{1}{\lvert \mathcal{M}^{\rm{C}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{C}}(n)} (1-0) \cdot Y_m^{\rm{C}} \\ &= \frac{1}{\lvert \mathcal{M}^{\rm{C}}(n) \rvert} \sum_{m \in \mathcal{M}^{\rm{C}}(n)} Y_m^{\rm{C}}. \end{aligned} Y^nC​​=∣MC(n)∣1​m∈MC(n)∑​(1−Zm​)Ym​=∣MC(n)∣1​m∈MC(n)∑​(1−0)⋅YmC​=∣MC(n)∣1​m∈MC(n)∑​YmC​.​
    可以认为 Y^nT\hat{Y}_n^{\rm{T}}Y^nT​ 和 Y^nC\hat{Y}_n^{\rm{C}}Y^nC​ 分别是处理组和控制组的潜在结果估计量。

所以,因故效应 τn\tau_nτn​ 被估计为:
τ^n=Zn(Yn−Y^nC)+(1−Zn)(Y^nT−Yn).\hat{\tau}_n = Z_n \left(Y_n-\hat{Y}_n^{\rm{C}} \right) + (1 - Z_n) \left(\hat{Y}_n^{\rm{T}} - Y_n \right). τ^n​=Zn​(Yn​−Y^nC​)+(1−Zn​)(Y^nT​−Yn​).

个人理解:
分两种情况讨论

  • 第一种情况,受试者 nnn 是接受了处理的,也就有 Zn=1Z_n = 1Zn​=1,那么自然 Yn=YnTY_n = Y_n^{\rm{T}}Yn​=YnT​。
    因果效应定义为 τn=YnT−YnC\tau_n = Y_n^{\rm{T}} - Y_n^{\rm{C}}τn​=YnT​−YnC​。此时 YnTY_n^{\rm{T}}YnT​ 就是观察到的结果 YnY_nYn​,未观察结果 YnCY_n^{\rm{C}}YnC​ 未知。所以用估计量 Y^nC\hat{Y}_n^{\rm{C}}Y^nC​ 替代 YnCY_n^{\rm{C}}YnC​。相应地,得到的 τn\tau_nτn​ 也是一个估计量,写作
    τ^n=YnT−Y^nC=Yn−Y^nC=1⋅(Yn−Y^nC)=Zn(Yn−Y^nC).\begin{aligned} \hat{\tau}_n &= Y_n^{\rm{T}} - \hat{Y}_n^{\rm{C}} \\ &= Y_n - \hat{Y}_n^{\rm{C}} \\ &= 1 \cdot \left(Y_n - \hat{Y}_n^{\rm{C}} \right) \\ &= Z_n \left(Y_n - \hat{Y}_n^{\rm{C}} \right). \end{aligned} τ^n​​=YnT​−Y^nC​=Yn​−Y^nC​=1⋅(Yn​−Y^nC​)=Zn​(Yn​−Y^nC​).​
  • 第二种情况,受试者 nnn 没有接受处理,也就有 Zn=0Z_n = 0Zn​=0,那么自然 Yn=YnCY_n = Y_n^{\rm{C}}Yn​=YnC​。
    因果效应定义为 τn=YnT−YnC\tau_n = Y_n^{\rm{T}} - Y_n^{\rm{C}}τn​=YnT​−YnC​。此时 YnCY_n^{\rm{C}}YnC​ 就是观察到的结果 YnY_nYn​,未观察结果 YnTY_n^{\rm{T}}YnT​ 未知。所以用估计量 Y^nT\hat{Y}_n^{\rm{T}}Y^nT​ 替代 YnTY_n^{\rm{T}}YnT​。相应地,得到的 τn\tau_nτn​ 也是一个估计量,写作
    τ^n=Y^nT−YnC=Y^nT−Yn=1⋅(Y^nT−Yn)=(1−Zn)(Y^nT−Yn).\begin{aligned} \hat{\tau}_n &= \hat{Y}_n^{\rm{T}} - Y_n^{\rm{C}} \\ &= \hat{Y}_n^{\rm{T}} - Y_n \\ &= 1 \cdot \left(\hat{Y}_n^{\rm{T}} - Y_n \right) \\ &= (1-Z_n) \left(\hat{Y}_n^{\rm{T}} - Y_n \right). \end{aligned} τ^n​​=Y^nT​−YnC​=Y^nT​−Yn​=1⋅(Y^nT​−Yn​)=(1−Zn​)(Y^nT​−Yn​).​
    同样地,将两种情况合并起来写成一个式子,就成了上面的因果效应估计量。

在因果推断领域,最感兴趣的是平均处理效应(Average Treatment Effect,ATE) 或者是接受处理的平均处理效应(Average Treatment effect on the Treated,ATT)
τ^ATE=1∣S∣∑n∈Sτ^n,τ^ATT=1∣ST∣∑n∈STτ^n,\hat{\tau}_{\text{ATE}} = \frac{1}{\lvert \mathcal{S} \rvert} \sum_{n \in \mathcal{S}} \hat{\tau}_n, \qquad \hat{\tau}_{\text{ATT}} = \frac{1}{\vert \mathcal{S}^{\rm{T}} \rvert} \sum_{n \in \mathcal{S}^{\rm{T}}} \hat{\tau}_n, τ^ATE​=∣S∣1​n∈S∑​τ^n​,τ^ATT​=∣ST∣1​n∈ST∑​τ^n​,
其中 S\mathcal{S}S 是受试者集合;ST\mathcal{S}^{\rm{T}}ST 是接受处理的受试者集合。

值越大,我们认为处理越有效。

3.2. 推荐系统的邻域法

邻域方法分为基于用户的邻域(User-based Neighborhood,UBN)基于项目的邻域(Item-based Neighborhood,IBN)

令 U\mathcal{U}U 和 I\mathcal{I}I 分别表示用户集和项目集,u,v∈Uu, v \in \mathcal{U}u,v∈U,i,j∈Ii, j \in \mathcal{I}i,j∈I。
那么 UBN 和 IBN 的预测可以表示为:
Y^uiUBN=∑v∈N(u)wuvYvi∑v∈N(u)wuv,Y^uiIBN=∑j∈N(i)wijYuj∑j∈N(i)wij(2)\hat{Y}_{ui}^{\text{UBN}} = \frac{\sum_{v \in \mathcal{N}(u)} w_{uv} Y_{vi}}{\sum_{v \in \mathcal{N}(u)} w_{uv} }, \qquad \hat{Y}_{ui}^{\text{IBN}} = \frac{\sum_{j \in \mathcal{N}(i)} w_{ij} Y_{uj}}{\sum_{j \in \mathcal{N}(i)} w_{ij}} \qquad \textbf{(2)} Y^uiUBN​=∑v∈N(u)​wuv​∑v∈N(u)​wuv​Yvi​​,Y^uiIBN​=∑j∈N(i)​wij​∑j∈N(i)​wij​Yuj​​(2)
其中,N(u)\mathcal{N}(u)N(u) 是 uuu 的邻域用户集;N(i)\mathcal{N}(i)N(i) 是 iii 的邻域项目集;权重 wuvw_{uv}wuv​ 取决于用户对 uuu 和 vvv 之间的相似程度;权重 wijw_{ij}wij​ 取决于项目对 iii 和 jjj 之间的相似程度。

个人理解:

  • UBN 是从用户的角度来考虑预测。用户 vvv 来自于 uuu 的邻域集 N(u)\mathcal{N}(u)N(u),vvv 对项目 iii 的评分为 YviY_{vi}Yvi​,乘上一个 uuu 和 vvv 之间的权重 wuvw_{uv}wuv​,表示 vvv 对 iii 的评分给予 uuu 对 iii 评分多大的贡献,得到 wuvYviw_{uv}Y_{vi}wuv​Yvi​。所有对 uuu 评分有贡献的用户的累加,再做(类似)归一化操作,就得到了用户 uuu 对 iii 评分的预测值 Y^uiUBN\hat{Y}_{ui}^{\text{UBN}}Y^uiUBN​。
  • IBN 是从项目的角度来考虑预测。项目 jjj 来自于 iii 的邻域集 N(i)\mathcal{N}(i)N(i),uuu 对项目 jjj 的评分为 YujY_{uj}Yuj​,乘上一个 iii 和 jjj 之间的权重 wijw_{ij}wij​,表示 uuu 对 jjj 的评分给予 uuu 对 iii 的评分多大的贡献,得到 wijYujw_{ij}Y_{uj}wij​Yuj​。所有对 iii 的评分有贡献的项目的累加,再做(类似)归一化操作,就得到了用户 uuu 对 iii 评分的预测值 Y^uiIBN\hat{Y}_{ui}^{\text{IBN}}Y^uiIBN​。

个人补充:
评分矩阵
Y∣U∣×∣I∣=[Y11Y12…Y1∣I∣Y21Y22…Y2∣I∣⋮⋮⋱⋮Y∣U∣1Y∣U∣2…Y∣U∣∣I∣]∣U∣×∣I∣.\bm{Y}_{\lvert \mathcal{U} \rvert \times \lvert \mathcal{I} \rvert} = \begin{bmatrix} Y_{11} & Y_{12} & \dots & Y_{1 \lvert \mathcal{I} \rvert} \\ Y_{21} & Y_{22} & \dots & Y_{2 \lvert \mathcal{I} \rvert} \\ \vdots & \vdots & \ddots & \vdots \\ Y_{\lvert \mathcal{U} \rvert 1} & Y_{\lvert \mathcal{U} \rvert 2} & \dots & Y_{\lvert \mathcal{U} \rvert \lvert \mathcal{I} \rvert} \end{bmatrix}_{\lvert \mathcal{U} \rvert \times \lvert \mathcal{I} \rvert}. Y∣U∣×∣I∣​=⎣⎢⎢⎢⎡​Y11​Y21​⋮Y∣U∣1​​Y12​Y22​⋮Y∣U∣2​​……⋱…​Y1∣I∣​Y2∣I∣​⋮Y∣U∣∣I∣​​⎦⎥⎥⎥⎤​∣U∣×∣I∣​.

3.3. 相似度

常见的相似度度量有:余弦相似度皮尔森相关系数杰卡德距离 等等。
UBN 的余弦相似度(Cosine Similarity):
cos⁡(u,v)=Yu∗⋅Yv∗∥Yu∗∥⋅∥Yv∗∥,\cos(u, v) = \frac{\bm{Y}_{u\ast} \cdot \bm{Y}_{v\ast}}{\lVert \bm{Y}_{u\ast} \rVert \cdot \lVert \bm{Y}_{v\ast} \rVert}, cos(u,v)=∥Yu∗​∥⋅∥Yv∗​∥Yu∗​⋅Yv∗​​,
其中 Yu∗≡[Yu1,Yu2,…,Yu∣I∣]\bm{Y}_{u\ast} \equiv \left[Y_{u1},Y_{u2},\dots,Y_{u\vert \mathcal{I} \rvert} \right]Yu∗​≡[Yu1​,Yu2​,…,Yu∣I∣​],Yv∗≡[Yv1,Yv2,…,Yv∣I∣]\bm{Y}_{v\ast} \equiv \left[Y_{v1},Y_{v2},\dots,Y_{v\lvert \mathcal{I} \rvert} \right]Yv∗​≡[Yv1​,Yv2​,…,Yv∣I∣​]。

相似度度量中排名前 kkk 个被选做邻域 N(u)\mathcal{N}(u)N(u)。
权重 wuvw_{uv}wuv​:
wuv=(cos⁡(u,v))α,w_{uv} = \left(\cos(u,v) \right)^{\alpha}, wuv​=(cos(u,v))α,
其中 α\alphaα 是一个比例因子。

IBN 的余弦相似度类似。

个人意见:
Yu∗\bm{Y}_{u\ast}Yu∗​ 和 Yv∗\bm{Y}_{v\ast}Yv∗​ 均是行向量,无法直接相乘,需要将其中一个进行转置。
UBN 的余弦相似度公式应写作如下形式:
cos⁡(u,v)=Yu∗⋅Yv∗T∥Yu∗∥⋅∥Yv∗∥.\cos(u, v) = \frac{\bm{Y}_{u\ast} \cdot \bm{Y}_{v\ast}^{\rm{T}}}{\lVert \bm{Y}_{u\ast} \rVert \cdot \lVert \bm{Y}_{v\ast} \rVert}. cos(u,v)=∥Yu∗​∥⋅∥Yv∗​∥Yu∗​⋅Yv∗T​​.
个人补充:
IBN 的余弦相似度:
cos⁡(i,j)=Y∗iT⋅Y∗j∥Y∗i∥⋅∥Y∗j∥,\cos(i, j) = \frac{\bm{Y}_{\ast i}^{\rm{T}} \cdot \bm{Y}_{\ast j}}{\lVert \bm{Y}_{\ast i} \rVert \cdot \lVert \bm{Y}_{\ast j} \rVert}, cos(i,j)=∥Y∗i​∥⋅∥Y∗j​∥Y∗iT​⋅Y∗j​​,
其中
Y∗i≡[Y1iY2i…Y∣U∣i],Y∗j≡[Y1jY2j…Y∣U∣j].\bm{Y}_{\ast i} \equiv \begin{bmatrix} Y_{1i} \\ Y_{2i} \\ \dots \\ Y_{\lvert \mathcal{U} \rvert i} \end{bmatrix}, \qquad \bm{Y}_{\ast j} \equiv \begin{bmatrix} Y_{1j} \\ Y_{2j} \\ \dots \\ Y_{\lvert \mathcal{U} \rvert j} \end{bmatrix}. Y∗i​≡⎣⎢⎢⎡​Y1i​Y2i​…Y∣U∣i​​⎦⎥⎥⎤​,Y∗j​≡⎣⎢⎢⎡​Y1j​Y2j​…Y∣U∣j​​⎦⎥⎥⎤​.


4. 因果关系感知邻域法

推荐项目 iii 给用户 uuu 的因果效应表示为 τui=YuiT−YuiC\tau_{ui} = Y_{ui}^{\rm{T}} - Y_{ui}^{\rm{C}}τui​=YuiT​−YuiC​。在这个设定下,处理就是推荐(如果进行了推荐,则 Zui=1Z_{ui} = 1Zui​=1),结果就是用户的交互(Yui=1Y_{ui} = 1Yui​=1 表示正交互,比如购买行为)。
将 UBN 或 IBN 应用到估计未观察到的潜在结果上。
UBN:Y^uiT=∑v∈N(u)wuvZviYvi∑v∈N(u)wuvZvi,Y^uiC=∑v∈N(u)wuv(1−Zvi)Yvi∑v∈N(u)wuv(1−Zvi),(3)\text{UBN:} \quad \hat{Y}_{ui}^{\rm{T}} = \frac{\sum_{v \in \mathcal{N}(u)} w_{uv}Z_{vi}Y_{vi} }{\sum_{v \in \mathcal{N}(u)} w_{uv} Z_{vi}}, \quad \hat{Y}_{ui}^{\rm{C}} = \frac{\sum_{v \in \mathcal{N}(u)} w_{uv} (1-Z_{vi}) Y_{vi}}{\sum_{v \in \mathcal{N}(u)} w_{uv}(1 - Z_{vi}) }, \quad \textbf{(3)} UBN:Y^uiT​=∑v∈N(u)​wuv​Zvi​∑v∈N(u)​wuv​Zvi​Yvi​​,Y^uiC​=∑v∈N(u)​wuv​(1−Zvi​)∑v∈N(u)​wuv​(1−Zvi​)Yvi​​,(3)

IBN:Y^uiT=∑j∈N(i)wijZujYuj∑j∈N(i)wijZuj,Y^uiC=∑j∈N(i)wij(1−Zuj)Yuj∑j∈N(i)wij(1−Zuj).(4)\text{IBN:} \quad \hat{Y}_{ui}^{\rm{T}} = \frac{\sum_{j \in \mathcal{N}(i)} w_{ij}Z_{uj}Y_{uj}}{\sum_{j \in \mathcal{N}(i)} w_{ij}Z_{uj}}, \quad \hat{Y}_{ui}^{\rm{C}} = \frac{\sum_{j \in \mathcal{N}(i)} w_{ij}(1-Z_{uj})Y_{uj}}{\sum_{j \in \mathcal{N}(i)} w_{ij}(1-Z_{uj})}. \quad \textbf{(4)} IBN:Y^uiT​=∑j∈N(i)​wij​Zuj​∑j∈N(i)​wij​Zuj​Yuj​​,Y^uiC​=∑j∈N(i)​wij​(1−Zuj​)∑j∈N(i)​wij​(1−Zuj​)Yuj​​.(4)
请注意,这些估计只需要观察到的变量。

将匹配估计器直接应用于我们的设置会产生以下公式,
τ^ui=Zui(Yui−Y^uiC)+(1−Zui)(Y^uiT−Yui).(5)\hat{\tau}_{ui} = Z_{ui} \left( Y_{ui} - \hat{Y}_{ui}^{\rm{C}} \right) + (1-Z_{ui}) \left(\hat{Y}_{ui}^{\rm{T}} - Y_{ui} \right). \qquad \textbf{(5)} τ^ui​=Zui​(Yui​−Y^uiC​)+(1−Zui​)(Y^uiT​−Yui​).(5)
观察结果 YuiY_{ui}Yui​ 被用作 Y^uiT\hat{Y}_{ui}^{\rm{T}}Y^uiT​ 或 Y^uiC\hat{Y}_{ui}^{\rm{C}}Y^uiC​。

但是,用户行为不是确定性的,观察到的结果具有随机噪声(random noise)。因此,混合了自我的交互 YuiY_{ui}Yui​ 和邻居交互 YviY_{vi}Yvi​ 或 YujY_{uj}Yuj​ 以减少随机噪声。具体地,将 uuu 和 iii 分别包含在 N(u)\mathcal{N}(u)N(u) 和 N(i)\mathcal{N}(i)N(i) 中,并且设置 wuu=1w_{uu} = 1wuu​=1 和 wii=1w_{ii} = 1wii​=1。

为了进一步减少方差,如果它们依赖于一些低相似度的邻居,则强制估计值缩小到零。收缩参数 βT\beta^{\rm{T}}βT 和 βC\beta^{\rm{C}}βC 分别用于 Y^uiT\hat{Y}_{ui}^{\rm{T}}Y^uiT​ 和 Y^uiC\hat{Y}_{ui}^{\rm{C}}Y^uiC​ 的估计。由此提出新的估计器:
UBN:Y^uiT=∑v∈N′(u)wuvZviYviβT+∑v∈N′(u)wuvZvi,Y^uiC=∑v∈N′(u)wuv(1−Zvi)YviβC+∑v∈N′(u)wuv(1−Zvi),(6)\text{UBN:} \quad \hat{Y}_{ui}^{\rm{T}} = \frac{\sum_{v \in \mathcal{N}'(u)} w_{uv}Z_{vi}Y_{vi} }{\beta^{\rm{T}} + \sum_{v \in \mathcal{N}'(u)} w_{uv} Z_{vi}}, \quad \hat{Y}_{ui}^{\rm{C}} = \frac{\sum_{v \in \mathcal{N}'(u)} w_{uv} (1-Z_{vi}) Y_{vi}}{\beta^{\rm{C}} + \sum_{v \in \mathcal{N}'(u)} w_{uv}(1 - Z_{vi}) }, \quad \textbf{(6)} UBN:Y^uiT​=βT+∑v∈N′(u)​wuv​Zvi​∑v∈N′(u)​wuv​Zvi​Yvi​​,Y^uiC​=βC+∑v∈N′(u)​wuv​(1−Zvi​)∑v∈N′(u)​wuv​(1−Zvi​)Yvi​​,(6)

IBN:Y^uiT=∑j∈N′(i)wijZujYujβT+∑j∈N′(i)wijZuj,Y^uiC=∑j∈N′(i)wij(1−Zuj)YujβC+∑j∈N′(i)wij(1−Zuj).(7)\text{IBN:} \quad \hat{Y}_{ui}^{\rm{T}} = \frac{\sum_{j \in \mathcal{N}'(i)} w_{ij}Z_{uj}Y_{uj}}{\beta^{\rm{T}} + \sum_{j \in \mathcal{N}'(i)} w_{ij}Z_{uj}}, \quad \hat{Y}_{ui}^{\rm{C}} = \frac{\sum_{j \in \mathcal{N}'(i)} w_{ij}(1-Z_{uj})Y_{uj}}{\beta^{\rm{C}} + \sum_{j \in \mathcal{N}'(i)} w_{ij}(1-Z_{uj})}. \quad \textbf{(7)} IBN:Y^uiT​=βT+∑j∈N′(i)​wij​Zuj​∑j∈N′(i)​wij​Zuj​Yuj​​,Y^uiC​=βC+∑j∈N′(i)​wij​(1−Zuj​)∑j∈N′(i)​wij​(1−Zuj​)Yuj​​.(7)
在公式 (6)\textbf{(6)}(6) 和 (7)\textbf{(7)}(7) 下,因果效应的估计为:
τ^ui=Y^uiT−Y^uiC.(8)\hat{\tau}_{ui} = \hat{Y}_{ui}^{\rm{T}} - \hat{Y}_{ui}^{\rm{C}}. \qquad \textbf{(8)} τ^ui​=Y^uiT​−Y^uiC​.(8)

将因果关系感知的基于用户的邻域方法称为 Causality-aware User-Based Neighborhood,CUBN;将因果关系感知的基于项目的邻域方法称为 Causality-aware Item-Based Neighborhood,CIBN。
方法名称中添加 -O 或 -T 后缀,阐明是否使用了结果(Outcomes)或处理分配(Treatment assignments)。

算法 1(Algorithm 1)给出了 CUBN-O 的伪代码。

个人理解:

  1. 对用户集 U\mathcal{U}U 中的任意用户 u∈Uu \in \mathcal{U}u∈U,计算其和 v∈Uv \in \mathcal{U}v∈U 之间的带收缩参数余弦相似度
    wuv←(Yu∗⋅Yv∗∥Yu∗∥∥Yv∗∥)α,w_{uv} \leftarrow \left(\frac{\bm{Y}_{u \ast} \cdot \bm{Y}_{v \ast}}{\lVert \bm{Y}_{u \ast} \rVert \lVert \bm{Y}_{v \ast} \rVert } \right)^{\alpha}, wuv​←(∥Yu∗​∥∥Yv∗​∥Yu∗​⋅Yv∗​​)α,
    作为 uuu 和 vvv 之间的权重 wuvw_{uv}wuv​。
    实在不好理解,可以理解为,假如有一个相似度矩阵 WWW
    W∣U∣×∣U∣=[w11w12…w1∣U∣w21w22…w2∣U∣⋮⋮⋱⋮w∣U∣1w∣U∣2…w∣U∣∣U∣]∣U∣×∣U∣,W_{\lvert \mathcal{U} \rvert \times \lvert \mathcal{U} \rvert} = \begin{bmatrix} w_{11} & w_{12} & \dots & w_{1 \lvert \mathcal{U} \rvert} \\ w_{21} & w_{22} & \dots & w_{2 \lvert \mathcal{U} \rvert} \\ \vdots & \vdots & \ddots & \vdots \\ w_{\lvert \mathcal{U} \rvert 1} & w_{\lvert \mathcal{U} \rvert 2} & \dots & w_{\lvert \mathcal{U} \rvert \lvert \mathcal{U} \rvert} \end{bmatrix}_{\lvert \mathcal{U} \rvert \times \lvert \mathcal{U} \rvert}, W∣U∣×∣U∣​=⎣⎢⎢⎢⎡​w11​w21​⋮w∣U∣1​​w12​w22​⋮w∣U∣2​​……⋱…​w1∣U∣​w2∣U∣​⋮w∣U∣∣U∣​​⎦⎥⎥⎥⎤​∣U∣×∣U∣​,
    第 uuu 行 vvv 列的元素就是 wuvw_{uv}wuv​,值为上式的 uuu 和 vvv 之间的带收缩参数余弦相似度。
  2. 计算完一个用户 uuu 对其他用户 vvv 的所有权重后,需要找出最近的 kkk 个邻居。G(u)\mathcal{G}(u)G(u) 是 U\mathcal{U}U 中一个基数为 kkk 的子集,它是由 kkk 个 vvv 组成。选择其中 wuvw_{uv}wuv​ 累加和最大的 G(u)\mathcal{G}(u)G(u) 作为 uuu 的邻域 N′(u)\mathcal{N}'(u)N′(u)(包含 uuu 自身)。
    行内公式可能看不清楚,展开成行间公式看看,一目了然:
    N′(u)←arg max⁡G(u)⊂U,∣G(u)∣=k∑v∈G(u)wuv.\mathcal{N}'(u) \leftarrow \argmax_{\mathcal{G}(u) \subset \mathcal{U}, \left| \mathcal{G}(u) \right| = k} \sum_{v \in \mathcal{G}(u)} w_{uv}. N′(u)←G(u)⊂U,∣G(u)∣=kargmax​v∈G(u)∑​wuv​.
  3. 用户集 U\mathcal{U}U 中的任意用户 u∈Uu \in \mathcal{U}u∈U,计算其对项目 i∈Ii \in \mathcal{I}i∈I 的因果效应
    τ^ui←∑v∈N′(u)wuvZviYviβT+∑v∈N′(u)wuvZvi−∑v∈N′(u)wuv(1−Zvi)YviβC+∑v∈N′(u)wuv(1−Zvi).\hat{\tau}_{ui} \leftarrow \frac{\sum_{v \in \mathcal{N}'(u)} w_{uv}Z_{vi}Y_{vi} }{\beta^{\rm{T}} + \sum_{v \in \mathcal{N}'(u)} w_{uv} Z_{vi}} - \frac{\sum_{v \in \mathcal{N}'(u)} w_{uv} (1-Z_{vi}) Y_{vi}}{\beta^{\rm{C}} + \sum_{v \in \mathcal{N}'(u)} w_{uv}(1 - Z_{vi}) }. τ^ui​←βT+∑v∈N′(u)​wuv​Zvi​∑v∈N′(u)​wuv​Zvi​Yvi​​−βC+∑v∈N′(u)​wuv​(1−Zvi​)∑v∈N′(u)​wuv​(1−Zvi​)Yvi​​.
  4. 对所有项目进行排序,得到 uuu 的项目排列 LuL_uLu​。ranku(τ^ui)\text{rank}_u(\hat{\tau}_{ui})ranku​(τ^ui​) 是对于用户 uuu,以 τ^ui\hat{\tau}_{ui}τ^ui​ 对项目进行降序排列,项目 iii 在序列中的位置。

文章提出的方法,是建立在因果推断的标准假设上,即可忽略性、无干扰性和无多个版本。

假设 含义
可忽略性 给定协变量 (Xu,Xi)(X_u, X_i)(Xu​,Xi​),处理分配 (Zui)(Z_{ui})(Zui​) 和潜在结果 (YuiT,YuiC)(Y_{ui}^{\rm{T}}, Y_{ui}^{\rm{C}})(YuiT​,YuiC​) 独立:YuiT,YuiC⊥Zui∣Xu,XiY_{ui}^{\rm{T}}, Y_{ui}^{\rm{C}} \perp Z_{ui} \mid X_u, X_iYuiT​,YuiC​⊥Zui​∣Xu​,Xi​。其中,XuX_uXu​ 和 XiX_iXi​ 分别是用户和项目的特征。假设用户 uuu 和它的邻居 N(u)\mathcal{N}(u)N(u) 有相似的特征;项目 iii 和它的邻居 N(i)\mathcal{N}(i)N(i) 有相似的特征。
无干扰 一个推荐 ZuiZ_{ui}Zui​ 不会影响其他用户或项目的结果(YviY_{vi}Yvi​ 或 YujY_{uj}Yuj​)。
无多版本 仅存在单一版本的推荐。有多重推荐的途径,如浏览器弹窗、邮件等形式。但是在一个数据集中,仅有一种推荐方式。

参考

  1. Sato, M., Singh, J., Takemori, S., Zhang, Q. Causality-Aware Neighborhood Methods for Recommender Systems. In Proceedings of the European Conference on Information Retrieval. 2021(12656): 603–618.

修改记录

时间 修改内容
2022年4月4日11:58:59 “处理(Treat)” 改为 “处理(Treatment)”
2022年4月9日18:52:46 “CUBN” 和 “CIBN” 缩写错误以及规范修正。

推荐系统的因果关系感知邻域方法:Causality-Aware Neighborhood Methods for Recommender Systems(ECIR,2021)相关推荐

  1. 【推荐系统】【论文阅读笔记】【survey】Hybrid Recommender Systems: Survey and Experiments

    一.推荐技术简介: 论文链接:https://www.researchgate.net/publication/263377228_Hybrid_Recommender_Systems_Survey_ ...

  2. WLAN 感知概览(Wi-Fi Aware)

    原文:https://developer.android.google.cn/guide/topics/connectivity/wifi-aware http://androidxref.com/9 ...

  3. 【推荐系统】【论文阅读笔记】【survey】A Survey on Session-based Recommender Systems基于会话的推荐系统综述

    论文链接:arXiv:1902.04864v1 一.为什么需要基于会话的推荐系统(SBRS) 基于内容的RS和协作过滤RS是两个具有代表性的RS. 然而,这些传统的RS仍然存在一些缺点.关键的一点是, ...

  4. Graph Convolutional Neural Networks for Web-Scale Recommender Systems(用于Web级推荐系统的图形卷积神经网络)

    Graph Convolutional Neural Networks for Web-Scale Recommender Systems 用于Web级推荐系统的图形卷积神经网络 ABSTRACT R ...

  5. 序列化推荐系统总结:Sequential Recommender Systems: Challenges, Progress and Prospect

    作者:一元, 公众号:炼丹笔记, 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以 ...

  6. 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统...

    [论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding  , Guanghui ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统...

    Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...

  8. A Survey on Knowledge Graph-Based Recommender Systems 知识图谱提升推荐系统准确性与可解释性ArXiv 2020

    论文链接:https://arxiv.org/pdf/2003.00911.pdf 导读 近来,知识图谱用于推荐系统是关注的焦点,能够提升推荐系统的准确性与可解释性.如何将知识图谱融入到推荐系统呢? ...

  9. [C11] 推荐系统(Recommender Systems)

    推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...

  10. 关于推荐系统中的冷启动问题探讨(Approaching the Cold Start Problem in Recommender Systems)...

    本文翻译自:https://medium.com/@InDataLabs/approaching-the-cold-start-problem-in-recommender-systems-e225e ...

最新文章

  1. 谁是创业板的支柱?兼驳《上海证券报》
  2. java keeplive,java http长链接(keep-alive)导致的问题
  3. 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
  4. 智能系统课件@丛爽老师-中国科学技术大学自动化系
  5. 儿童学python下哪个软件好用_【开源软件】超好用的Python学习软件!没有之一!...
  6. figure服务器无法显示,求大神帮帮忙,看一下为什么第二个figure出不来,只能显示第一个...
  7. html伪元素before占用高度,CSS:伪元素:before和:after从原始元素继承宽度/高度...
  8. 尚学堂java 答案解析 第四章
  9. 解决这个警告⚠️:warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory...
  10. 二维三角元有限元方法matlab,有限元C++编程实践.doc
  11. BZOJ 3357: [Usaco2004]等差数列( dp )
  12. 一个华为设备防病毒 ACL 配置
  13. Angular 2 组件之间如何通信
  14. 有序多分类Logistic回归(图文+数据集)【SPSS 079期】
  15. Visio使用经验汇集
  16. XenCenter的安装与使用
  17. 以直播场景为例对音视频相关概念扫盲
  18. 我的挨踢人生(16)——往事如云烟
  19. Studio 3T for MongoDB 破解无限使用脚本
  20. 数据仓库和数据挖掘方面比较好的书籍

热门文章

  1. java核心技术卷I 第4-5章
  2. vue——菜鸟教程学习
  3. labview入门到出家11(补充)——基于单片机和labview开发的虚拟示波器
  4. 【Linux】用户管理命令
  5. Nexperia | 采用Trench肖特基二极管,实现功率密度的显著提升
  6. 多linux系统u盘制作,高手教你如何做一个U盘Linux系统
  7. Windows扫雷游戏python
  8. 因计算机磁盘硬件的pe,PE缺少AHCI驱动无法识别硬盘更新U盘启动盘中的WINPE
  9. 今日头条的企业服务产品线
  10. 全国计算机绘图师第三期工业产品,工业产品类CAD技能等级考试试题集