推荐系统的因果关系感知邻域方法:Causality-Aware Neighborhood Methods for Recommender Systems(ECIR,2021)
文章目录
- 说明
- 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=ZnYnT+(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)∣1m∈MT(n)∑ZmYm,Y^nC=∣MC(n)∣1m∈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)∣1m∈MT(n)∑ZmYm=∣MT(n)∣1m∈MT(n)∑1⋅YmT=∣MT(n)∣1m∈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)∣1m∈MC(n)∑(1−Zm)Ym=∣MC(n)∣1m∈MC(n)∑(1−0)⋅YmC=∣MC(n)∣1m∈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∣1n∈S∑τ^n,τ^ATT=∣ST∣1n∈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)wuvYvi,Y^uiIBN=∑j∈N(i)wij∑j∈N(i)wijYuj(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}wuvYvi。所有对 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}wijYuj。所有对 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∣=⎣⎢⎢⎢⎡Y11Y21⋮Y∣U∣1Y12Y22⋮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≡⎣⎢⎢⎡Y1iY2i…Y∣U∣i⎦⎥⎥⎤,Y∗j≡⎣⎢⎢⎡Y1jY2j…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)wuvZvi∑v∈N(u)wuvZviYvi,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)wijZuj∑j∈N(i)wijZujYuj,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)wuvZvi∑v∈N′(u)wuvZviYvi,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)wijZuj∑j∈N′(i)wijZujYuj,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 的伪代码。
个人理解:
- 对用户集 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∣=⎣⎢⎢⎢⎡w11w21⋮w∣U∣1w12w22⋮w∣U∣2……⋱…w1∣U∣w2∣U∣⋮w∣U∣∣U∣⎦⎥⎥⎥⎤∣U∣×∣U∣,
第 uuu 行 vvv 列的元素就是 wuvw_{uv}wuv,值为上式的 uuu 和 vvv 之间的带收缩参数余弦相似度。 - 计算完一个用户 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 maxG(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)∣=kargmaxv∈G(u)∑wuv. - 用户集 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)wuvZvi∑v∈N′(u)wuvZviYvi−βC+∑v∈N′(u)wuv(1−Zvi)∑v∈N′(u)wuv(1−Zvi)Yvi. - 对所有项目进行排序,得到 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)。 |
无多版本 | 仅存在单一版本的推荐。有多重推荐的途径,如浏览器弹窗、邮件等形式。但是在一个数据集中,仅有一种推荐方式。 |
参考
- 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)相关推荐
- 【推荐系统】【论文阅读笔记】【survey】Hybrid Recommender Systems: Survey and Experiments
一.推荐技术简介: 论文链接:https://www.researchgate.net/publication/263377228_Hybrid_Recommender_Systems_Survey_ ...
- WLAN 感知概览(Wi-Fi Aware)
原文:https://developer.android.google.cn/guide/topics/connectivity/wifi-aware http://androidxref.com/9 ...
- 【推荐系统】【论文阅读笔记】【survey】A Survey on Session-based Recommender Systems基于会话的推荐系统综述
论文链接:arXiv:1902.04864v1 一.为什么需要基于会话的推荐系统(SBRS) 基于内容的RS和协作过滤RS是两个具有代表性的RS. 然而,这些传统的RS仍然存在一些缺点.关键的一点是, ...
- Graph Convolutional Neural Networks for Web-Scale Recommender Systems(用于Web级推荐系统的图形卷积神经网络)
Graph Convolutional Neural Networks for Web-Scale Recommender Systems 用于Web级推荐系统的图形卷积神经网络 ABSTRACT R ...
- 序列化推荐系统总结:Sequential Recommender Systems: Challenges, Progress and Prospect
作者:一元, 公众号:炼丹笔记, 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以 ...
- 【RS】Improving Implicit Recommender Systems with View Data - 使用浏览数据提升隐式推荐系统...
[论文标题]Improving Implicit Recommender Systems with View Data(IJCAI 18) [论文作者]Jingtao Ding , Guanghui ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 16—Recommender Systems 推荐系统...
Lecture 16 Recommender Systems 推荐系统 16.1 问题形式化 Problem Formulation 在机器学习领域,对于一些问题存在一些算法, 能试图自动地替你学习到 ...
- A Survey on Knowledge Graph-Based Recommender Systems 知识图谱提升推荐系统准确性与可解释性ArXiv 2020
论文链接:https://arxiv.org/pdf/2003.00911.pdf 导读 近来,知识图谱用于推荐系统是关注的焦点,能够提升推荐系统的准确性与可解释性.如何将知识图谱融入到推荐系统呢? ...
- [C11] 推荐系统(Recommender Systems)
推荐系统(Recommender Systems) 问题阐述(Problem Formulation) 将 推荐系统 纳入这门课程来讲有以下两个原因: 第一.仅仅因为它是机器学习中的一个重要的应用.在 ...
- 关于推荐系统中的冷启动问题探讨(Approaching the Cold Start Problem in Recommender Systems)...
本文翻译自:https://medium.com/@InDataLabs/approaching-the-cold-start-problem-in-recommender-systems-e225e ...
最新文章
- 谁是创业板的支柱?兼驳《上海证券报》
- java keeplive,java http长链接(keep-alive)导致的问题
- 【杂谈】购言有三签名纪念版书籍,送1~3副有三AI学习扑克牌
- 智能系统课件@丛爽老师-中国科学技术大学自动化系
- 儿童学python下哪个软件好用_【开源软件】超好用的Python学习软件!没有之一!...
- figure服务器无法显示,求大神帮帮忙,看一下为什么第二个figure出不来,只能显示第一个...
- html伪元素before占用高度,CSS:伪元素:before和:after从原始元素继承宽度/高度...
- 尚学堂java 答案解析 第四章
- 解决这个警告⚠️:warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory...
- 二维三角元有限元方法matlab,有限元C++编程实践.doc
- BZOJ 3357: [Usaco2004]等差数列( dp )
- 一个华为设备防病毒 ACL 配置
- Angular 2 组件之间如何通信
- 有序多分类Logistic回归(图文+数据集)【SPSS 079期】
- Visio使用经验汇集
- XenCenter的安装与使用
- 以直播场景为例对音视频相关概念扫盲
- 我的挨踢人生(16)——往事如云烟
- Studio 3T for MongoDB 破解无限使用脚本
- 数据仓库和数据挖掘方面比较好的书籍