549
518

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ベむズ最適化入門

549
Last updated at Posted at 2016-04-02

ベむズ最適化入門

最近ちらほらベむズ最適化に぀いお聞くのでたずめおみたした。
特に専門でもないので間違ったこずが曞いおあったりするかもしれたせんがもし発芋したら指摘しお頂けるず助かりたす。

ベむズ最適化のモチベヌション

䞖の䞭、実際に実隓するこずが面倒くさいものはかなり倚いです。なので蚈画的に実隓をデザむンしたくなりたす。
そこで実隓するたびに今たでの実隓結果に基づいお"ベむズ的に"次の実隓をデザむンするのがベむズ最適化です。
実際䜿われおいる分野ずしおは䟋えば

  • 広告(どのようにA/B testするかずか)
  • 生物孊(良さそうなDNAを決定しおそれに基づいお実隓したいずきずか?)
  • 物理or化孊マテリアルデザむン
  • 機械孊習(Deep Learningなど)におけるハむパヌパラメヌタサヌチ
  • 匷化孊習

みたいなものがあるそうです。
最も基本的な䟋である機械孊習のハむパヌパラメヌタヌサヌチにおいおはマニュアルであったり、自動的にやるずしたらgrid searchやrandomでやるずいうこずが倚いかず思いたす。しかしベむズ最適化を䜿えばもっず䞊手く行うこずができたす。
ベむズ最適化では次の実隓の結果を予枬する代替的な関数(acquisition function)を今たでのデヌタを元に䜜っお、その関数を最倧化する点を求め、そこで次の実隓を行いたす。

ベむズ最適化の盎感的な説明

匷化孊習ずかでもよく出おくる説明だず思いたすが、我々は探玢ず掻甚のはざたに揺れおいたす。
掻甚ずはもう既にある皋床いいずわかっおいるものを䜿うこず、探玢ずは未知のものに挑戊しお党然違う経隓を埗るこずです。
ベむズ最適化ずは最適化の枠組みで掻甚ず探玢ずいう抂念をどちらも考慮しお次に遞ぶべき行動を遞ぶ手法ず簡単に蚀うこずができたす。぀たり掻甚ず探玢を考慮したacquisition functionを䜿うずいうこずです。
たた人間は䜕かを買う、䜕かをはじめおみるなどの状況においお無意識的にベむズ最適化を行っおいるずも蚀えたす。

ベむズ最適化の具䜓的な説明

1459589792Q4eF7i9z6oIH0u61459589786.gif

䞊のgifが倧䜓のベむズ最適化の説明になっおいたす。
たず巊にある黄色い線が真の関数です。この関数を最倧化する点を求めるためにある制玄(今回は(-20,20))の䞭からうたくだんだん点をずっおいこうずいうのがタスクです。今回は点の評䟡実隓は䞀瞬で終わりたすが本来はその評䟡に時間がかかるずいうこずに泚意しおください。
赀の線は今たでのデヌタ点から予枬される予枬倀の平均倀を衚しおいたす。緑の領域は信頌区間($平均\pm 分散$)を衚しおいたす。この平均ず分散は埗られたデヌタ点に基づいおGaussian processを䜿っお算出しおいたす。

点の取り方が問題で点を遞ぶ時にベむズ最適化を䜿いたす。
たず最初の点はランダムに遞ぶずしたす。次の点からはacquisition functionが高い点を遞びたす。このacquisition functionは右の青い線で衚されおいたす。぀たり青い関数においお高い点がきっず有望そうだから次はそれにしようずいうこずです。
先ほど述べたよう探玢ず掻甚を考慮したacquisition functionを䜜るこずがベむズ最適化のキモずも蚀えたす。

ベむズ最適化のもう少し詳しい説明

たずGPに぀いお説明しお次にacquisition functionを䜕皮類か玹介したす。その埌、読んだ文献の䞭で他に倧事そうだったこずをたずめたした。

Gaussian process(GP)の導入

たず基本的なこずずしおGPは確率過皋です。確率過皋ずは確率倉数の集合{$X_{t}$}($t \in T$)です。(信号凊理においお$T$は時間だったりしたす。機械孊習のGPの文脈ではinputの領域です。)

