【はじめてのパターン認識】第2章 識別規則と学習法の概要

はじめてのパターン認識を読んでいる。
その個人的メモ。

はじめてのパターン認識

はじめてのパターン認識

識別規則の構成法

  1. 事後確率による方法
  2. 距離による方法
  3. 関数値による方法
  4. 決定木による方法
事後確率による方法

パターン空間に確率分布を仮定し、事後確率が最大のクラスに分類する。 ベイズの最大事後確率法が代表例。 学習データから確率分布のパラメータを推定する必要があり、様々な方法が提案されている。

距離による歩法

入力ベクトルxと各クラスの代表ベクトルとの距離を計算し、一番近い代表ベクトルのクラスに分類する。 最近傍法が代表例。

関数値による方法

関数{f(x)}の正負、あるいは最大値でクラスを決める。 バーセプトロン型学習回路やサポートベクトルマシンがその代表例。 識別のために用いられる関数{f(x)}を識別関数という。

決定木による方法

識別規則の審議に応じて次の識別規則を順次適用し、決定木の形でクラスを決める。 学習データから決定木を自動的に構成する手法が提案されている。

手元にあるデータを学習用とテスト用に分割する手法

  1. ホールダウト法(holdout法)
  2. 交差確認法(cross validation法)
  3. 一つ抜き法(leave-one-out法)
  4. ブートストラップ法(bootstrap法)
ホールドアウト法

手元のデータを二つ二分割し、一方を学習に使い、もう一方はテストのために取り置いておき、誤り率を推定するために使用する。

ホールドアウト法は、有限のデータを学習用とテスト用に分割するので、 学習用を多くすればテスト用が減り、汎化性能の評価精度が落ちる。 逆にテスト用を多くすれば学習用が減少するので、学習そのものの精度が悪くなる。 したがって、手元のデータが大量にある場合を除いて、良い性能評価を与えないという欠点がある。

交差確認法(cross validation法)

ホールドアウト法の欠点を補うものとして使用される。 手元のデータをm個のグループに分割して、m-1個のグループのデータを用いて識別器を学習し、残りの1つのグループのデータでテストを行う。 これをm回繰り返し、それらの誤り率の平均を性能予測値とする。

1つ抜き法

交差確認法において、データの数とグループの数を等しくした場合を言う。 1つのデータを除いた全てのデータで学習し、除いた1つでテストすることをデータ数分繰り返す。 ジャックナイフ法とも呼ばれている。

ブートストラップ法

手元のデータから、N回復元抽出してブートストラップサンプルを作る。 このブートストラップサンプルを学習に使用する。 そしてテストデータとして、ブートストラップサンプルを使う場合と、もともとのデータ集合を使う場合の誤認識率の差をバイアスとして記憶しておく。

今度はもともとのデータ集合を使って学習させて、もともともデータ集合でテストした誤認識率にこのバイアス分を足すと、真の誤認識率の予測値が精度良く得られる。

汎化誤差を評価

識別関数の形やパラメータの要素が識別関数の複雑さを決める。 これらを変えながら、交差確認法やブートストラップ法により汎化誤差を推定すればよい。 これらの手法はデータの分布を統計モデルで記述する必要がないので、多くの研究者が使用している。

ちなみに、 データの分布に統計モデルを仮定した場合は、AIC赤池情報量基準)やBICベイズ情報量基準)、MDL(最小距離基準)などで解析的に汎化誤差を評価できる。