パターン認識 & 回帰分析

パターン認識と回帰分析の目的は、ともにデータセット\mathcal{D}_x = \{x_1,x_2,\dots,x_n\},\mathcal{D}_y = \{y_1,y_2,\dots,y_n\}から予測関数y = f(x,w)を求めることにある。予測関数fは、パターン認識では識別関数と、回帰分析では回帰関数とそれぞれ呼ばれているが、本質的には同じものである。その違いは、出力変数が離散変数か連続変数かの違いでしかない。ここではパターン認識と回帰分析をひとまとめに考え、その基礎となる技術の解説をおこなう。


目次


パーセプトロン

多層パーセプトロン

偏りと分散のジレンマ

モデルの自由度が高いときに十分な訓練データが与えられなければ、分散が高くなり、結果としてMSEが増大する。この問題をオーバーフィッティング(過適応)という。

解決策1:モデル選択

解決策2:ベイズ推定法

後述する確率モデルによって表現しなければならない。

確率モデルによる推定

決定理論との相性。事前確率の入れ替え


パターン認識&回帰分析の方法

入力変数xから出力変数yを予測する方法には、大きく分けて2とおりある。

  1. 予測関数f(x,w)を直接推定する。 → 最小二乗法、フィッシャーの判別法、ニューラルネットワーク etc.
  2. 条件付き確率分布p(y|x,w)を推定する。

ここで、wはモデルパラメーターである。

単純にパターン認識や回帰分析をするだけならば、予測関数を直接推定するだけで十分である。しかしながら、条件付き確率分布を推定することで、次のようなメリットがある。

  • 得られた結果の信頼度を確率によって評価できる。
  • 決定理論(期待損失最小化、棄却オプション)による誤識別のリスク軽減
  • 学習アルゴリズムについて
    1. ベイズ推定法による、オーバーフィッティングの回避
    2. 逐次学習の直感的な定式化
  • 尤度の計算によるモデルの評価(周辺尤度最大化)
  • 確率モデルの結合容易性 → 複数の要因を組み合わせたパターン認識&回帰分析
  • 訓練データの人為的な操作(事前確率を入れ替えることでキャンセルできる。)


確率モデルのつくりかた

パターン認識や回帰分析の確率モデルは、識別モデル生成モデルに分けられる。

  1. 識別モデルでは、予測関数f(x,w)を用いて、条件付き確率p(y|x,w)を直接モデル化する。
  2. それに対して、生成モデルでは、2つの確率分布p(x|y,w), p(y)をモデル化して、ベイズの定理からp(y|x,w)を導出する。p(y)から、実験用データを生成できる??

識別モデルの方がモデルパラメーターの数が少なくなるので、パターン認識や回帰分析を解く目的ならば識別モデルが一番適している。

パターン認識の識別モデル

p(y|x,w) = \sigma\bigl(f(x,w)\bigr)

ここで、\sigmaはロジスティックシグモイド関数である。このモデルの正当性は、確率分布が指数関数族で表せるという仮定のもとで、生成モデルから式変形することにより一般的に得られる。

回帰分析の識別モデル

p(y|x,w) = \mathcal{N}\bigl(f(x,w),\beta^{-1}\bigr)


確率論にもとづくモデルパラメーターの学習アルゴリズム

最尤法

最尤法では、学習データがもっとも生起しやすいようにモデルパラメーターwを決める

\hat{w} = \arg\max_{w}\ L(w) = \arg\max_{w}\ p(\mathcal{D}_y|\mathcal{D}_x,w) = \arg\max_{w}\ \prod_i p(y_i|x_i,w)

\hat{w}がモデルパラメーターの推定値である。L(w)を尤度関数という。

実際には、尤度関数を直接最大化するのではなく、対数尤度関数L'(w) = \log L(w)を最大化することが多い。対数をとることで、

L'(w) = \log\ L(w) = \sum_i \log\ p(y_i|x_i,w)

となり、解析的な取り扱いが容易となるためだ。とくに、確率分布が指数関数族であらわされる場合は右辺が多項式になるので、解析的に\frac{d L'(w)}{dw} = 0となるwを求めることができる。

条件付き確率分布p(y|x,w)\mathcal{N}\bigl(f(x,w),\sigma^2\bigr)とモデル化した場合、学習アルゴリズムが最小二乗法と同じになることが数学的に証明されている。

最大事後確率推定法

基本的な考え方は、最尤法にしたがうが、尤度関数を最大化するのではなく、モデルパラメーターの事後確率p(w|\mathcal{D}_x,\mathcal{D}_y) = p(\omega)p(\mathcal{D}_y|\mathcal{D}_x,w)を最大化する

\hat{w} = \arg\max_{w}\ p(w)p(\mathcal{D}_y|\mathcal{D}_x,w)

事前確率p(\omega)を考慮することで、オーバーフィッティングを回避できる。ただし、次に説明するベイズ推定法とは異なり、適切な事前確率が見つけ出せなければ、無意味な答えを出すモデルとなってしまう。

ベイズ推定法

最尤法や最大事後確率推定法のようにモデルパラメーターを点推定するのではなく、モデルパラメーターに関して期待値\mathbb{E}_{w}[p(y|x,w)]を計算するのがベイズ推定法である。期待値を計算することで、あらゆるモデルパラメーターのあらゆる場合を重みつきで評価しているので、オーバーフィッティングを回避することができる。ベイズ推定法を定式化すると次式のようになる。

p(y|x) = \mathbb{E}_{\omega}[p(y|x,w)] = \int p(y|x,w)p(w|\mathcal{D}_{x},\mathcal{D}_{y}) dw

文献によってはモデルパラメーターについて周辺化すると述べているが、同じことである。ベイズ推定法は、モデルパラメーターに関して周辺化する必要があるため、厳密に解析できる問題は限られている。多くの場合は、ラプラス近似やサンプリング法を利用することで近似することになる。


決定理論

条件付き確率p(y|x)から予測関数y(x)を求める方法が決定理論である。

識別率最大化法

識別率を最大化するように予測関数を決定する。定式化すると下記のようになる。

y(x) = \arg\max_y\ P(Y=y|X=x)

条件付き確率P(Y=y|X=x)が正規分布を用いてモデル化される場合、予測関数と分布の平均は一致する:

y(x) = \arg\max_y\ P(Y=y|X=x) = \mathbb{E}[Y|X]

期待損失最小化法

予測関数をy(x)としたときに、予想される損失の期待値を最小化する。確率変数Yの分布が条件付き確率P(Y|X)によってあらわされるときに(このとき、)、y(x)と決定してしまったときの損失をL(Y,y(x))とすると、損失の期待値は

\mathbb{E}_Y\bigl[L(Y,y(x))\bigr] = \int_Y L(Y,y(x)) P(Y|X)dY

とあらわせる。これを最小化する予測関数y(x)を求めればよい。変分法を用いれば、その答えは、

y(x) = \mathbb{E}[Y|X]

であると導かれる。したがって、予測分布が正規分布のときは、識別率最大化法と期待損失最小化法は同じ予測関数を導くことになる。

棄却オプション

書き込み中


ニューラルネットワーク

ノンパラメトリックモデル

参考文献

  • Christopher M. Bishop "Pattern Recognition And Machine Learning" Springer-Verlag (2006) ISBN 978-0387310732



最終更新:2009年01月18日 18:23
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。