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

重回帰分析のための汎化性向上の工夫

重回帰分析(multiple regression analysis)は、訓練サンプル集合から予測モデ ルを構築するための最も基本的な多変量データ解析手法のひとつとして様々な分 野で応用されている。一般に、予測モデルを構築する目的は、訓練サンプル集合 に含まれていない未学習の説明変数から、目的変数の値を推定したいためである。 したがって、構築された予測モデルが訓練サンプル集合に含まれていない未学習 サンプルに対して十分な予測性能を発揮しなければ、予測モデルを構築する意味 が無い。未学習データに対する予測性能は、汎化性と呼ばれており、予測モデル を構築する際の重要な要素であり、従来から中心的な感心が払われて来た。その 代表的なものが、変数撰択法や収縮法(shrinkage method)あるいは正則化法 (regularization method)等がある。以下にその代表的な手法として、変数撰択 法とリッジ回帰(ridge regression)について紹介する。

(1) 変数選択法

入力特徴ベクトル $\mbox{\boldmath$x$}$の中には予測モデルに取って有用な特徴のみでなく不 用な特徴が含まれていることがある。例えば、極端な場合として、予測に全無関 係な特徴が含まれているとすると、その特徴は未学習サンプルの予測には有効に 働かないで、逆に予測の邪魔をすることに成りかねない。また、訓練サンプルの 数に比べて入力特徴の数が多い場合には、予測モデルのパラメータを一意に決め ることすらできなくなってしまう。このような場合には、特徴の中から予測に有 効な特徴の部分集合を選び出して予測モデルを構築することが必要となる。この ような与えられた特徴の中から予測に有効な特徴の部分集合を選び出して予測モ デルを構築する手法は、変数選択法と呼ばれている。

変数選択のためには、すべての特徴の部分集合に対して、予測性能を評価する必 要がある。しかし、部分集合の数は、特徴の数が増えると指数関数的に増大する。 したがって、特徴の数が多い場合には、すべての部分集合に対して評価すること るは現実的では無い。そのため、比較的良い特徴の部分集合を探策する手法が提 案さるれている。単純な方法としては、Forward stepwise selection あるいは、 Backward stepwise selection と呼ばれる手法がある。Forward stepwise selection は、最初、特徴$1$個のみのモデルからはじめて、特徴を$1$個づつ追 加して行くことで、最も良い特徴の組を選び出す。逆に、Backward stepwise selection は、全ての特徴を含むモデルから特徴を$1$個づつ取り除いて行くこ とで、最も良い特徴の組を選び出す。これらの他にも遺伝的アルゴリズムを用い て特徴の組を撰択することなども可能である。

変数選択を行うためには、特徴の部分集合に対して学習が終った予測モデルの予 測性能を評価できなければならない。先の訓練サンプルに対する2乗誤差基準は、 特徴の数を増やせば増やすほど小さくなるので、この基準で特徴の部分集合を選 択することはできない。

予測モデルの汎化性能は、学習に用いない未知のデータに対する予測性能である ので、訓練サンプル以外に汎化性能を評価するためのデータを比較的容易に集め ることができる場合には、訓練サンプル以外のサンプルに対する予測性能を評価 することも可能である。つまり、汎化性能を評価するためのサンプルを用意し、 そのサンプルに対する予測性能が最大となるような特徴の部分集合を選択するこ とが可能である。この方法は、最も簡単で、最も直接的な方法であり、訓練サン プル以外にデータを集めることが可能な場合には、まず試みてみるべき方法であ る。

訓練サンプルを集めることが難しく、訓練サンプルが少ない場合には、訓練サン プル以外の評価用データを用意することが難しい。このような場合には、訓練サ ンプルのみから予測性能を評価しなければならない。かなり多くの計算量が必要 であるが、計算パワーさえあれば、比較的簡単に予測性能を評価できる方法に、 resampling手法がある。leave-one-out法は、その中でも最も単純な手法である。 leave-one-out法では、$N$個のサンプルが与えられた場合、それを$N-1$個の訓 練サンプルと$1$個の評価用サンプルとに分割し、$N-1$ 個の訓練サンプルを用 いた学習結果で$1$個の評価用サンプルを評価する。このような分割の仕方は$N$ 通りあるので、その全てに対する評価結果の平均を計算し、それを予測性能の評 価値として利用する。その他、もう少し洗練された手法として、jackknife法 [9,10]やbootstrap法[11,12,13]等の resampling手法もある。resampling手法は、コンピュータの計算パワーを最大限 に利用することで、予測性能を評価する手法であり、現在のようにコンピュータ の性能が急激に向上し、コンピュータの計算パワーが至る所で有り余っているよ うな状況では、もっともっと利用しても良い手法であると考える。

訓練サンプルに対する2乗誤差基準の代わりに、予測性能を評価するための訓練 サンプルのみから計算できる評価基準も提案されている。重回帰分析では、F統 計量を用いる方法もあるが、その他にも、赤池の AIC(An Information Theoretical Criterion)[14,15]やRissanenのMDL(Minimum Description Length)[16,17]などの情報量基準も有名で ある。このような方法は、学習は一回のみでよく、比較的簡便な評価が可能とな る。重回帰分析を用いたパーセプトロンの結合係数の学習は最尤推定とみなすこ とができるので、学習されたパラメータを使って計算した対数尤度(最大対数尤 度)から AIC や MDL などの情報量基準を計算することにより、予測モデルの予 測性能を比較することが可能となる。