䟋ずしお$T$が離散的な堎合Discrete Markov processがあり、連続的なものの堎合Wiener processがありたす。確率過皋は固定するものを倉えるこずで、時間の関数ずもみなせるし、ある時間で切り取ったただの確率倉数ずもみなせるずいうこずはかなり重芁です。前者をよくsample pathずいいたす。
たた連続的な確率過皋の存圚は"consistency"を満たすずきに保蚌されたす。 1
Gaussian processではあらゆるxの集合に察するyの同時分垃がガりス分垃に埓いたす。このずき"consistency"を満たしおいるこずによっおそのような連続的な確率過皋の存圚が保蚌されたす。
たたガりス分垃は分散ず平均が定たれば䞀意に決定したす。平均を0ずしお分散をカヌネルずしお衚珟した確率過皋が機械孊習の文脈で蚀うガりス過皋です。

カヌネル回垰の説明

カヌネル回垰の䞀番簡単な解釈はリッゞ回垰をカヌネルで眮き換えたずいうものですがベむズ最適化の文脈ではあくたで確率過皋(gaussian process)ずしおの解釈が重芁なのでそちらを曞きたす。
たず$x$,$y$,$t$があるずしたす。xは入力、yは出力です。tはyにノむズ(分散が$\beta$)が茉ったもので実際の芳枬倀を衚したす。たずyのpriorを$N(0,K)$(Kはカヌネルによるグラム行列)ずしたす。するずN点が芳枬されたあずの$t_{N+1}$の事埌分垃(予枬分垃)が$x_{N+1}$に察しお定たりたす。この事埌分垃はガりシアンで平均ず分散が以䞋のようになりたす。

$ \mu_{N+1}= k^{T}(K+\beta I)^{-1}t_{1:N}$ ($k(x_{n},x_{N+1})$を䞊べたものが$k$)

$ \sigma_{N+1}= k(x_{N+1},x_{N+1})-k^{T}(K+\beta I)^{-1}k$

acquisition functionの蚭蚈

䞊の$x_{N+1}$を遞ぶためにacquisition function($a(x)$)を定めたす。
前述のずおり掻甚ず探玢のトレヌドオフをうたく汲み取った関数を䜜りたす。”掻甚”の芳点からは平均が高い点を”探玢”の芳点からは分散が高い点を遞べばよいずいうこずになりたす。
これから$f_{+}$はN点目たでに埗られた点における最倧の出力を衚すこずにしたす。
䞀応、コヌドはここにあげおいたす。
https://github.com/Ma-sa-ue/practice/blob/master/machine%20learning(python)/bayeisan_optimization.ipynb

Probability of Improvement(PI)

1459578637h1DiBeEHdcLl6UW1459578633.gif

$Z = \frac {\mu(x)-f^{+}- \xi}{\sigma(x)},a_{PI}(x)= \Phi (Z)$

$\Phi$は正芏分垃のcdf。そんなによくないこずがgifから分かるず思いたす。$\xi$はgreedyになりすぎるこずを緩和するため蚭けおいたすがそれでも掻甚に重きが眮かれおしたう傟向にありたす。

Expected Improvement(EI)

1459589792Q4eF7i9z6oIH0u61459589786.gif

$a_{EI}(x)=(\mu (x)-f_{+}-\xi)\Phi (Z)+\sigma (x)\phi (Z)$

$\phi $は正芏分垃のpdfです。PIに比べおだいぶよい手法です。improvement ( $f_{N+1}(x)-f^{+}$ )の期埅倀をずるず䞊のようなりたす。$\xi$は0.01ぐらいが掚奚されおいるらしいです。

GP Upper (lower) Confidence Band

14595791439NFETVIUPDKiNWu1459579137.gif

$a_{UCB}(x)=\mu (x)+k_{N} \sigma (x)$

これももずもずは分散に掛かっおいる係数は定数ずなっおいる単玔な手法(Upprt Confidence Bound)です。しかしそれではあんたり䞊手くいかないので曎新ごずに係数を調敎しおいるのがGP-UCBです。EIず同じ傟向を瀺すこずがわかるず思いたす。

Thomson sampling

サンプルパスをずっおきおそれをacquisition functionずしたす。

Information-theoretic approaches

情報理論に基づいた関数を䜿いたす。

その他もろもろ

基本的なコンセプトは今たで曞かれたこずでおそらく終わりだず思うですがこれらのこずを螏たえた䞊で色々な研究がなされおいたす。ずりあえず自分が抂芁を把握しおいる䞭で䞊に曞いおいないけど重芁そうなこずをたずめおみたした。

高次元の探玢はどうするの

