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