論文読み.6 Convolutional Gaussian Embeddings for Personalized Recommendation with Uncertainty （IJCAI 2019）

## はじめに
　`Convolutional Gaussian Embeddings for Personalized Recommendation with Uncertainty`という論文を読んだのでまとめていきます。

## 1. 対象とするトピック
### 1.1 キーワード
　`Gaussian Embedding`, `Personalized Recommendation` [論文](https://www.ijcai.org/Proceedings/2019/0367.pdf)

### 1.2 Abstract
> Most of existing embedding based recommendation models use embeddings (vectors) corresponding to a single fixed point in low-dimensional space, to represent users and items. Such embeddings fail to precisely represent the users/items with uncertainty often observed in recommender systems. Addressing this problem, we propose a unified deep recommendation framework employing Gaussian embeddings, which are proven adaptive to uncertain preferences exhibited by some
users, resulting in better user representations and recommendation performance. Furthermore, our framework adopts Monte-Carlo sampling and convolutional neural networks to compute the correlation between the objective user and the candidate item, based on which precise recommendations are achieved. Our extensive experiments on two benchmark datasets not only justify that our proposed Gaussian embeddings capture the uncertainty of users very well, but also demonstrate its superior performance over the state-of-the-art recommendation models.

 
## 2. 理論
### 2.1 概要
　下図のように、ユーザーとアイテムを同一の特徴量空間内にガウス分布として埋め込みます。
<img width="856" alt="スクリーンショット 2020-04-12 21.01.31.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/14be9cdf-85b4-b6d3-987f-0633ccb944da.png">

　その後、ユーザー`u`にアイテム`v`を推薦するべきかを２値判定します。今回は以下の式で表される`Implicit Feedback`を判定に使用します。
<img width="832" alt="スクリーンショット 2020-04-12 21.07.06.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/6ff8ac36-041c-5a05-0627-1acd465ca3f5.png">


### 2.2 アルゴリズム
　アイテム$u, v$をガウス分布$g_u. g_v$で埋め込んだ場合、以下の式でユーザーとアイテムのマッチ度合いを表す確率が定義されます。なお、$l$は先ほどの$y_{uv}$と同一意味を表し、0,1の2値を取ります。
<img width="833" alt="スクリーンショット 2020-04-12 21.11.29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/3b223529-1795-0ad6-bfb0-8a084cc46624.png">

　`MonteCarlo sampling`によって上式を近似します。先行研究に習った場合は以下のように表されます。
<img width="723" alt="スクリーンショット 2020-04-12 21.14.54.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/fdd52cbe-aadd-feae-9b71-df667f1df8de.png">

　しかしこの式は実用的でないので、Kの極限を取らない式を考えます。
<img width="835" alt="スクリーンショット 2020-04-12 21.17.22.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/816d8fb5-438f-3105-d109-b255346f6477.png">

　式(2)から、ベクトルの組それぞれについて共分散を計算すればいいことがわかります。そこでCNNを用いてこの値を学習することを試みます。

### 2.3 ネットワーク
　構造は以下の通りです。下から順に、
空間への埋め込み 
→ ベクトルの組それぞれの共分散の計算 
→ 特徴量抽出 
→ 予測
へと処理が進んでいます。なお、各部位の詳細は割愛します。
<img width="492" alt="スクリーンショット 2020-04-12 21.20.29.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/ea2614c0-a869-97d6-f5b6-29f1976fa2fe.png">

　
## 3. 実験
### 3.1 Evaluation
　実験ではまずオフライン評価指標を用いたベースラインとの比較を行なっています。設定や結果は以下の通りです。

#### 3.1.1 Dataset
- `MovieLens 1M`
- `Amazon Music`

#### 3.1.2 Evaluation Protocols
- `HR`
- `nDCG` (予測した嗜好と異なる場合ペナルティが発生する指標。予測した順位に応じて値が減衰する係数を実際の評価値に乗じて和をとる。)

[参考](https://blog.brainpad.co.jp/entry/2017/08/25/140000#nDCGnormalized-Discounted-Cumulative-Gain)

#### 3.1.3 Result
<img width="1178" alt="スクリーンショット 2020-04-12 21.32.05.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/0276da05-2840-ab74-3930-9e2da6a67edb.png">

### 3.2 Effectiveness on Capturing User Uncertainty
　次に、不確実さが大きいと思われる2種類のユーザーに対するネットワークの性能評価を行います。対象となる２種類のユーザーは以下の通りです。

- アイテムとの接触が少なく嗜好についての情報が少ないユーザー
- 多種多様な嗜好性があるユーザー

　評価方法は以下の通りです。

1. ２種類のユーザーの特徴を示す値を算出します。
2. 計算した値が示すユーザーの不確実さの傾向とネットワークによって学習されたガウス分布の分散が示す不確実さの傾向が一致しているか確認します。

なお、ユーザーの特徴を示す値についての記述は以下の通りです。

<img width="713" alt="スクリーンショット 2020-04-13 20.44.57.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/e85b4702-d104-16d8-408b-e8bdae23faac.png">
<img width="719" alt="スクリーンショット 2020-04-13 20.45.14.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/a7c21d11-872b-2e24-31d3-e834fc99c1bc.png">

　そして、結果の表が以下の通りです。
<img width="685" alt="スクリーンショット 2020-04-13 20.46.11.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/426293/6a76e45f-e103-c300-2847-a408ba119a41.png">

　傾向が一致しています。

## 参考文献
- Junyang Jiang, Deqing Yang, Yanghua Xiao, Chenlu Shen (2019). Convolutional Gaussian Embeddings for Personalized Recommendation with Uncertainty, https://www.ijcai.org/Proceedings/2019/0367.pdf
- レコメンドつれづれ　～第3回 レコメンド精度の評価方法を学ぶ～, https://blog.brainpad.co.jp/entry/2017/08/25/140000#nDCGnormalized-Discounted-Cumulative-Gain