jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「ベイズ最適化」を読む ~第3章 ベイズ最適化のアルゴリズム ⑧ハイパーパラメータの取り扱い~

はじめに

データを使って仮説の生成と検証を行なうための方法であるベイズ最適化を学ぶために,今村秀明・松井孝太 著「ベイズ最適化 ー適応的実験計画の基礎と実践ー」を読むことにした。

本記事は,「第3章 ベイズ最適化のアルゴリズム」における,ハイパーパラメータの取り扱いに関する読書メモである。

  • 本書の紹介ページ

www.kindaikagaku.co.jp

3.10 ハイパーパラメータの取り扱い

本節では,ベイズ最適化において登場するハイパーパラメータの取り扱いについて説明している。

ベイズ最適化におけるハイパーパラメータには,

  • 仮定する統計モデルのハイパーパラメータ
  • 獲得関数のハイパーパラメータ

などがある。

後者の獲得関数のハイパーパラメータは,事前に決め打ちすることが多いが,前者の統計モデルのハイパーパラメータはベイズ最適化の途中で調節することが多い。

統計モデルのハイパーパラメータ

統計モデルにおいてガウス過程回帰を用いた場合,カーネル関数のハイパーパラメータが挙げられる。

二乗指数カーネル


 \begin{align}
k_{\mathrm{SE}}(\boldsymbol{x}, \boldsymbol{x}') = \lambda^2 \exp \left( - \frac{ || \boldsymbol{x} - \boldsymbol{x}' ||^2}{2 l^2}   \right)  \\
\end{align}

の場合,値スケールと長さスケールを表すパラメータ \lambda lが存在する。

また, \mathcal{X}の次元ごとに長さスケール l_iを関gな得たARDカーネル


 \begin{align}
k_{\mathrm{ARDSE}}(\boldsymbol{x}, \boldsymbol{x}') = \lambda^2 \exp \left( - \sum_{i=1}^{d}  \frac{ | x^{(i)} - x' ^{(i)} |^2}{2 l_i^2}   \right)  \\
\end{align}

を用いると,ハイパーパラメータは,観測値のノイズの標準偏差 \sigma,値スケールと長さスケール \lambda, l_1, \cdots, l_d d+2個が存在する。

ベイズ的なモデル選択

ベイズ的なモデル選択においてハイパーパラメータを選択するには,タイプII最尤推定(type II maximum likelihood estimation)を用いる。

統計モデルとして,パラメトリックなものを考える。 \boldsymbol{w}をパラメータ, \boldsymbol{\theta}をハイパーパラメータとする。

 p(\boldsymbol{y} | X, \boldsymbol{w})を尤度関数, p(\boldsymbol{w} | \boldsymbol{\theta} )をパラメータの事前分布とすると,


 \begin{align}
p(\boldsymbol{y} | X, \boldsymbol{\theta}) = \int p(\boldsymbol{y} | X, \boldsymbol{w}) p(\boldsymbol{w} | \boldsymbol{\theta} ) d \boldsymbol{w} \\ 
\end{align}

 \boldsymbol{\theta}について最大化することがタイプII最尤推定である。

最尤推定に基づく方法

本節では,ガウス過程回帰モデルのハイパーパラメータを調整する手法のうち,タイプII最尤推定を解析的に行なう方法について説明している。


詳細は本書P134-135にあるが,P135の式(3.152)について補足する。 \boldsymbol{A}_n = \boldsymbol{K}_n + \sigma^2 \boldsymbol{I}_nについて,


 \begin{align}
\frac{\partial}{\partial \theta_i} \log p(\boldsymbol{y} | X, \boldsymbol{\theta}) 

&=  -\frac{1}{2}  \left( \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i}   \boldsymbol{A}_n ^{-1}  \right) 
 + \frac{1}{2} \boldsymbol{y}^T \boldsymbol{A}_n ^{-1}  \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} \boldsymbol{A}_n ^{-1} \boldsymbol{y} \\

\end{align}

であるが, \boldsymbol{K}_n カーネル行列で対称行列なので, \boldsymbol{A}_n も対称行列である。そのため \boldsymbol{A}_n ^{-1}も対称行列なので, \boldsymbol{A}_n ^{-1T} = \boldsymbol{A}_n ^{-1}となる。

よって,


 \begin{align}
\boldsymbol{y}^T \boldsymbol{A}_n ^{-1}  \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} \boldsymbol{A}_n ^{-1} \boldsymbol{y}

= ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )^T \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )

\end{align}

となる。さらに,スカラー aについて \mathrm{tr}(a) = aであるし,トレースの関係式より \mathrm{tr}(ABC) = \mathrm{tr}(CAB)なので,


 \begin{align}
\boldsymbol{y}^T \boldsymbol{A}_n ^{-1}  \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} \boldsymbol{A}_n ^{-1} \boldsymbol{y}

&= ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )^T \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )  \\ \\

&= \mathrm{tr} \left( ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )^T \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i} ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} ) \right) \\ \\

&= \mathrm{tr} \left( ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )  ( \boldsymbol{A}_n ^{-1} \boldsymbol{y} )^T \frac{\partial  \boldsymbol{A}_n }{\partial \theta_i}  \right) \\

\end{align}

となるので,式(3.152)が得られる*1

ハイパーパラメータのベイズ推論に基づく手法

ベイズ推論において,事後分布が解析的に解けない場合は,マルコフ連鎖モンテカルロ法(MCMC法) (Markov Chain Monte Carlo method, MCMC method)を用いて事後分布を求める。
具体的なMCMCの方法には,メトロポリスヘイスティングス法やスライスサンプリングが挙げられる。

まとめと感想

今回は,「第3章 ベイズ最適化のアルゴリズム」のうち, ハイパーパラメータの取り扱いについて学んだ。

ベイズ最適化においては,目的関数にベイズ線形回帰モデルやガウス過程回帰モデルを用いるので,ハイパーパラメータの選択にはベイズ統計の手法であるタイプII最尤推定などを用いることができる。また解析的に事後分布が計算できない時にMCMCを用いることも,ベイズ統計ではおなじみの方法である。


P135の式(3.152)について,直感的に分かりづらかったので少し丁寧に式展開したところ,誤植と思われる箇所が見つかった。手元にあるのは初版なので,今度書店に行くときに最新版を手に取って確認してみたい。


本記事を最後まで読んでくださり,どうもありがとうございました。

*1:本書の初版では,式(3.152)における \boldsymbol{A}_n^{-1}  \boldsymbol{A}_n になっている。