next up previous
次へ: ロジスティック回帰のための汎化性向上の工夫 上へ: 識別のための線形手法と汎化性 戻る: 重回帰分析のための汎化性向上の工夫

ロジスティック回帰

入出力関数としてロジスティック関数を用い、最尤法によりパラメータを推定す る場合には、ロジスティック回帰と呼ばれる手法と等価となる。この場合には、 ロジスティック回帰のためのパラメータ推定アルゴリズムとして知られている フィッシャーのスコアリングアルゴリズムを学習に利用することも可能である。

今、訓練サンプル集合を $\{(\mbox{\boldmath$x$}_i,u_i)\vert i=1,\ldots,N\}$ とする。ここで は、教師信号 $u_i$ は、$0$$1$ の2値で与えられるものとする。

入力 $\mbox{\boldmath$x$}$ を与えたときの出力 $y$ を、入力 $\mbox{\boldmath$x$}$ のもとで教師信号 $u$$1$ である確率の推定値と考えると、訓練サンプル集合に対するネット ワークの尤度は、

\begin{displaymath}
L = \prod_{i=1}^N y_i ^{u_i} (1 - y_i)^{(1 - u_i)}
\end{displaymath} (52)

で与えられる。従って、その対数(対数尤度)は、
$\displaystyle l$ $\textstyle =$ $\displaystyle \sum_{i=1}^N \{u_i \log y_i + (1 - u_i) \log (1 - y_i) \}$  
  $\textstyle =$ $\displaystyle \sum_{i=1}^N \{u_i \log \{ \frac{\exp(\eta_i)}{1+\exp(\eta_i)} \}$  
    $\displaystyle + (1-u_i) \log \{ \frac{1}{1+\exp(\eta_i)} \} \}$  
  $\textstyle =$ $\displaystyle \sum_{i=1}^N \{u_i \eta_i - \log \{1+\exp(\eta_i) \} \}$ (53)

となる。これを最大とするパラメータがネットワークの最尤推定値である。

線形重回帰分析の場合と同様に、まずは、最急降下法によりパラメータ $\tilde{\mbox{\boldmath$w$}}$を遂次更新することで最適なパラメータを求める方法につい て考えてみよう。対数尤度のパラメータ$w_j$に関する偏微分は、

\begin{displaymath}
\frac{\partial l}{\partial w_j} = \sum_{i=1}^N (u_i - y_i) x_{ij} = \sum_{i=1}^N \delta_i x_{ij}
\end{displaymath} (54)

のようになる。ここで $\delta_i = (u_i- y_i)$ である。一方、対数尤度のパ ラメータ$h$に関する偏微分は、
\begin{displaymath}
\frac{\partial l}{\partial h} = \sum_{i=1}^N (u_i - y_i) (-1) = \sum_{i=1}^N \delta_i (-1)
\end{displaymath} (55)

となる。したがって、パラメータの更新式は、
$\displaystyle w_j$ $\textstyle \Leftarrow$ $\displaystyle w_j + \alpha (\sum_{i=1}^N \delta_i x_{ij})$ (56)
$\displaystyle h$ $\textstyle \Leftarrow$ $\displaystyle h + \alpha (\sum_{i=1}^N \delta_i (-1))$ (57)

のようになる。面白いことに、この更新式は、重回帰分析のパラメータを最急降 下法で求めるWidrow-Hoffの学習規則(Widrow-Hoff learning rule) と全く 同じ形をしている。ただし、出力値$y_i$の計算方法が異なるので、結果的には、 最適なパラメータは異なる値に収束する。

最尤推定においては、Fisher 情報行列が重要な役割を演じる。一般に、 データ $y$ がパラメータ $\theta_1,\ldots,\theta_M$ をもつ 密度関数 $f(y,\theta_1,\ldots,\theta_M)$ をもつ分布に従うとき、

\begin{displaymath}
F_{ij} = - E \left( \frac{\partial^2}{\partial \theta_i \partial \theta_j}
\log f(y,\theta_1,\ldots,\theta_M) \right)
\end{displaymath} (58)

を Fisher 情報量と呼び、行列 $F = [ F_{ij} ]$ を Fisher 情報行列という。 Fisher 情報量は不変推定量の分散と密接に関係している。

ここでは、ロジスティック回帰の Fisher 情報量を具体的に計算する。そのため には、式 (53) の対数尤度の2次微分を計算する必要がある。対数尤 度の2次微分は、

\begin{displaymath}
\frac{\partial^2 l}{\partial \tilde{w}_k \partial \tilde{w}_j} =
- \sum_{i=1}^N \omega_i \tilde{x}_{ik} \tilde{x}_{ij}
\end{displaymath} (59)

