Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
バンディット問題の理論とアルゴリズム第10章
Search
issei
January 10, 2017
Technology
0
910
バンディット問題の理論とアルゴリズム第10章
2017/1/10 輪読資料(10.1と10.2)
2017/1/25 輪読資料(10.3)
issei
January 10, 2017
Tweet
Share
More Decks by issei
See All by issei
#ssmjp20170324LT
isseita
0
600
社外勉強会に行ってみよう
isseita
0
170
高層天気図の読み方
isseita
0
1.5k
Other Decks in Technology
See All in Technology
Text-to-SQLの評価データセットを作って最新LLMモデルの性能評価をしてみた
gotalab555
3
580
Vibe Codingの裏で、 考える力をどう取り戻すか
csekine
2
510
Cursor Meetup Tokyo
iamshunta
5
1.5k
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.1k
「伝える」を加速させるCursor術
naomix
0
330
libsyncrpcってなに?
uhyo
0
250
ソフトウェア開発現代史: "LeanとDevOpsの科学"の「科学」とは何か? - DORA Report 10年の変遷を追って - #開発生産性_findy
takabow
1
270
上長や社内ステークホルダーに対する解像度を上げて、より良い補完関係を築く方法 / How-to-increase-resolution-and-build-better-complementary-relationships-with-your-bosses-and-internal-stakeholders
madoxten
3
540
セキュリティSaaS企業が実践するCursor運用ルールと知見 / How a Security SaaS Company Runs Cursor: Rules & Insights
tetsuzawa
1
3.1k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
370k
OpenJDKエコシステムと開発中の機能を紹介 2025夏版
chiroito
1
1.1k
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
190
Featured
See All Featured
Side Projects
sachag
454
42k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
25
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
Gamification - CAS2011
davidbonilla
81
5.3k
KATA
mclloyd
29
14k
Fireside Chat
paigeccino
37
3.5k
Done Done
chrislema
184
16k
A Tale of Four Properties
chriscoyier
159
23k
Being A Developer After 40
akosma
90
590k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Transcript
バンディット問題の理論とアルゴリズム 第 10章 バンディット手法の応用 輪読担当: issei
About me Issei Takano 仕事:フロントエンド(BackboneJS、Seasar2) 専門:物理学(統計力学、気象力学) Twitter: it__ssei slack: ssmjp,
ng-japan, … game: PSO2, FF14 (c) ギルティクラウン製作委員会 (c) Project-118/凪のあすから製作委 員会
10章のあらすじ バンディット手法をどのように適用できるのかを示す。 1. ゲーム木探索(囲碁・将棋) 2. インターネット広告配信 3. 推薦システム
10.1 ゲーム木探索
三目並べ (図10.1参照) 木構造:現在の局面と、そこから遷移可能な局面とで作る 探索手法:ミニマックス探索
付録:木構造 3種類の節点(ノード) 1. 根(現在の局面) 2. 節点 3. 葉(最終局面) 根 葉
葉 葉
ミニマックス探索(p172) 対象:三目並べ 設定:木構造は予め全て展開しておく 評価値:次のようにして最終局面から辿ってくる 自分の手:最大値(マックス) 相手の手:最小値(ミニ) 最善手:評価値が最大の節点への遷移
囲碁や将棋 木構造:現在の局面と、そこから遷移可能な局面とで作る 問題点:ゲーム木を全探索するのは不可能 対処法:ゲーム木を最終局面まで展開せずに評価する
モンテカルロ木探索 対象:囲碁・将棋 木構造:現在の局面と、そこから遷移可能な局面とで作る。 ただし、最初は全て展開せずに途中で止めておく (止めた箇所を「葉節点」と呼んでいる) 評価方法:評価したい局面から先をモンテカルロ法でランダムに プレイ(プレイアウト)
モンテカルロ木探索の一般形 s 0 :現在の局面、v 0 :根節点の木Tについて 1. 木Tの葉節点 v t
の選択 2. 木Tの拡張 (葉節点 v t に子節点v’ を追加し、それを新たなv t とする) 3. プレイアウトによる、葉節点v t から到達可能な最終局面の評価値のランダム抽出 4. ランダム抽出された評価値の葉節点v t から根節点v 0 への逆伝搬 繰り返し後に、v 0 の子節点vjを選択する
モンテカルロ木探索にバンディット手法を使う s 0 :現在の局面、v 0 :根節点の木Tについて 1. 木Tの葉節点 v t
の選択 ←ここにUCB方策を用いるのがUCTアルゴリズム 2. 木Tの拡張 (葉節点 v t に子節点v’ を追加し、それを新たなv t とする) ←ここにもバ ンディットを使うのが有効 3. プレイアウトによる、葉節点v t から到達可能な最終局面の評価値のランダム抽出 4. ランダム抽出された評価値の葉節点v t から根節点v 0 への逆伝搬 繰り返し後に、v 0 の子節点vjを選択する →UCBスコア 第一項:知識利用、第二項:探索
10.2 インターネット広告
このセクションで扱う広告配信 1. クリック毎に課金・報酬(PPC)を行う 2. 広告オークション 広告主からの広告代を最大化する方法を考える
クリック毎に課金・報酬(PPC)を行う配信方式 こんな広告:ブログのスペースに貼るタイプ 問題点:どの広告が最もクリック率が高いかは、配信しないと推定できない バンディット問題に当てはめると 知識利用:現時点までのクリック率が最大の広告を配信する 探索:配信数が少なく、クリック率の推定精度が低い広告を配信する
PPC広告配信の定式化 制約: 広告は予算内の回数まで配信する 配信先ページと広告の相性がある 線形計画問題:全体のクリック数を最大化する 推定する対象:クリック率 ←配信回数が少ないうちは、ギッティンズ指標などを用いて 大きめに見積もる
広告オークション オークションに競り勝った広告を掲載する方式 落札額による分類 1. 第一価格オークション ←腹の探り合いになるため使わない 2. 第二価格オークション ←通常使うのはこちら 正直なオークション: 1. 他の広告の提示金額に依存しない
2. 全ての広告がそうなる 広告収入最大化する設計:アルゴリズム10.2参照
10.3 推薦システム
推薦システム 情報フィルタリングをつかって、各人に合った商品を推薦したい 1. 人口統計学的属性に基づくフィルタリング 2. 内容に基づくフィルタリング 3. 協調フィルタリング
フィルタリングで使うモデル(属性や内容に基づくもの) X i :評価値または購買確率 θ:モデルパラメータ a:ユーザ属性とアイテム属性の交互作用を考慮した属性のベクトル u:ユーザ ε:誤差項
フィルタリングの性能指標 ・訓練データで学習した予測器の、テストデータに対する推薦精度 ・新規ユーザに対する初期段階の予測精度 ・探索と知識利用のバランスを取るためにバンディット手法を用いる
オフライン評価(性能指標の一例として) ニュース推薦システム(Li et. al 2010)にてPolicy Evaluatorの利用が提案された。 まず、各時刻にランダムに(一様分布で)選んだ方策でニュースを推薦する →これによって取れたログから事象列を作る ※ここには評価したい方策を入れない 次に、Policy
Evaluatorによる方策の評価をオフラインで行う ・評価したい方策で推薦したニュースと一致する事象を順に探す ・定理10.2の通り、オンライン評価の結果と分布が一致する
協調フィルタリング ユーザのアイテムに対する評価値行列の欠損値を推定する問題として定式化する →行列分解 MをUとVに分解する ・Vを線形モデルとして推定して固定し Uを線形バンディットの手法で決める→トンプソン抽出 ・Vに事前分布を与え UとVの最大事後確率(MAP)を推定する→確率的行列分解
推薦アイテムのリストを評価するには 推薦アイテムのリスト表示時の報酬関数を用いる ・1つでもクリックされれば1、クリックなければ(放棄)0 ユーザの好みを知らない状態で推薦の報酬を最大化するアイテムの集合を求める →NP困難な問題になる (最大被覆問題) →評価するにはp186中程のリグレットを用いるのが妥当 →順位付きリストなら敵対的多腕バンディットで解けて、 リグレットの上限が決まっている
以上です。お付き合いいただきありがとうございます!