When Actions Speak Louder than Clicks: A Combined Model of Purchase Probability and Long-term Customer Satisfaction
2019/11/28
https://gyazo.com/94152aa373bedb7a698f5da73d100934
イントロ
推薦システムでは implicit フィードバックを2値(click or not / purchase or not)で扱うことが多いが、それだとユーザの満足度を考慮できない 滞在時間などの満足度を測る指標が利用できるようになってきている オンラインビデオストリーミング
ユーザが消費した時間
音楽ストリーミング
同じ曲や同じアーティストの曲を何回聞いているか(スキップしたか)
ソフトウェアアプリ(Windows Store)
何回起動したか、アプリ滞在時間
連続的なシグナルはアイテムに対するユーザの満足度やエンゲージメントを表す
Contirubution
2: データからモデルのパラメータを学習するアルゴリズムの導出
変分ベイズ
3: 複数のデータセットでオフライン検証
アプローチ
本研究の目的: クリックや購入の確率だけでなく、ユーザの満足度を考慮したモデルの構築
Xboxのゲームの場合、ユーザがプレイする時間とともに購入する確率を学習
この場合、プレイ時間が満足度のproxyしている
満足度を評価する指標はプレイ時間に限らずビジネスニーズによって異なる
それぞれの重要度はハイパーパラメータによってチューニング
概要
パラメータは変分ベイズで推定
学習データから事後確率分布の最良近似を見つける
事後確率を最大化するパラメータを点推定するのみのベイズアプローチとは異なる
変分ベイズ法で真の事後分布とのKLダイバージェンスが最小になるパラメータを見つける
定式化
$ u : ユーザ、$ v : アイテム、$ b_m : ユーザのバイアス項、$ b_n : アイテムのバイアス項
$ κ : location parameter、$ ψ : scale parameter
location: 平均を調整
scale: 分散を調整
https://gyazo.com/ea57d633f9b3bae0286952258d691e24
$ S_{mn} : スコア、 $ r_{mn} : バイナリ、$ \gamma : ハイパーパラメータ
ガウス分布とベルヌーイ分布
https://gyazo.com/cf2edbad2c5bd1a97f1d5d2cd9a78f33
https://gyazo.com/049ea16c4688d2a0bb74c43fc6932d2b
事後分布
https://gyazo.com/417587816d91a669e5c443f9ddaa32c4
真の事後分布とのKLダイバージェンスが最小になるパラメータを変分ベイズ法を使って求める
パラメータ更新
https://gyazo.com/25172cd2475a32cedf2c6b20ab748a71
(9) ユーザベクトルの更新
(10) アイテムベクトルの更新
(11) ユーザバイアスの更新
(12) アイテムバイアスの更新
(13) scaleパラメータの更新
(14) locationパラメータの更新
ネガティブサンプリング
$ D^b (binary data) と $ D^s (score data) をサンプリング
バイナリデータの場合、0をサンプリングするだけ
スコアデータの場合にどうすべきか
バイナリデータでサンプリングした値に対してスコアをつける
ユーザごとにサンプリングした正例数を元に一様分布
観測データとサンプリングデータを区別できるように
https://gyazo.com/1f4974a3b578601bd74f48b15bbdaf62
推定
点推定を利用する他のアルゴリズム(EMとか)と違い、変分ベイズは事後分布を推定する
つまり全てのパラメータに対して推定が必要になる
マルチタスク学習
binary probability (購入確率)
satisfaction score (プレイ時間)
Prediction
Binary Signal Prediction
https://gyazo.com/563a7b13348dbf9ec9ac50cf92eee4e0
ガウス分布で近似
https://gyazo.com/0ccdf1ace78d313db7868075096648a6
Continuous Signal Prediction
https://gyazo.com/77f6ac509afdf6d9c565e420315c8263
評価
複数データで評価
プライベートなデータと公開データ
データセット
4つのデータセット
Xbox games、Windows games
binary: 購入、continuous: プレイ時間と起動回数
金銭的な面で購入の意味が異なる
LastFM
binary: 再生、continuous: 同じアーティストを何回聞いたか
MovieLens
binary: 視聴、continuous: レイティング (explicit)
https://gyazo.com/6dd8c0dae6fecdf506b43434dd847d7d
評価指標
https://gyazo.com/c5e01997ddf462b3b6078b10263fc9cc
ベースライン
各ベースラインはグリッドサーチをして最適なハイパーパラメータを設定
Our Model
Score Weighted Regression (SWR)
正例に対して二乗誤差を最小化するように、implicit continuous signalを利用
Explicit Coninuous Signal Regression (ECSR)
explicitのようにimplicit signalを扱う
提案手法の$ γ=0 かつ ネガティブサンプリングなしのケース
continuous signalの推定
Popularity Model (Pop)
人気のアイテムをだす(インストールしたものは出さない)
Baysian Personalized Ranking (BPR)
pairwise ranking: positiveとnagativeの差を最大化
結果と考察
評価
Ranking: 購入するかを予測できているか
Prediction: 満足度を予測できているか
Rankingでは提案モデルがよい
マルチタスク学習は推薦精度を改善する
PredictionではECSRがよい
ECSRはダイレクトに最適化しているのでそうなる
提案手法は二番目
https://gyazo.com/3e55958db42d5a99cdd22439bef5d635
MPR vs RMSE
目的は、RankingとPredictionのパフォーマンスのよいバランスをみつけること
MPRとRMSEのトレードオフ
図1の左上がよいポイントで、提案手法は達成できている
https://gyazo.com/80d05e3dd4b150fc3a54658231a1f613
example
ユーザの満足度は副次情報として役に立つ
「Forza Motorsport 6」はスポーツタイトルだったのが、レーシングゲームに
「Cur The Rope」は続編の「Cur The Rope 2」が推薦できるようになった
https://gyazo.com/57f130cf883cbc24fe91243fe3881d1f
https://gyazo.com/b6f2fbb60547199b581388d4a28febb5
cold対策
不人気(コールド)アイテムに対しても、満足度を考慮することでランキング性能が向上
https://gyazo.com/25dad4b6f2bdf2621ec381716f95cf50
まとめ
マルチタスクベイズモデルの提案
購入確率と満足度
変分ベイズ法でパラメータを推定
実験で良い結果が得られた
所感
満足度を考慮してマルチタスク学習できるのはよさそう
ゲームや音楽はプレイ(再生)時間と満足度の相関がわかりやすいのでよさそうだけど、記事の場合は果たしてどうなんだろうか
(マルチタスク学習に限らないけど)プレイ時間を使って、購入確率を向上できていて、よい特徴量といえそう
不人気アイテムでの推定に有用なのはたしかに感があるのでよさそう