next up previous
次へ: 初期パラメータの推定 上へ: ニューロン1個のみからなるネットワークの場合 戻る: Fisher 情報量

Fisher のスコアリングアルゴリズム

対数尤度(4.4)を最大とするようなパラメータを求めるためには、非線 形最適化法を用いる必要がある。ロジスティック回帰では、このために Fisher のスコアリングアルゴリズムが使われる [110]。これは、 一種のニュートン法で、Hessian 行列のかわりに Fisher 情報行列を用いる。 ニューロン1個のみからなるネットワークの場合、Fisher 情報行列とHessian 行列は単に符合が異なるだけなので、Fisher のスコアリングアルゴリズムは ニュートン法そのものとなる。

今、現時点でのパラメータの推定値を $\mbox{\boldmath$a$}$ とし、それを修正ベクトル $\delta\mbox{\boldmath$a$}$ により、

\begin{displaymath}
\mbox{\boldmath$a$}^* = \mbox{\boldmath$a$} + \delta\mbox{\boldmath$a$}
\end{displaymath} (210)

のように更新するものとする。修正ベクトル $\delta\mbox{\boldmath$a$}$ は、線形方程式
\begin{displaymath}
F \delta\mbox{\boldmath$a$} = \nabla l
\end{displaymath} (211)

を解くことにより求められる。パラメータの更新式(4.12) に左から $F$ を掛けると、
\begin{displaymath}
F \mbox{\boldmath$a$}^* = F \mbox{\boldmath$a$} + F \delta\mbox{\boldmath$a$} = F \mbox{\boldmath$a$} + \nabla l
\end{displaymath} (212)

となる。今、 $F \mbox{\boldmath$a$}$ は、
\begin{displaymath}
F \mbox{\boldmath$a$} = \left[ \begin{array}{c}
\vdots \\...
...\
\vdots \end{array} \right]
= X^T W \mbox{\boldmath$\eta$}
\end{displaymath} (213)

となる。ただし、 $\mbox{\boldmath$\eta$} = (\eta_1,\ldots,\eta_P)^T$ である。 従って、新しい推定値 $\mbox{\boldmath$a$}^*$ は、
$\displaystyle \mbox{\boldmath$a$}^*$ $\textstyle =$ $\displaystyle F^{-1} (F \mbox{\boldmath$a$} + \nabla l)$  
  $\textstyle =$ $\displaystyle (X^T W X)^{-1} (X^T W \mbox{\boldmath$\eta$} + X^T \mbox{\boldmath$\delta$})$  
  $\textstyle =$ $\displaystyle (X^T W X)^{-1} X^T W (\mbox{\boldmath$\eta$} + W^{-1} \mbox{\boldmath$\delta$})$ (214)

により求めることができる。ただし、 $\mbox{\boldmath$\delta$}=(\delta_1,\ldots,\delta_P)^T$ である。この式は、入力データ $X$ から目的変数 $\mbox{\boldmath$\eta$} + W^{-1} \mbox{\boldmath$\delta$}$ への重み付き最小2乗法の正規方程式とみなす ことができる。

従って、最尤推定値を求めるには、ある初期値からはじめて、この重み付き最小2乗 法を繰り返せばよいことになる。



Takio Kurita 平成14年7月3日