LoginSignup
1
2

More than 1 year has passed since last update.

ベイズ学習則による機械学習入門 1

Last updated at Posted at 2022-03-21

はじめに

この記事では,多様な学習則を導出することができるベイズ学習則についてまとめていく.

私は機械学習全体を見通しよく説明できる,体系的な理論に憧れている.熱力学のように機械学習を公理的に説明する教科書はないものかと思ってよく探しているが,なかなか見当たらない.そんな中,以下の論文を見つけた.

M. E. Khan and H. Rue. The Bayesian learning rule. arXiv preprint arXiv:2107.04562,
2021.
https://arxiv.org/abs/2107.04562

O Catoni. Pac-bayesian supervised classification: The thermodynamics of statistical learning. institute
of mathematical statistics lecture notes—monograph series 56. IMS, Beachwood, OH. MR2483528,
5544465, 2007.
https://arxiv.org/abs/0712.0248

この論文を眺めると,ベイズ学習則における「一般化された事後分布(generalized posterior)」を使えば,ベイズ推定や確率的勾配降下法,ドロップアウトや変分推論などの多様な学習則を統一的に扱えることがわかる.

この記事では,上の論文をもとに,ベイズ学習則を用いて機械学習の学習則をまとめていく
今回は,特に最尤推定,MAP推定,ベイズ推定などの推定法に寄り道しながら,ベイズ学習則に至るまでをまとめていく.

頻度論的な機械学習(経験リスク最小化)

ベイズ学習則に入る前に,まずは頻度論的な機械学習として,経験損失最小化についてまとめていく.ここでは金森『統計的学習理論』を参考にした.

損失関数として$l(\hat{y},y)$を用いる.損失関数は出力値と予測結果の誤差を測っており,損失関数の値が大きいほど,誤差や損失が大きくなる.

データ$(X,Y)$が従う確率分布を$q$とし,この確率分布$q$に関する期待値を$E_q[...]$とする.この時,予測損失$R(f_{\theta})$を以下で定義する.

$$
R(f_{\theta}) = E_q \big[ l\big(f_{\theta}(X),Y\big) \big]
$$

この予測損失$R(f)$を最小化するような関数$f$を学習することが機械学習の目的である.だがデータ$(X,Y)$が従う確率分布$D$が実際には分からないため,これは簡単ではない.

そこでデータとして$(X_1,Y_1),(X_2,Y_2),...,(X_n,Y_n)$が観測されたとする.ここでは簡単のため,データは独立に同一な分布に従っていると仮定する.この時,入出力関係を関数 $f_{\theta}$で説明することを考える.

経験損失$\hat{R}(f_{\theta})$を以下で定義する.

$$
\hat{R_{\theta}}(f_{\theta}) = \frac{1}{n} \sum_{i=1}^{n} l\big(~f_{\theta}(X_i),Y_i \big)
$$

この定義からわかるように,経験損失の期待値は予測損失に一致する.よって経験損失は予測損失の不偏推定量である.

予測損失の代わりに,その不偏推定量である経験損失を最小化したくなる.しかしそれではうまくいかないことが多い.不偏推定量であれば,確かにバイアスは0となるが,データのばらつき(バリアンス)が大きくなり,$f_{\theta}$がデータにオーバーフィッティングしてしまうことがある.

そこで正則化項として,$\Phi(\theta)$を足したものを最小化することにする.
ここではこれを経験リスク最小化ということにする.

$$
\theta^{*} = \mathop{\rm arg min}\limits_{\theta}  \hat{R}(f_{\theta}) + \lambda \Phi(\theta)
$$

すなわち

$$
\theta^{*} = \mathop{\rm arg min}\limits_{f}  \frac{1}{n} \sum_{i=1}^{n} l\big(f_{\theta}(X_i),Y_i \big) + \lambda \Phi(\theta)
$$

が経験リスク最小化によって推定された関数である.

例1) 最尤推定

損失関数を負の対数尤度関数として,正則化項を0にする.

$$
l\big(~\hat{y},y ~\big) = -\ln p\big(y ~|~ \hat{y} \big) ~,~
\Phi(\theta) = 0
$$

これは最尤推定に対応している.
$$
\theta^{*} = \mathop{\rm arg max}\limits_{\theta}  \frac{1}{n} \sum_{i=1}^{n} \ln p\big(Y_i ~|~ f_{\theta}(X_i) \big)
$$

例2) MAP推定

損失関数を対数尤度関数として,正則化項を$f$のパラメータ$\theta$の事前分布$\phi(\theta)$の負の対数尤度とする.

$$
l\big(~\hat{y},y ~\big) = -\ln p\big(y ~|~ \hat{y} \big) ~,~
\Phi(\theta) = -\ln \phi(\theta)
$$

これはMAP推定に対応している.
$$
\theta^{*} = \mathop{\rm arg max}\limits_{\theta}  \frac{1}{n} \sum_{i=1}^{n} \ln p\big(Y_i ~|~ f_{\theta}(X_i) \big) + \lambda \ln \phi(\theta)
$$

実際,
$$
\mathop{\rm arg max}\limits_{\theta} ~\ln p(\theta ~|~ X_i,Y_i) = \mathop{\rm arg max}\limits_{\theta} ~\ln p(Y_i~|~X_i,\theta) + \phi(\theta) + c
$$

であり,$\lambda = 1/n $とすると完全に同じ式になることがわかる.

ベイズ論的な機械学習の一般化

経験リスク最小化では,

$$
\theta^{*} = \mathop{\rm arg min}\limits_{\theta}  \hat{R}(f_\theta) + \lambda \Phi(\theta)
$$

として,$f$のパラメータ$\theta$を頻度論的に点推定していた.ベイズ論的には,$\theta$の確率分布$q(\theta)$を推定したい.経験リスク最小化の考え方をベイズ論に拡張することを考える.自然な拡張の1つは,以下の最小化問題を考えることである.