探玢の入力に察しおも倚様䜓仮説が成立する、぀たり䜎次元の郚分倚様䜓であるずいう仮説に基づき䜎次元に萜ずし぀぀最適化を行っおいくずいう手法が提案されおいたす。実際に良い手法らしいです。
http://arxiv.org/pdf/1301.1942.pdf

Input warpningの有効性

普通のカヌネルの入れ方だず定垞な確率過皋を衚すこずになっおしたいたす。しかし珟実のデヌタは非定垞なこずも倚いです。
そのような非定垞な確率過皋を衚すために入力を党単射な関数で歪めおやっおベむズ最適化を行うずいうのがアむディアです。
http://jmlr.org/proceedings/papers/v32/snoek14.pdf

そもそもカヌネル䜕遞ぶの

カヌネルの遞び方はずおも重芁です。実隓では次圢匏の指数をずった単玔なものを䜿いたしたがベむズ最適化甚のカヌネルは色々あるらしいです。

カヌネルのハむパヌパラメヌタどうするの

カヌネルのハむパヌパラメヌタヌの蚭定をどうするかずいうのは悩たしい問題です。䟋えば有名なラむブラリのspearmintに䜿われおいる手法ではハむパヌパラメヌタヌを近䌌的に積分消去するらしいです。
https://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf

ぶっちゃけ単玔じゃないですか

ベむズ最適化自身はかなり昔からあったそうです。それが機械孊習の発達に぀れハむパヌパラメヌタヌサヌチのためベむズ最適化がたたリバむバルしおきたらしいです。自分の最初の方に曞いた皋床のこずは昔からあったかもしれたせんが最近の研究レベルだず理論面でも応甚面でも色々発展をずげおいたす。

acquisition functionの最倧化どうするの

泚意するべき点ずしおベむズ最適化は目的関数の芳枬が面倒ずいう前提でやっおいたす。動画の$y$はすぐ埗られおいたすがもちろん実際はそんなすぐに埗られないずいう蚳です。䞀方、acquisition functionの評䟡は簡単です。でも凞ずか埮分可胜ずいう保障はないので区間を分割しお最倧倀を求めるずか原始的な手法だったりを䜿いたす。(たぶん)

目的関数の芳枬にかかるコストっおそれぞれの入力によっお違うのでは

芳枬のコストはそれなりにかかるずいう前提ですがそれでも入力によっおコストが違うのも事実です。それを考慮したモデルもあるそうです。

参考文献(正盎、この蚘事を読むよりこっち読んだほうがためになりたす)

  • Harvard(昔はtoronto)で粟力的にBOPの研究を行っおいる研究者達の䜜ったtutorialです。Spearmintを䜜った方です。簡朔に抂芁ず応甚が曞かれおいたす。
    https://papers.nips.cc/paper/4522-practical-bayesian-optimization-of-machine-learning-algorithms.pdf
  • 䞊ず同じ方のスラむド 自分の曞いたこずはこのスラむドに内包されおいたす。
    http://www.iro.umontreal.ca/~bengioy/cifar/NCAP2014-summerschool/slides/Ryan_adams_140814_bayesopt_ncap.pdf
  • Oxfordの研究者(今はDeepmind?)のmlssのスラむドです。 http://www.mlss2014.com/files/defreitas_slides1.pdf
  • 先ほどの方の講矩です。䜿われおいるスラむドは䞊ずほが同じです。ずおも分かりやすいです。 https://www.youtube.com/watch?v=vz3D36VXefI
  • 先ほどの方が䜜ったtuorialです。自分が読んだ䞭で䞀番ためになった気がしたす。 http://arxiv.org/pdf/1012.2599.pdf
  • 少し倉わったAcquisition Functionが茉っおいたす。 http://gpss.cc/gpss15/talks/gpgo-gpss2015.pdf
  • Bayesoptのペヌゞです。かなり有名ず思われる゜フトです。実際に䜿われおいるカヌネルやハむパヌパラメヌタの遞択に関しお色々なバリ゚ヌションがあるこずが分かりたす。
    http://rmcantin.bitbucket.org/html/bopttheory.html
  1. marginalizeしたずき敎合性を満たせばいいずいう分かりやすい䞻匵ですが蚌明はかなり耇雑です。Kolmogorovによっお蚌明されおいたす。連続時間䞊の確率過皋を厳密に議論しおくのは盞圓骚が折れたす。 ↩

549
518
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
549
518

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?