LoginSignup
2
2

More than 3 years have passed since last update.

ベイズ推定

Last updated at Posted at 2020-03-09

ベイズ推定

Ridge回帰を最尤推定、事後分布最大化、ベイズ推定それぞれで求めたので、
ここにまとめておく。
もし、間違えを見つけたら指摘してくださると助かります。

Agenda

  • 最尤推定
  • 事後確率最大化
  • ベイズ推定

最尤推定(MLE, Maximum Likelihood Estimation)

Ridge回帰をMLEを用いて解くことを考える。
$x_0, x_1, ... x_N \in R^D$を書く特徴ベクトル、$y_0, y_1...y_N \in R^K$を対応するラベル、
$w$を$K \times D$の行列とする。

X = (x_0, x_1, ... x_N)^{\mathrm{T}} \\
Y = (y_0, ... y_N)^{\mathrm{T}} \\
Y = X w

とモデル化し、
尤度関数$L(w)$を

L(w) = \|Y - XW \|_{2}^{2} + \lambda \| w \|_{2}^{2}

とする。

\begin{eqnarray}
L(w) & = & (Y - XW)^{\mathrm{T}} (y - XW) + \lambda w^{\mathrm{T}} w \\
     & = & Y^{\mathrm{T}} Y - 2 w^{\mathrm{T}} X^{\mathrm{T}} y + w^{\mathrm{T}} X^{\mathrm{T}} X w + \lambda w^{\mathrm{T}} w
\end{eqnarray}

この尤度関数を最大化したいので$w$で微分する。

\begin{eqnarray}
\frac{dL(w)}{dw} & = & -2X^{\mathrm{T}} Y + 2 (X^{\mathrm{T}} X + \lambda I)w = 0
\end{eqnarray}

よって重み行列$w$は以下のようになる。

w = (X^{\mathrm{T}} X + \lambda I)^{-1} X^{\mathrm{T}} Y 

事後確率最大化(MAP, Maximum a posterior)

簡単のため、事後確率最大化とベイズ推定では$K=1$、つまり$y_i \in R$とする。
また、多次元の場合もまとめるつもり。

\begin{eqnarray}
p(w) & = & N(w | 0, \sigma_w^2I) \\
p(y | X, w) & = & N(y | Xw, \sigma_y^2 I)
\end{eqnarray}

とを仮定する。
事後分布p(w | X, y)はベイズの定理より。

\begin{eqnarray}
p(w | X, y) & \propto & p(w) p(y | X, w)
\end{eqnarray}

$L(w)$と以下のようにおき、

\begin{eqnarray}
L(w) & = & \log{p(w) p(y | X. w)} \\
& = & \log{p(w)} + \log{p(w | X, y)} \\
& = & - \frac{1}{2 \sigma_y^2} \| y - Xw \|_2^2 - \frac{1}{2 \sigma_w^2} w^{\mathrm{T}} w + const
\end{eqnarray}

$L(w)$を最大化するため$w$について微分する。

\begin{eqnarray}
\frac{dL(w)}{w} & = & \frac{1}{2 \sigma_y^2} (2 X^{\mathrm{T}} y - 2 X^{\mathrm{T}} X w) - \frac{1}{\sigma_w^2} w \\
& = & \frac{1}{\sigma_y^2} X^{\mathrm{T}} y - (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I) w \\
& = & 0
\end{eqnarray}

よって$w$は以下のように定まり、これはRidge回帰を最尤推定した結果と同じである。

w = (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I)^{-1} \frac{1}{\sigma_y^2} X^{\mathrm{T}} y

ベイズ推定

MLE及びMAPでは最適な$w$を求めていたが、ベイズ推定では事後分布$p(w | X, y)$を求めることを目標とする。
MAPと同様に

\begin{eqnarray}
p(w) & = & N(w | 0, \sigma_w^2I) \\
p(y | X, w) & = & N(y | Xw, \sigma_y^2)
\end{eqnarray}

を仮定する。
事後分布p(w | X, y)はベイズの定理より、

\begin{eqnarray}
p(w | X, y) & \propto & p(w) p(y | X, w)
\end{eqnarray}
\begin{eqnarray}
\log{p(w| X, y)} & = & -\frac{1}{2\sigma_w^2}w^{\mathrm{T}}w - 
\frac{1}{2\sigma_y^2}(y - Xw)^{\mathrm{T}} (y - Xw) + const \\
& = & -\frac{1}{2} (w^{\mathrm{T}} (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I) w - \frac{1}{\sigma_y^2} 2 y^{\mathrm{T}} Xw + \frac{1}{\sigma_w^2}y^{\mathrm{T}}y + const \\
& = & ( w - (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I)^{-1} \frac{1}{\sigma_y^2} X^Ty)^T
(\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I) 
( w - (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I)^{-1} \frac{1}{\sigma_y^2} X^Ty) + const
\end{eqnarray}

よって

\begin{eqnarray}
p(w | X, y) & = & N(\mu, \Sigma) \\
\Sigma^{-1} & = & (\frac{1}{\sigma_y^2} X^{\mathrm{T}}X + \frac{1}{\sigma_w^2} I) \\
\mu & = & \Sigma \frac{1}{\sigma_y^2} X^Ty
\end{eqnarray}

となり、事後分布がわかった。
この平均$\mu$はMLE,MAPの場合と同じものが求まっている。

次に$x^*$に対応する$y^*$を予測することを考える。つまり$p( y^* | x^*, X, y)$を求めれば良い。

これは以下のように求められる。

\begin{eqnarray}
p( y^* | x^*, X, y) & = & \int p( y^* | x^*, w) p(w | X, y) dw \\
& = & N(y^* | {x^*}^{\mathrm{T}} \mu, \sigma_y^2 + {x^*}^{\mathrm{T}} \Sigma x^*)
\end{eqnarray}

ここの展開はPRMLの式2-165を参照した。

References

  • 「ベイズ深層学習」
  • 「パターン認識と機械学習 上」
2
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
2
2