$$
q^{*} (\theta) = \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\hat{R}(f_{\theta}) + \lambda \Phi(\theta) \big]
$$

ここで,$\theta$の事前分布を$\phi(\theta)$とする.
$\Phi(\theta) = \ln \frac{q(\theta)}{\phi(\theta)},\lambda=1/n$とすると

$$
q^{*} (\theta) = \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\sum_{i=1}^{n} l\big(~f_{\theta}(X_i),Y_i \big) \big]+ \mathop{\rm KL}\big[q(\theta) ~||~ \phi(\theta) \big]
$$

となる.これを一般化ベイズ推測と呼ぶことにする.
一般化ベイズ推測は,推測分布と事前分布のKL距離を正則化項として,経験リスクの期待値を最小化しているということができる.

Note

確率分布$q(\theta)$のエントロピーを$H\big(q(\theta)\big)$とおく.事前分布を$\phi(\theta) \propto \exp(-\lambda \Phi(\theta))$とすると,

$$
\mathop{\rm KL}\big[q(\theta) ~||~ \phi(\theta) \big] = E_q\big[\lambda \Phi(\theta)\big] - H\big(q(\theta)\big)
$$

となるため,一般化ベイズ推測は,以下のように書き表せる.

$$
q^{*} (\theta) = \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[l\big(~f_{\theta}(X_i),Y_i \big) +\lambda \Phi(\theta) \big]- H\big(q(\theta)\big)
$$

すると,一般化ベイズ推測は経験リスクの期待値の最小化と推測分布のエントロピーの最大化を同時に行なっていると解釈することができる.

例3) ベイズ推測

最尤推定やMAP推定の時と同様に,損失関数を負の対数尤度関数とする.

$$
l\big(~\hat{y},y ~\big) = -\ln p\big(y ~|~ \hat{y} \big)
$$

すると,ベイズ学習則は

\begin{align}
 q^{*} (\theta) &= \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\sum_{i=1}^{n} -\ln p\big(Y_i ~|~ f_{\theta}(X_i) \big) \big]+ \mathop{\rm KL}\big[q(\theta) ~||~ \phi(\theta) \big]\\

&= \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\sum_{i=1}^{n} -\ln p\big(Y_i ~|~ f_{\theta}(X_i) \big) +\ln q(\theta) -\ln \phi(\theta) \big]\\

&= \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\ln \frac{q(\theta)}
{\phi(\theta) \prod_{i=1}^{n} p\big(Y_i ~|~ f_{\theta}(X_i) \big) } \big]\\

&= \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\ln \frac{q(\theta)}
{\frac{\phi(\theta)}{Z(\theta)} \prod_{i=1}^{n} p\big(Y_i ~|~ f_{\theta}(X_i) \big) } \big] - \ln Z(\theta)\\

&= \mathop{\rm arg min}\limits_{q(\theta)}  E_q\big[\ln \frac{q(\theta)}
{\frac{\phi(\theta)}{Z(\theta)} \prod_{i=1}^{n} p\big(Y_i ~|~ f_{\theta}(X_i) \big) } \big] \\

&= \mathop{\rm arg min}\limits_{q(\theta)} ~\mathop{\rm KL}\big[q(\theta) ~||~ p(\theta~|~X,Y) \big]\\

&= p(\theta~|~X,Y)

\end{align}

となる.

よって損失関数として負の対数尤度を用いた一般化ベイズ推測は,よく知られているベイズ推測と一致する.

ベイズ学習則

次に一般化ベイズ推測の学習則としてベイズ学習則についてまとめていく.ベイズ学習則は,ニュートン法やドロップアウト,変分推論など多様な学習則を,特殊な場合として含んでいる.

$q(\theta)$として指数型分布族を考える.

$$
q(\theta) = h(\theta) \exp[\sum \lambda_i・T_i(\theta) −~ A(\lambda)]
$$

これは$T_i(\theta)$の$q(\theta)$に関する期待値$E_q[T_i(\theta)]$が与えられたもとで,$q(\theta)$のエントロピーを最大化することで求められる確率分布である.

この$q(\theta)$を自然勾配法で最適化することを考える.$\lambda$に関するフィッシャー情報行列を$F(\lambda)$とする.すると更新即は以下のようにかける.

$$
\lambda_{t+1} = \lambda_t - \tau_t F(\lambda_t)^{-1} \nabla_{\lambda}\big[ E_{q}\big[\hat{R}(f_{\theta})+\lambda \Phi(\theta) \big] -H[q(\theta)] \big]_{\lambda = \lambda_t}
$$

これはフィッシャー情報行列の定義より,
$$
\lambda_{t+1} = \lambda_t - \tau_t \nabla_{\mu}\big[ E_{q}\big[\hat{R}(f_{\theta})+\lambda \Phi(\theta) \big] -H[q(\theta)] \big]_{\mu = \nabla_λ A(\lambda_t)}
$$

となる.さらに計算していくと以下の形にまで簡単になる.

$$
\lambda_{t+1} = (1-\tau_t) \lambda_t - \tau_t \nabla_{\mu} E_{q_\mu} \big[ l\big(~f_{\theta}(X_i),Y_i \big) +\lambda \Phi(\theta) \big]
$$

これをベイズ学習則という.このベイズ学習則は様々な学習則を内包している.
次回はそれについてまとめていく.

参考文献

M. E. Khan and H. Rue. The Bayesian learning rule. arXiv preprint arXiv:2107.04562,
2021.
https://arxiv.org/abs/2107.04562

金森敬文 統計的学習理論 講談社 2015年

須山敦志 ベイズ深層学習 講談社 2019年

1
2
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
1
2