Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ウェブ最適化からはじめる機械学習 7章

ウェブ最適化からはじめる機械学習 7章

D731ae44245b80c37b59d588287aacd7?s=128

Masafumi Abeta

August 18, 2021
Tweet

Transcript

  1. XX University ウェブ最適化ではじめる機械学習 7章 2021.08 Abeta

  2. 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. 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. 4 Webページのリンクテキストの⾊を最適化したい。 RGB空間では(8+8+8)bit=24bit=2^24=16777216の膨⼤な解が存在する。 チャーリーの任務はこの問題をどうやって効率的に解くかである。

  5. 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. 6 Bingはリンクテキストの⾊を変えることで1000万ドル以上の収益増を達成した。 https://dl.acm.org/doi/10.1145/2487575.2488217

  7. 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. 8 ベイズ最適化 ベイズ最適化は𝑥 = argmax !∈# 𝑓(𝑥)を求める問題。 • 評価値の数は最⼩限しか求められないことを前提とする •

    関数𝑓(𝑥)に対する仮定は最⼩限 • 関数𝑓(𝑥)の微分情報は不要 • 評価値にばらつきがあっても⾃然に扱える
  9. 9 問題設定 エージェントは各時刻𝑡に解空間𝑋から解𝑥$ を選択する。エージェントは期待値関数𝑓(𝑥$ )を平均に持つ正規分 布から評価値を得るとする。 𝑟$ ∼ 𝒩(𝑓 𝑥$

    , 𝜎%) Webデザインでは、 • 解空間𝑋は試したいデザイン全体 • 解𝑥$ はユーザに表⽰したデザイン • 𝑟$ はユーザから得られた反応、すなわちクリックの有無や滞在時間 • 𝑓(𝑥)はデザイン𝑥に対するユーザの反応の期待値 𝑓に対しては事前に何の仮定得られないため、ブラックボックス関数とも呼ばれる。 評価の期待値が最⼤となる解 𝑥 = argmax !∈# 𝑓(𝑥)を求めたい。
  10. 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. 11 6章の復習 6章ではクリック率の履歴𝐷 𝑡 = 𝑥& , 𝑟& , …

    , 𝑥$ , 𝑟$ をベイズ線形回帰モデルでモデリングした。 𝑃 𝑟& , … , 𝑟$ |𝒘, 𝒙& , … , 𝒙$ = 8 '(& $ 𝒩(𝜃$ , 𝜎%) = 8 '(& $ 𝒩(𝝓 𝒙$ )𝒘 , 𝜎%) 𝑃 𝒘|𝑟& , … , 𝑟$ , 𝒙& , … , 𝒙$ = 𝑃 𝑟& , … , 𝑟$ |𝒘, 𝒙& , … , 𝒙$ 𝑃 𝒘 /𝑃 𝑟& , … , 𝑟$ , ∝ exp − 1 2 𝒘 − 𝑨*&𝒃 )𝐴 𝒘 − 𝐴*&𝒃 ∝ 𝒩 𝝁$ , Σ$ 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 𝑃 𝜃∗ 𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ , 𝒘 𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ 𝒘, 𝒙∗ , 𝐷 𝑡 𝑃 𝒘|𝒙∗ , 𝐷 𝑡 = ∫ 𝑑𝒘𝑃 𝜃∗ 𝒘, 𝒙∗ 𝑃 𝒘 𝐷 𝑡 = 𝒩 𝝓 𝒙∗ )𝝁$ , 𝝓 𝒙∗ )Σ$ 𝝓 𝒙∗ 事後分布から𝑟の”期待値”𝜃 = 𝝓 𝒙∗ )𝑤の分布も分かる( 𝑤 が正規分布のため)。
  12. 12 ガウス過程 任意のN個の⼊⼒(𝑥& , … , 𝑥- )に対する出⼒(𝑓& , …

    , 𝑓- )の同時分布が多次元ガウス分布に従うとき、𝑥と𝑦の関係は ガウス過程に従う、と呼ぶ。全⾴の𝜃が𝑓に対応する。 𝑓∗ ∼ 𝒩 𝝓 𝒙∗ )𝝁$ , 𝝓 𝒙∗ )Σ$ 𝝓 𝒙∗ ⟹ 𝒇∗ ∼ 𝒩 Φ∗ 𝝁$ , Φ∗ Σ$ Φ∗ ) 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 履歴𝐷 𝑡 = 𝑥& , 𝑟& , … , 𝑥$ , 𝑟$ を使⽤して𝝁$ , Σ$ , 𝐴$ , 𝒃$ , Φを計算できる。この回帰モデルをガウス過程回帰と呼 ぶ。
  13. 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. 14 カーネルトリック 期待値と分散はΦΣ+ Φ)の形をした変数で表せる。 𝒇∗ ∼ 𝒩 Φ∗ 𝝁$ ,

    Φ∗ Σ$ Φ∗ ) Φ∗ 𝝁$ = 𝐾∗ ) 𝜎%𝐼 + 𝐾 *&𝒓 Φ∗ Σ$ Φ∗ ) = 𝐾∗∗ − 𝐾∗ ) 𝜎%𝐼 + 𝐾 *&𝐾∗ 𝝁$ = 𝐴$ *&𝒃$ Σ$ = 𝐴$ *& 𝐴$ = Σ+ *& + 1 𝜎% Φ)Φ 𝒃$ = Σ+ *&𝝁+ + 1 𝜎% Φ)𝒓 Φ = 𝝓 𝒙& , … , 𝝓 𝒙$ ) 𝐾 = ΦΣ+ Φ) 𝐾∗ = ΦΣ+ Φ∗ ) 𝐾∗∗ = Φ∗ Σ+ Φ∗ ) 𝐾 = ΦΣ+ Φ)の成分をカーネル関数で表す。 𝐾.,0 = Φ. Σ+ Φ1 ) = 𝜙 𝒙. )Σ+ 𝜙 𝒙0 = Σ+ ⁄ & %𝜙 𝒙. ) Σ+ ⁄ & %𝜙 𝒙. ≡ 𝜑 𝒙. )𝜑 𝒙0 ≡ 𝑘 𝒙. , 𝒙0 特徴表現𝜙を考える問題がカーネル関数𝑘 𝒙. , 𝒙0 を考えることに変わった。 𝐾をグラム⾏列と呼ぶ。
  15. 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. 16 カーネル関数は⼤雑把には期待値関数の共分散になる。 𝑘(𝒙. , 𝒙0 ) = 𝜙)(𝒙. )Σ+ 𝜙(𝒙0

    ) ∼ 𝐸[𝑓 𝒙. 𝑓(𝒙0 )] グラム⾏列は対称かつ半正定値である必要がある。よく使われるカーネルにガウスカーネル(RBFカーネル) がある。 𝑘 𝒙, 𝒙′ = exp(−𝛾 𝒙 − 𝒙3 %) 恒等カーネル。 𝑘 𝒙, 𝒙′ = 𝒙)𝒙3
  17. 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. 18 n=30のサンプル点から回帰分析を⾏う。 n=1000

  19. 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. 20 𝑋 = 𝒙& , … , 𝒙- , 𝑋3

    = {𝒙& 3 , … , 𝒙4 3 }に対するカーネルを考える。 𝐾 𝑋, 𝑋′ = exp −𝛾 𝑃# ) − 2𝑄#,#! + 𝑃#! 𝑃# = 𝑥& % ⋯ 𝑥- % ⋮ ⋱ ⋮ 𝑥& % ⋯ 𝑥- % 𝑄#,#3 = 𝒙& )𝒙& 3 ⋯ 𝒙& )𝒙4 3 ⋮ ⋱ ⋮ 𝒙- )𝒙& 3 ⋯ 𝒙- )𝒙4 3 𝑃# は𝑄#,# の対⾓成分を⾏⽅向にM個並べたものになっている。ベクトル計算になって効率が良くなる。
  21. 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. 22 バンディットアルゴリズムにガウス過程回帰を導⼊する。

  23. 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. 24 ⾊相を直感的に理解できるHSV空間またはHLS空間を使いたい。 簡単のため彩度を固定して2次元にする。左端が⿊、右端が⽩、上下で周期的になることに注意。 https://en.wikipedia.org/wiki/HSL_and_HSV 彩度100%でスライス 𝑋.0 .5 = ( 𝑖

    𝑁 , 𝑗 𝑁 )
  25. 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. 26 GP-UCB(ガウス過程UCB)アルゴリズムを使⽤する。獲得関数UCB𝒙∗ が最⼤になる解を逐次的に選びだす。 UCB𝒙∗ = 𝐸 𝑓∗ 𝒙∗ + 𝛼

    𝑉 𝑓∗ 𝒙∗ = 𝒌∗ ) 𝜎%𝐼 + 𝐾 *&𝒓 + 𝛼 𝑘∗∗ − 𝒌∗ ) 𝜎%𝐼 + 𝐾 *&𝒌∗
  27. 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. 28 対話型最適化による動作確認 外堀を埋めるような順番で探索し、段々と望みの⾊に近づいていく。 解空間の近さと⾊の近さは⼀致しないことに注意。 11回⽬ 14回⽬ 30回⽬

  29. 29 ⾚⾊で実験 ㉘くらいの⾊を⽬指してみた。解が複数ある場合は探索に時間がかかりそう。 29回⽬ 31回⽬ 35回⽬

  30. 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. 31 トンプソンサンプリングにガウス過程を適⽤する。乱択アルゴリズムに基づくため、探索の規則性が⾒えにく い。乱択アルゴリズムのため、⼗分探索が進んでも、望む解の近傍の解も選択されやすい。 21回⽬ 25回⽬

  32. 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. 33 • データ数Nに対して、(N,N)の⾏列が登場するため、逆⾏列の計算がネック。 計算の改良や、ある程度のステップをまとめたバッチ的な事後分布の更新で対応する。GP-TSアルゴリズ ムは事後分布の更新がなくても乱択で解が変わるため、更新しない間も探索ができる。

  34. 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. 35 上司「その⾊が最適なのはわかったけど、なんでその⾊が選ばれたん。」 チャーリー「。。。」 チャーリーの修⾏はまだまだ続く。

  36. 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. 37 • ベイズ線形回帰からガウス過程への拡張を⾏った • ガウス過程とバンディットアルゴリズムを組み合わせて、ベイズ最適化を⾏った。 須⼭敦志, 『ベイズ深層学習』,講談社, 2019/8/8, から引⽤