a gang of bandit
Post on 29-Jun-2015
3.637 Views
Preview:
TRANSCRIPT
A Gang of Bandis by Nicolo Casa-Bianchi, Claudio Gentile
Yoshifumi Seki(Gunosy Inc.) 2014.1.23 NIPS読み会
本日の発表で分かること • この論文で挑戦している問題
o bandit problemとは? o contextual bandit problemとは? o Gang of Banditでは何を目指しているか?
• どのように問題を解いたか? • 結果どのような成果を上げることができたか? 本日の発表で分からないこと • なぜこの方法でうまくいくのかの数学的解釈 • なぜGangなのか
Bandit Problemとは
• 探索と活用 • スロットマシンが目の前にあったとき当たりやすい台にどのようにベットすべきか?
Contextual Bandit Problemとは
• 調べる対象がそれぞれcontextを持つ o 特徴量から得られる報酬を予測しながら行動し,その結果から予測モデルを修正していく
学習のプロセス
• ある時間tにユーザuiに対してアイテム集合C (x1,...xct)が提示される
• システムはロジックに基づいてあるアイテムを選ぶ
• ユーザの行動からシステムはその選択に関する評価値を得る(-1, 1)
• 評価値を元にユーザのfeatureを更新する
LinUCB
研究の概要 • Contextual Bandit ProblemをSocial Networksで表現する o 複数のユーザの興味関心(feature)を特定したい
§ アイテムを推薦したい o ユーザ間にはエッジが存在する
§ 重みなし無向グラフ o 隣接するuser間でfeatureは類似していると仮定
• LinUCBという Contextual Bandit Problemの代表的な手法をネットワークに拡張 o network上のcontextual banditはこれまで実行されていなかった
提案手法: GOB.Lin
L: Graph Laplacian
クロネッカー積
Graph Laplacian
• 対角成分は各ノードの次数 • エッジが存在する箇所には-1
Wikipediaより
クロネッカー積 Wikipediaより
更新式はどうなるのか?
• エッジがあるユーザの部分に-1が乗じられた値になる • 対象ユーザと重なる部分は次数分乗じられた値になる l 結果的に隣接ユーザに対して自身の-1/degreeの影響を与
えるような形になる • 類似ユーザの評価値がわかっていれば探索の必要性が下がるので負を乗じるのかな?
• Degreeが大きければ類似ユーザに与える影響が大きくて結果探索の重要性があがりそう
実験
• 人工的なデータ • 4つのクリークと25のノード • 同じクリークの正解featureは同一
• リアルデータ • Delicious, Last.fm
• LinUCB-IND • 各ユーザに独立にLinUCBを適用
• LinUCB-SIN • ユーザ間でLinUCBのパラメータを共有
graph noise: 一定確率でエッジを消す payoff noise: 提案手法はpayoff-noiseに強い Graph noiseが低いとUCB-SINは辛い
比較手法
GOB.Lin.MACRO • ノードを元のグラフのクラスタとした重み付きグラフとして扱う
• エッジはinter-cluster-edgeの数 GOB.Lin.BLOCK • 各クラスタを非結合グラフとして扱う
結果
• Last.fmではINDが, DeliciousではBlockが高い • Last.fmでは多くのユーザが評価しているアイテムが殆ど無くネットワークが疎であるためクラスタをノードとするのが有効
• Deliciousは多くのユーザに評価されるアイテムが存在するためクラスタごとに実行しても効果が出る
まとめと感想
• Banditの拡張。アイデアはヒューリスティックだけど成果がでている
• Banditの難しいところはUCBの設定でタスク依存に最終的にはなるのでは? • 現状はLinUCBの値をそのまま使っているのは多い • かなり理解するのがヘビー
• Contextual banditが実際に使えるのはもうちょっと先かも・・・
top related