AAAI・WSDM 2017論文読み会に参加させていただきました。
connpass.com
以下、自分の感想が入り混じったメモ。
- 協調フィルタリングの行列近似を上手くやる話
- 全アイテムの情報をぎゅっと凝縮しておいて、ユーザについて最適化する
- 全ユーザの情報をぎゅっと凝縮しておいて、アイテムについて最適化する
- サブグループにしてしまわず全部の情報をつかって最適化しているのがいいところ
- これを確率的勾配降下で学習
- ぎゅっと凝縮したやつも更新する
- マルチタスク学習: 「算数のテストの成績」「100m走のタイム」を同時に学習する
- サブグループの決め方(ユーザ数がすごいので k-means とかでは時間がかかりすぎる): DSDPというクラスタリング手法(k-means++ の 1000 倍速い)
- 評価の星の数の頻度をつかう(?)
- クラスタ初期化がランダムっぽいけどそんなに速い?
- SRD: ユーザがほしい情報をカバーするように多様な結果セットを返す手法
- Ex. 「サーバル」と検索したときに、検索した人がほしい情報はネコ科の動物なのかアニメキャラなのか
- 最適解にたどり着く implicit SRD の解法がほしい → 今回の提案法: ILP4ID
- ソーシャルネットワークのような巨大なグラフ構造をクラスターに分割したい(overlapあり)
- Bag-of-nodes 表現: 後々自然言語処理のようなことをしたいので、グラフ構造に Bag-of-words モデルに相当する表現を与えておく
- Latent Dirichlet Allocation (LDA) を適用する(この手法の採用理由は決め打ち)
- 従来手法だとデータセットが巨大だとそもそもメモリ的に実行できなかったり
- 最適腕が存在するという強い仮定(unimodal)
- 多腕バンディットタスクを解くのにグラフを利用
- エッジは存在し、最良のノードへのエッジがどれかは不明
- Thompson サンプリング: 以前以下の記事にメモした
- 各腕をグラフのノードに対応させる
- 限られた範囲で Thompson サンプリングを実行、最適腕に向かって登っていくようにする
- 腕の数が多いとグラフを利用する意味がそこそこ出てくるらしい
- この手法が有効なケースが限られる(腕の数、単峰性、…)
- ヒルクライミングって何
- 最適解にたどりつけるかは大事だよね