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
930
バンディット問題の理論とアルゴリズム第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.6k
Other Decks in Technology
See All in Technology
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
Django's GeneratedField by example - DjangoCon US 2025
pauloxnet
0
160
新規プロダクトでプロトタイプから正式リリースまでNext.jsで開発したリアル
kawanoriku0
1
220
Android Audio: Beyond Winning On It
atsushieno
0
3.4k
「Linux」という言葉が指すもの
sat
PRO
4
140
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
200
メルカリIBISの紹介
0gm
0
370
いま注目のAIエージェントを作ってみよう
supermarimobros
0
360
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
データ分析エージェント Socrates の育て方
na0
7
2.7k
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Rails Girls Zürich Keynote
gr2m
95
14k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Why Our Code Smells
bkeepers
PRO
339
57k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A Modern Web Designer's Workflow
chriscoyier
696
190k
Documentation Writing (for coders)
carmenintech
74
5k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.7k
We Have a Design System, Now What?
morganepeng
53
7.8k
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
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中程のリグレットを用いるのが妥当 →順位付きリストなら敵対的多腕バンディットで解けて、 リグレットの上限が決まっている
以上です。お付き合いいただきありがとうございます!