stMind

about Tech, Computer vision and Machine learning

 ビショップ本 (上) p5-p11

前回までのおさらい


誤差関数を最小化することにより、多項式の係数の値を求めた。
残りの問題として、多項式の次数Mを求める問題が残っているので今回はそれについて。

モデル選択、モデル比較


次数Mを求める問題は、モデル選択とかモデル比較などと呼ばれる概念の一例で、複数のモデルの中からデータをうまく説明するモデルを比較・選択すること(どのモデルが訓練データに対して当てはまりがいいか?)。

過学習RMS誤差、最尤推定

過学習

M=0, 1はデータへの当てはまりがよくないのでモデルとしては不適当。
M=3は最もよく当てはまっているように見え、データを説明するモデルとして適当だと考えられる。
さらに、M=9の場合には、訓練データには非常によく当てはまっていて、誤差関数E\(\bf{w}^*\)=0である。しかし、当てはめた曲線は\sin\(2\pi x\)の表現としては明らかに不適切。このような振る舞いは過学習と呼ぶ。(次数Mの増加に伴い、係数の多くは大きな値をとるようになる)

RMS誤差(root-mean-square error, 平均二乗平方根誤差)

E_{RMS}=sqrt{2E\(w^*\) / N}で表される。
いろいろな次数Mに対して、訓練データとそれ以外のテスト集合の残差を比較する事が出来る。テスト集合の誤差は、新しいxを観測した時にtをどれだけよく予測できたかを表している(誤差が小さいほどよく予測が出来ている)。

過学習の抑制

過学習を抑制するには、

  1. データ集合のサイズを大きくする
    • パラメータ数に対して数倍(5とか10)より小さくてはいけないと言われている
  2. ベイズ的アプローチ
  3. 正則化
    • 誤差関数に罰金項を付加する事により係数が大きな値になる事を防ぐ
    • 罰金項のうち最も単純なものは係数を二乗して和をとったもので、誤差関数は以下で表される。
      \tilde{E} = 1/2 \sum_{n=1}^{N} { y\(x_n, \bf{w}\) - t_n }^2 + \lambda / 2 \|\bf{w}\|^2
      ただし、\|\bf{w}\|^2 \equiv \bf{w}^T \bf{w} = w_{0}^2 + w_{1}^2 + \ldots + w_{M}^2
      係数\lambdaは、正則化項と二乗誤差の和の項との相対的な重要度(重み)を調節する。

その他

  • モデルの複雑さを決める問題(次数Mをどのように決めるか?)は重要。
  • 誤差関数を最小にする方法で実際の応用問題を解くような場合には、モデルの複雑さを決める適切な方法を見つけないといけない。一つの方法として、得られたデータを、係数\bf{w}を決める訓練データと、それとは別の確認用集合(ホールドアウト集合とも呼ばれる)に分けるというのが考えられる。
  • より詳しい議論は1.3節に。