となる。ただし、 $\omega_i = y_i (1 - y_i)$ である。1次微分と2次微分をま るとめて行列表現すると
$\displaystyle \nabla l$ $\textstyle =$ $\displaystyle \sum_{i=1}^N \delta_i \tilde{\mbox{\boldmath$x$}}_i = X^T \mbox{\boldmath$\delta$},$ (60)
$\displaystyle \nabla^2 l$ $\textstyle =$ $\displaystyle - \sum_{i=1}^N \omega_i \tilde{\mbox{\boldmath$x$}}_i \tilde{\mbox{\boldmath$x$}}_i^T = - X^T W X$  

となる。ただし、 $X^T = [\tilde{\mbox{\boldmath$x$}}_1,\ldots,\tilde{\mbox{\boldmath$x$}}_N]$ , $W = diag(\omega_1,\ldots,\omega_N)$ および $\mbox{\boldmath$\delta$}=(\delta_1,\ldots,\delta_N)^T$ である。

これらを用いて、パラメータ $\tilde{\mbox{\boldmath$w$}}$ に対する Fisher 情報行列、すなわち、Hessian 行列の期待値のマイナスは、

\begin{displaymath}
F = -E(\nabla^2 l) = X^T W X
\end{displaymath} (61)

となる。これは、入力ベクトル $\{\tilde{\mbox{\boldmath$x$}}_i\}$$\omega_i$ で重み 付けた相関行列である。そのときの重み $\omega_i$ は、図6に示 すような2次関数で、ニューロンの出力が確定している( $0$ あるいは $1$ に近い)場合には小さくなり、出力が不確定な( $0.5$ に近い)場合には大 きくなる。従って、Fisher 情報行列は、主に、出力が不確定な入力ベクトル の相関行列であると考えることができる。

図 6: 重み $\omega _p$
\begin{figure}\begin{center}
\psfig{file=omega.eps,width=6.5cm}\end{center}\end{figure}

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

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

\begin{displaymath}
\tilde{\mbox{\boldmath$w$}}^* = \tilde{\mbox{\boldmath$w$}} + \delta \tilde{\mbox{\boldmath$w$}}
\end{displaymath} (62)

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

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

となる。今、 $F \tilde{\mbox{\boldmath$w$}}$ は、
\begin{displaymath}
F \tilde{\mbox{\boldmath$w$}} = X^T W \mbox{\boldmath$\eta$}
\end{displaymath} (65)

となる。ただし、 $\mbox{\boldmath$\eta$} = (\eta_1,\ldots,\eta_N)^T$ である。 従って、新しい推定値 $\tilde{\mbox{\boldmath$w$}}^*$ は、
$\displaystyle \tilde{\mbox{\boldmath$w$}}^*$ $\textstyle =$ $\displaystyle F^{-1} (F \tilde{\mbox{\boldmath$w$}} + \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$})$ (66)

により求めることができる。ただし、 $\mbox{\boldmath$\delta$}=(\delta_1,\ldots,\delta_N)^T$ である。この式は、入力データ $X$ から目的 変数 $\mbox{\boldmath$\eta$} + W^{-1} \mbox{\boldmath$\delta$}$ への重み付き最小2乗法の正規方程式 とみなすことができる。従って、最尤推定値を求めるには、ある初期値からはじ めて、この重み付き最小2乗法を繰り返せばよいことになる。

上記のアルゴリズムは、繰り返しアルゴリズムであるためパラメータの初期値が 必要である。これは、例えば、以下のような簡単な方法で推定することが可能で ある。今、結合重みがすべて $0$ 、つまり、 $\mbox{\boldmath$w$} = \mbox{\boldmath$0$}$ とする。この とき、 $W = \frac{1}{4} I$, $\mbox{\boldmath$\eta$} = \mbox{\boldmath$0$}$ および $\mbox{\boldmath$\delta$} =
\mbox{\boldmath$u$} - \frac{1}{2} \mbox{\boldmath$1$}$ である。従って、これらを (66) の計算 式に代入すると、初期パラメータの推定値 $\tilde{\mbox{\boldmath$w$}}_0$ は、

\begin{displaymath}
\tilde{\mbox{\boldmath$w$}}_0 = 4 (X^TX)^{-1} X^T (\mbox{\boldmath$u$} - \frac{1}{2} \mbox{\boldmath$1$})
\end{displaymath} (67)

となる。これは、初期パラメータを入力から教師信号 $\mbox{\boldmath$t$}-\frac{1}{2}\mbox{\boldmath$1$}$ への線形回帰により求めることに対応している。


next up previous
次へ: ロジスティック回帰のための汎化性向上の工夫 上へ: 識別のための線形手法と汎化性 戻る: 重回帰分析のための汎化性向上の工夫
平成14年7月18日