天天看點

【論文筆記】Modeling User Exposure in Recommendation

【論文作者】Dawen Liang, David M. Blei, etc.

WWW’16 Columbia University

目錄

Modeling User Exposure in Recommendation

0. 總結

1.研究目标

2.問題背景

3. 方法

3.1 模型描述

3.2 對曝光機率的模組化

3.3 參數學習

3.4 預測模型

4. 實驗

4.1 資料集

4.2 實驗結果

4.3模型分析

4.4 加入内容資訊的曝光模型

疑問

這篇文章建構了曝光機率這個隐變量,用EM算法進行參數優化,并提出了基于流行度和基于内容的兩種曝光機率參數模型。實驗表明,提出的方法性能得到了較大提升。

通過模組化曝光機率,去除推薦系統中的Exposure bias。

在推薦系統場景下,顯示回報資料可以同時獲得使用者的正負回報資訊,但擷取難度較大,相關資料較少。在隐式回報資料中,所有未發生互動的user-item pairs都被視為負樣本,但是使用者沒有與一個物品發生互動,有可能是因為使用者真的不喜歡,也可能是因為使用者不知道這個物品,這就是推薦系統當中的exposure bias。

【論文筆記】Modeling User Exposure in Recommendation

本文将曝光與否模組化為隐變量\(a_{ui}\),\(a_{ui}\)服從參數為\(\mu_{ui}\)的伯努利分布(0-1分布)。

u和i的embedding的各次元獨立同分布,分别服從一個均值為0,方差為\(\lambda_{\theta}^{-1}\)的正态分布。

當\(a_{ui}=1\)時,\(y_{ui}\)服從均值為\(\boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}\),方差為\(\lambda_{y}^{-1}\)的正态分布。

當\(a_{ui}=0\)時,表明i沒有被u觀測到,互動機率\(y_{ui}\)趨近于0。

\[\boldsymbol{\theta}_{u} \sim \mathcal{N}\left(\mathbf{0}, \lambda_{\theta}^{-1} I_{K}\right) \\

\boldsymbol{\beta}_{i} \sim \mathcal{N}\left(\mathbf{0}, \lambda_{\beta}^{-1} I_{K}\right) \\

a_{u i} \sim \operatorname{Bernoulli}\left(\mu_{u i}\right) \\

y_{u i} | a_{u i}=1 \sim \mathcal{N}\left(\boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right) \\

y_{u i} | a_{u i}=0 \sim \delta_{0},

\]

基于上述機率分布,可以推導出\(a_{ui}\)和\(y_{ui}\)的聯合條件機率分布為

\[\begin{aligned}

&\log p \left(a_{u i}, y_{u i} | \mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right) \\ \\

= &\log \left[p\left(a_{ui}|\mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right) * p \left( y_{ui}|a_{ui}, \mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1} \right)\right ]\\ \\

= &\log p\left(a_{ui}|\mu_{u i} \right) + \log p \left( y_{ui}|a_{ui}, \mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1} \right) \\ \\

= & \log p\left(a_{ui}|\mu_{u i} \right) + \mathbb{I}\left[a_{u i}=1\right] \log p \left( y_{ui}|a_{ui}=1, \mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1} \right) + \\

&\mathbb{I}\left[a_{u i}=0\right] \log p \left( y_{ui}|a_{ui}=0, \mu_{u i}, \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \lambda_{y}^{-1} \right)\\ \\

= &\log \operatorname{Bernoulli}\left(a_{u i} | \mu_{u i}\right)+a_{u i} \log \mathcal{N}\left(y_{u i} | \boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right) + \\

&\left(1-a_{u i}\right) \log \mathbb{I}\left[y_{u i}=0\right]

\end{aligned}

當\(y_{ui} = 1\)時,\(a_{ui} = 1\),是以我們隻考慮\(y_{ui} = 0\)的情況。

當\(y_{ui} = 0\)時,若\(\boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}\)較大,則\(\mathcal{N}\left(y_{u i} = 0 | \boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right)\)較小,使得\(p(a_{ui} = 1,y_{ui} = 0)\)較小,迫使我們相信\(a_{ui} = 0\)。直覺上講,若一個物品符合使用者興趣(\(\boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}\)較大),且沒有發生互動(\(y_{ui} = 0\)),則使用者很可能是因為沒有看到這個物品(\(a_{ui} = 0\))。

