Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ウェブ最適化からはじめる機械学習 7章
Masafumi Abeta
August 18, 2021
Programming
1
25
ウェブ最適化からはじめる機械学習 7章
Masafumi Abeta
August 18, 2021
Tweet
Share
More Decks by Masafumi Abeta
See All by Masafumi Abeta
物体追跡
abeta
0
22
特徴量記述
abeta
0
27
適応共鳴理論 / Adaptive resonance theory
abeta
0
210
4ページで理解するディリクレ過程混合モデル
abeta
0
37
入門統計的因果推論4.4節
abeta
0
71
Lordのパラドックス
abeta
0
150
ウェブ最適化からはじめる機械学習 8章
abeta
0
20
Incorporating Convolution Designs into Visual Transformers
abeta
2
410
ウェブ最適化からはじめる機械学習 3章
abeta
1
35
Other Decks in Programming
See All in Programming
GraphQL+KMM開発でわかったこと / What we learned from GraphQL+KMM development
kubode
0
120
Is Rust a great language for building Kubernetes ecosystem
deepu105
0
140
From Java 11 to 17 and beyond
josepaumard
0
290
microCMS × imgixを活用して品質とレスポンスを両立したポートフォリオサイトを作成した話
takehitogoto
0
400
Kotlin KSP - Intro
taehwandev
1
470
Blazor WebAssembly – Dynamische Formulare und Inhalte in Aktion
patrickjahr
0
150
読みやすいコードを書こう
yutorin
0
390
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
3
480
SRE NEXT 2022: Sensible Incident Management for Software Startups
takanabe
2
260
Nix for Scala folks
kubukoz
0
120
Node.js 最新動向 TFCon 2022
yosuke_furukawa
PRO
6
2.7k
Android Architecture Design With Koin
agiuliani
0
230
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
56
6.4k
Fontdeck: Realign not Redesign
paulrobertlloyd
73
4.1k
Embracing the Ebb and Flow
colly
73
3.3k
The Brand Is Dead. Long Live the Brand.
mthomps
45
2.7k
Support Driven Design
roundedbygravity
86
8.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
237
19k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
Design by the Numbers
sachag
271
17k
Docker and Python
trallard
27
1.5k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
212
11k
Code Reviewing Like a Champion
maltzj
506
37k
Writing Fast Ruby
sferik
612
57k
Transcript
XX University ウェブ最適化ではじめる機械学習 7章 2021.08 Abeta
2 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
3 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
4 Webページのリンクテキストの⾊を最適化したい。 RGB空間では(8+8+8)bit=24bit=2^24=16777216の膨⼤な解が存在する。 チャーリーの任務はこの問題をどうやって効率的に解くかである。
5 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
6 Bingはリンクテキストの⾊を変えることで1000万ドル以上の収益増を達成した。 https://dl.acm.org/doi/10.1145/2487575.2488217
7 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
8 ベイズ最適化 ベイズ最適化は𝑥 = argmax !∈# 𝑓(𝑥)を求める問題。 • 評価値の数は最⼩限しか求められないことを前提とする •
関数𝑓(𝑥)に対する仮定は最⼩限 • 関数𝑓(𝑥)の微分情報は不要 • 評価値にばらつきがあっても⾃然に扱える
9 問題設定 エージェントは各時刻𝑡に解空間𝑋から解𝑥$ を選択する。エージェントは期待値関数𝑓(𝑥$ )を平均に持つ正規分 布から評価値を得るとする。 𝑟$ ∼ 𝒩(𝑓 𝑥$
, 𝜎%) Webデザインでは、 • 解空間𝑋は試したいデザイン全体 • 解𝑥$ はユーザに表⽰したデザイン • 𝑟$ はユーザから得られた反応、すなわちクリックの有無や滞在時間 • 𝑓(𝑥)はデザイン𝑥に対するユーザの反応の期待値 𝑓に対しては事前に何の仮定得られないため、ブラックボックス関数とも呼ばれる。 評価の期待値が最⼤となる解 𝑥 = argmax !∈# 𝑓(𝑥)を求めたい。
10 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
11 6章の復習 6章ではクリック率の履歴𝐷 𝑡 = 𝑥& , 𝑟& , …
, 𝑥$ , 𝑟$ をベイズ線形回帰モデルでモデリングした。 𝑃 𝑟& , … , 𝑟$ |𝒘, 𝒙& , … , 𝒙$ = 8 '(& $ 𝒩(𝜃$ , 𝜎%) = 8 '(& $ 𝒩(𝝓 𝒙$ )𝒘 , 𝜎%) 𝑃 𝒘|𝑟& , … , 𝑟$ , 𝒙& , … , 𝒙$ = 𝑃 𝑟& , … , 𝑟$ |𝒘, 𝒙& , … , 𝒙$ 𝑃 𝒘 /𝑃 𝑟& , … , 𝑟$ , ∝ exp − 1 2 𝒘 − 𝑨*&𝒃 )𝐴 𝒘 − 𝐴*&𝒃 ∝ 𝒩 𝝁$ , Σ$ 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 𝑃 𝜃∗ 𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ , 𝒘 𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ 𝒘, 𝒙∗ , 𝐷 𝑡 𝑃 𝒘|𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ 𝒘, 𝒙∗ 𝑃 𝒘 𝐷 𝑡 = 𝒩 𝝓 𝒙∗ )𝝁$ , 𝝓 𝒙∗ )Σ$ 𝝓 𝒙∗ 事後分布から𝑟の”期待値”𝜃 = 𝝓 𝒙∗ )𝑤の分布も分かる( 𝑤 が正規分布のため)。
12 ガウス過程 任意のN個の⼊⼒(𝑥& , … , 𝑥- )に対する出⼒(𝑓& , …
, 𝑓- )の同時分布が多次元ガウス分布に従うとき、𝑥と𝑦の関係は ガウス過程に従う、と呼ぶ。全⾴の𝜃が𝑓に対応する。 𝑓∗ ∼ 𝒩 𝝓 𝒙∗ )𝝁$ , 𝝓 𝒙∗ )Σ$ 𝝓 𝒙∗ ⟹ 𝒇∗ ∼ 𝒩 Φ∗ 𝝁$ , Φ∗ Σ$ Φ∗ ) 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 履歴𝐷 𝑡 = 𝑥& , 𝑟& , … , 𝑥$ , 𝑟$ を使⽤して𝝁$ , Σ$ , 𝐴$ , 𝒃$ , Φを計算できる。この回帰モデルをガウス過程回帰と呼 ぶ。
13 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
14 カーネルトリック 期待値と分散はΦΣ+ Φ)の形をした変数で表せる。 𝒇∗ ∼ 𝒩 Φ∗ 𝝁$ ,
Φ∗ Σ$ Φ∗ ) Φ∗ 𝝁$ = 𝐾∗ ) 𝜎%𝐼 + 𝐾 *&𝒓 Φ∗ Σ$ Φ∗ ) = 𝐾∗∗ − 𝐾∗ ) 𝜎%𝐼 + 𝐾 *&𝐾∗ 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 𝐾 = ΦΣ+ Φ) 𝐾∗ = ΦΣ+ Φ∗ ) 𝐾∗∗ = Φ∗ Σ+ Φ∗ ) 𝐾 = ΦΣ+ Φ)の成分をカーネル関数で表す。 𝐾.,0 = Φ. Σ+ Φ1 ) = 𝜙 𝒙. )Σ+ 𝜙 𝒙0 = Σ+ ⁄ & %𝜙 𝒙. ) Σ+ ⁄ & %𝜙 𝒙. ≡ 𝜑 𝒙. )𝜑 𝒙0 ≡ 𝑘 𝒙. , 𝒙0 特徴表現𝜙を考える問題がカーネル関数𝑘 𝒙. , 𝒙0 を考えることに変わった。 𝐾をグラム⾏列と呼ぶ。
15 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
16 カーネル関数は⼤雑把には期待値関数の共分散になる。 𝑘(𝒙. , 𝒙0 ) = 𝜙)(𝒙. )Σ+ 𝜙(𝒙0
) ∼ 𝐸[𝑓 𝒙. 𝑓(𝒙0 )] グラム⾏列は対称かつ半正定値である必要がある。よく使われるカーネルにガウスカーネル(RBFカーネル) がある。 𝑘 𝒙, 𝒙′ = exp(−𝛾 𝒙 − 𝒙3 %) 恒等カーネル。 𝑘 𝒙, 𝒙′ = 𝒙)𝒙3
17 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
18 n=30のサンプル点から回帰分析を⾏う。 n=1000
19 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
20 𝑋 = 𝒙& , … , 𝒙- , 𝑋3
= {𝒙& 3 , … , 𝒙4 3 }に対するカーネルを考える。 𝐾 𝑋, 𝑋′ = exp −𝛾 𝑃# ) − 2𝑄#,#! + 𝑃#! 𝑃# = 𝑥& % ⋯ 𝑥- % ⋮ ⋱ ⋮ 𝑥& % ⋯ 𝑥- % 𝑄#,#3 = 𝒙& )𝒙& 3 ⋯ 𝒙& )𝒙4 3 ⋮ ⋱ ⋮ 𝒙- )𝒙& 3 ⋯ 𝒙- )𝒙4 3 𝑃# は𝑄#,# の対⾓成分を⾏⽅向にM個並べたものになっている。ベクトル計算になって効率が良くなる。
21 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
22 バンディットアルゴリズムにガウス過程回帰を導⼊する。
23 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
24 ⾊相を直感的に理解できるHSV空間またはHLS空間を使いたい。 簡単のため彩度を固定して2次元にする。左端が⿊、右端が⽩、上下で周期的になることに注意。 https://en.wikipedia.org/wiki/HSL_and_HSV 彩度100%でスライス 𝑋.0 .5 = ( 𝑖
𝑁 , 𝑗 𝑁 )
25 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
26 GP-UCB(ガウス過程UCB)アルゴリズムを使⽤する。獲得関数UCB𝒙∗ が最⼤になる解を逐次的に選びだす。 UCB𝒙∗ = 𝐸 𝑓∗ 𝒙∗ + 𝛼
𝑉 𝑓∗ 𝒙∗ = 𝒌∗ ) 𝜎%𝐼 + 𝐾 *&𝒓 + 𝛼 𝑘∗∗ − 𝒌∗ ) 𝜎%𝐼 + 𝐾 *&𝒌∗
27 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
28 対話型最適化による動作確認 外堀を埋めるような順番で探索し、段々と望みの⾊に近づいていく。 解空間の近さと⾊の近さは⼀致しないことに注意。 11回⽬ 14回⽬ 30回⽬
29 ⾚⾊で実験 ㉘くらいの⾊を⽬指してみた。解が複数ある場合は探索に時間がかかりそう。 29回⽬ 31回⽬ 35回⽬
30 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
31 トンプソンサンプリングにガウス過程を適⽤する。乱択アルゴリズムに基づくため、探索の規則性が⾒えにく い。乱択アルゴリズムのため、⼗分探索が進んでも、望む解の近傍の解も選択されやすい。 21回⽬ 25回⽬
32 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
33 • データ数Nに対して、(N,N)の⾏列が登場するため、逆⾏列の計算がネック。 計算の改良や、ある程度のステップをまとめたバッチ的な事後分布の更新で対応する。GP-TSアルゴリズ ムは事後分布の更新がなくても乱択で解が変わるため、更新しない間も探索ができる。
34 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
35 上司「その⾊が最適なのはわかったけど、なんでその⾊が選ばれたん。」 チャーリー「。。。」 チャーリーの修⾏はまだまだ続く。
36 7.1 マーケティング会議 7.1.1 リンクテキストの⾊をデータで決める 7.2 ベイズ最適化 7.3 ガウス過程 7.3.1
カーネルトリック 7.3.2 さまざまなカーネル 7.3.3 ガウス過程の実装 7.3.4 計算の⾼速化のための⼯夫 7.4 コンピュータとし対話して最適な⾊を探す 7.4.1 解空間としての⾊空間 7.5 GP-UCBアルゴリズム 7.5.1 対話型最適化による動作確認 7.6 GP-TSアルゴリズム 7.7 応⽤上の注意点 7.8 エレンの質問 7.9 本章のまとめ
37 • ベイズ線形回帰からガウス過程への拡張を⾏った • ガウス過程とバンディットアルゴリズムを組み合わせて、ベイズ最適化を⾏った。 須⼭敦志, 『ベイズ深層学習』,講談社, 2019/8/8, から引⽤