AICは赤池により最大対数尤度と期待平均対数尤度の間の偏りの解析的評価か ら導出されたもので、最尤推定するモデルの自由度を $J$ とすると、

\begin{displaymath}
AIC = -2(\mbox{最大対数尤度})+2J
\end{displaymath} (42)

のように定義される。一方、MDLはRissanenにより符号化における記述長最小 化(Minimal Discription Length)原理として導出されたもので、
\begin{displaymath}
MDL = -(\mbox{最大対数尤度})+\frac{N}2 \log J
\end{displaymath} (43)

のように定義される。これらの評価を用いると、訓練サンプルに対する当てはま りに大きな差があると第1項に大きな差があらわれ当てはまりの良いモデルが選 ばれ、第1項に大きな差が無い場合には第2項が作用して自由度の小さいモデル が選択される。従って、予測性能の高いモデルを撰択するためには、様々な変数 の部分集合を用いたモデルでのパラメータを学習し、そのパラメータかるら対数 尤度を計算し、AIC あるいは MDL の小さい変数の組を選択すればよい。

(2) リッジ回帰

変数選択法では、説明変数の組を選択することで、未学習のデータ対する予測性 能の良いモデルを構築しようとするが、この変数選択のプロセスは、変数を選ぶ、 選ばないというように離散的である。それに対して、もう少し連続的にモデルを 制限する方法として、Shrinkage法と呼ばれる方法がある。その代表的なものが、 リッジ(rigde regression)回帰である。

リッジ回帰では、2乗誤差基準

\begin{displaymath}
\varepsilon^2_{emp} = \sum_{i=1}^N (t_i - y_i)^2
= \sum_{i=1}^N (t_i - (\sum_{j=1}^M w_{j} x_{ij} - h))^2
\end{displaymath} (44)

に、パラメータ$w_j$対して、その大きさが大きく成りすぎないように、
\begin{displaymath}
\sum_{j=1}^M w_{j}^2
\end{displaymath} (45)

のようなペナルティを課す。具体的には、これらをまとめて
\begin{displaymath}
Q(\mbox{\boldmath$w$},h) = \sum_{i=1}^N (t_i - (\sum_{j=1}^M w_{j} x_{ij} - h))^2
+ \lambda \sum_{j=1}^M w_{j}^2
\end{displaymath} (46)

のような評価基準を考え、これが最小となるようなパラメータを求める。ここで、 $\lambda$は、2乗誤差とペナルティとのバランスを決定する定数である。したがっ て、$\lambda = 0$の場合には、リッジ回帰は通常の回帰分析と同じになる。

今、 $Q(\mbox{\boldmath$w$},h)$$h$で偏微分し$0$とおくと、

\begin{displaymath}
\frac{\partial Q(\mbox{\boldmath$w$},h)}{\partial h} = 2 N (\bar{t} - \sum_{j=1}^M w_j \bar{x}_j + h) = 0
\end{displaymath} (47)

となる。これから、$h$に関する条件
\begin{displaymath}
h = - \bar{t} + \sum_{j=1}^M w_j \bar{x}_j
\end{displaymath} (48)

が得られる。ここで、 $\bar{t} = \frac{1}{N} \sum_{i=1}^N t_i$、および $\bar{x}_j = \frac{1}{N} \sum_{i=1}^N x_{ij}$である。これを $Q(\mbox{\boldmath$w$},h)$ の式に代入すると、
$\displaystyle Q(\mbox{\boldmath$w$})$ $\textstyle =$ $\displaystyle \sum_{i=1}^N \{ (t_i - \bar{t}) - \sum_{j=1}^M w_j (x_{ij} - \bar{x}_j) \}^2$  
$\displaystyle   $ $\textstyle +$ $\displaystyle \lambda \sum_{j=1}^M w_j^2$  
  $\textstyle =$ $\displaystyle (\tilde{\mbox{\boldmath$t$}} - \tilde{X} \mbox{\boldmath$w$})^T (...
...lde{X} \mbox{\boldmath$w$}) + \lambda \mbox{\boldmath$w$}^T \mbox{\boldmath$w$}$ (49)

となる。ここで、 $\tilde{\mbox{\boldmath$t$}}$、および、$\tilde{X}$は、それぞれ、 $(t_i
- \bar{t})$を要素とするベクトル、および、 $(x_{ij} - \bar{x}_j)$を要素と する行列である。これを $\mbox{\boldmath$w$}$で偏微分すると
\begin{displaymath}
\frac{\partial Q(\mbox{\boldmath$w$})}{\partial \mbox{\bold...
...de{X} \mbox{\boldmath$w$} + \lambda I) \mbox{\boldmath$w$} = 0
\end{displaymath} (50)

となり、最適なパラメータ $\mbox{\boldmath$w$}^{*}$は、
\begin{displaymath}
\mbox{\boldmath$w$}^{*} = (\tilde{X}^T \tilde{X} + \lambda I)^{-1} \tilde{X}^T \tilde{\mbox{\boldmath$t$}}
\end{displaymath} (51)

となる。これは、行列 $\tilde{X}^T \tilde{X}$の対角要素に$\lambda$を加えて から逆行列を計算することに対応する。これにより、行列 $\tilde{X}^T \tilde{X}$が正則でない場合でも、逆行列が不定になることが防げる。また、逆 行列の数値計算を安定化させる効果もある。


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