per item \(\mu_i\):直接用物品流行度作為曝光參數\(\mu_{ui}\)的初始值,隻使用點選資料,不使用額外資訊,\(\mu_i \sim Beta(\alpha_1,\alpha_2)\)。

基于上下文的模組化:首先基于提取物品的特征向量\(\boldsymbol{x_i}\),并為每個user學習一個表示\(\boldsymbol{\psi_u}\),則\(\mu_{ui} = \sigma(\psi_u^\top \boldsymbol{x_i})\)。

由于模型中含有因變量\(a_{ui}\),使用EM算法來學習模型參數。

E-step:對于\(y_{ui} = 1\)的互動,\(a_{ui} = 1\),不需要學習。對于\(y_{ui} = 0\)的互動:

&\mathbb{E}\left[a_{u i} \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \mu_{u i}, y_{u i}=0\right]\\\\

= &\frac{p(a_{ui} = 1, y_{ui} = 0 \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \mu_{u i})}

{p(a_{ui} = 1, y_{ui} = 0 \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \mu_{u i}) +

p(a_{ui} = 0, y_{ui} = 0 \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \mu_{u i})} \\ \\

= &\frac{p(a_{ui} = 1) \cdot p(y_{ui} = 0 \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, a_{ui} = 1)}

{p(a_{ui} = 1) \cdot p(y_{ui} = 0 \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, a_{ui} = 1) +

p(a_{ui} = 0 \mid \mu_{ui})} \\ \\

=&\frac{\mu_{u i} \cdot \mathcal{N}\left(0 \mid \boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right)}

{\mu_{u i} \cdot \mathcal{N}\left(0 \mid \boldsymbol{\theta}_{u}^{\top} \boldsymbol{\beta}_{i}, \lambda_{y}^{-1}\right)+\left(1-\mu_{u i}\right)}

M-step:

為簡化表達,令\(p_{ui} = \mathbb{E}\left[a_{u i} \mid \boldsymbol{\theta}_{u}, \boldsymbol{\beta}_{i}, \mu_{u i}, y_{u i}=0\right]\),則:

&\boldsymbol{\theta}_{u} \leftarrow\left(\lambda_{y} \sum_{i} p_{u i} \boldsymbol{\beta}_{i} \boldsymbol{\beta}_{i}^{\top}+\lambda_{\theta} I_{K}\right)^{-1}\left(\sum_{i} \lambda_{y} p_{u i} y_{u i} \boldsymbol{\beta}_{i}\right) \\ \\

&\boldsymbol{\beta}_{i} \leftarrow\left(\lambda_{y} \sum_{u} p_{u i} \boldsymbol{\theta}_{u} \boldsymbol{\theta}_{u}^{\top}+\lambda_{\beta} I_{K}\right)^{-1}\left(\sum_{u} \lambda_{y} p_{u i} y_{u i} \boldsymbol{\theta}_{u}\right)

曝光先驗機率\(\mu_{ui}\)的優化:

per-item \(\mu_{ui}\)

由于\(\mu_{i}\)服從beta分布,即\(\mu_{i} \sim Beta(\alpha_1 + \sum_u p_{ui}, \alpha_2 + U - \sum_u p_{ui})\),則

\[\mu_{i} \leftarrow \frac{\alpha_{1}+\sum_{u} p_{u i}-1}{\alpha_{1}+\alpha_{2}+U-2}

基于上下文的先驗機率\(\mu_{ui}\)

也就是用E-step生成的\(p_{ui}\)來監督\(\mu_{ui}\)

\[\psi_{u}^{\text {new}} \leftarrow \psi_{u}+ \eta \nabla_{\psi_{u}}\mathcal{L}

\[\nabla_{\boldsymbol{\psi}_{u}} \mathcal{L}=\frac{1}{I} \sum_{i}\left(p_{u i}-\sigma\left(\boldsymbol{\psi}_{u}^{\top} \mathbf{x}_{i}\right)\right) \mathbf{x}_{i}

​ 實作時,對每個user,不計算與所有item的互動,而是随機采樣一些item,以降低計算複雜度。

預測時,可以用\(\hat{y}_{ui} = \mu_{ui} \cdot \boldsymbol{\theta_u^\top\beta_i}\),也可以直接用\(\hat{y}_{ui} = \theta_u^\top\beta_i\)。在本文的實驗中,如果采用per-item exposure model,則後者好;如果曝光先驗機率模型中加入了item的物品資訊,則前者好。

可能是因為加入了item資訊的曝光模型對曝光機率的預測更準确,是以在預測時加入\(\mu_{ui}\)效果更好。

\[\begin{array}{ccccc}

\hline & \text { TPS } & \text { Mendeley } & \text { Gowalla } & \text { ArXiv } \\

\hline \text { # of users } & 221,830 & 45,293 & 57,629 & 37,893 \\

\text { # of items } & 22,781 & 76,237 & 47,198 & 44,715 \\

\text { # interactions } & 14.0 \mathrm{M} & 2.4 \mathrm{M} & 2.3 \mathrm{M} & 2.5 \mathrm{M} \\

\% \text { interactions } & 0.29 \% & 0.07 \% & 0.09 \% & 0.15 \% \\

\hline

\end{array}

\[\begin{array}{c|cc|cc|cc|cc}

& {\text { TPS }} & & {\text { Mendeley }} & & {\text { Gowalla }}& & {\text { ArXiv }} \\

\hline & \text { WMF } & \text { ExpoMF } & \text { WMF } & \text { ExpoMF } & \text { WMF } & \text { ExpoMF } & \text { WMF } & \text { ExpoMF } \\

\hline \text { Recall@20 } & 0.195 & \mathbf{0 . 2 0 1} & 0.128 & \mathbf{0 . 1 3 9} & \mathbf{0 . 1 2 2} & 0.118 & 0.143 & \mathbf{0 . 1 4 7} \\

\text { Recall@50 } & \mathbf{0 . 2 9 3} & 0.286 & 0.210 & \mathbf{0 . 2 2 1} & \mathbf{0 . 1 9 2} & 0.186 & \mathbf{0 . 2 3 7} & 0.236 \\

\text { NDCG@100 } & 0.255 & \mathbf{0 . 2 6 3} & 0.149 & \mathbf{0 . 1 5 9} & \mathbf{0 . 1 1 8} & 0.116 & 0.154 & \mathbf{0 . 1 5 7} \\

\text { MAP@100 } & 0.092 & \mathbf{0 . 1 0 9} & 0.048 & \mathbf{0 . 0 5 5} & \mathbf{0 . 0 4 4} & 0.043 & 0.051 & \mathbf{0 . 0 5 4}

從結果上,對于未點選的物品,如果使用者感興趣的機率較高,則該物品被曝光的機率應該比較低。

從訓練過程上看,模型中的曝光變量使得MF模型能夠專注于曝光機率高的user-item pairs。

圖中,橫坐标表示物品流行度,紅色虛線表示學到的per-item先驗曝光機率,藍色點表示後驗曝光機率。畫出的點都是沒有發生過互動的。

在User A的圖中,方框框出的點表示跟使用者興趣比較相符的物品,但是沒有發生互動,模型可以将對應的曝光機率降低。也就是說,使用者更可能是因為沒有看到這個物品而沒有發生互動,而不是因為不感興趣。

在User B的圖中,方框框出了流行度最高的兩個物品(流行度非常接近),但是其中一個物品更接近使用者興趣,模型得出的響應曝光機率明顯低于另一個物品。

曝光參數模型:

\[\mu_{ui} = \sigma(\psi_u^\top \bold{x_i} + \gamma_u)

物品特征提取方式:

Mendeley:共K個文章類别,使用LDA模型,通過内容資訊,得到文章屬于每個類别的機率,進而為每個item生成一個特征向量。

Gowalla:使用K-means得到K個聚類中心,計算每個位置與K個中心的距離,得到一個特征向量。

訓練結果(第二行的兩個圖):

加入内容資訊之後,曝光機率與流行度的相關性大大降低,模型性能也得到了較大提升。

\[\begin{array}{cccc}

\hline & \text { WMF } & \text { ExpoMF } & \text { Location ExpoMF } \\

\hline \text { Recall@20 } & 0.122 & 0.118 & \mathbf{0 . 1 2 9} \\

\text { Recall@50 } & 0.192 & 0.186 & \mathbf{0 . 1 9 9} \\

\text { NDCG@100 } & 0.118 & 0.116 & \mathbf{0 . 1 2 5} \\

\text { MAP@100 } & 0.044 & 0.043 & \mathbf{0 . 0 4 8} \\

3.3 M-step不了解

本文來自部落格園,作者:子豪君,轉載請注明原文連結:https://www.cnblogs.com/zihaojun/p/15673861.html

繼續閱讀