線形回帰モデル(3章)

パターン認識と機械学習 上 - ベイズ理論による統計的予測

パターン認識と機械学習 上 - ベイズ理論による統計的予測

第3章:線形回帰モデル の理解メモ

  • 線形基底関数モデル:y(x,w) = w^T φ(x)
  • 2乗和誤差関数を最小にすることによる回帰係数の推定は、誤差関数がガウスノイズモデル化での最尤推定
  • 最尤推定解 wML = (Φ^TΦ)^-1 Φ^T t (Φは計画行列(design matrix=基底関数の行列、tは目標変数)を最小二乗問題の正規方程式(normal equation)という。Φ≡(Φ^TΦ)^-1 Φ^Tはムーア-ペンローズの擬似逆行列という。これは通常の逆行列の概念の非正方行列への拡張
  • 正則化最小2乗法:過学習を防ぐために誤差関数に正則化項を加える。次式で表される誤差関数全体を最小化する方法について調べる。ED(w) + λEw(w) (1):λはデータに依存する誤差ED(w)とEw(w)の相対的な重要度を制御する正則化係数
  • Ew(w) = λ/2 w^T wとすれば特に荷重減衰(weight decay)という。
  • (1)をwに関する傾きを0とおき、wについて解けば、w =(λI + Φ^TΦ)^-1 Φ^T tが得られる。これは最小2乗解の拡張とみなすことが出来る。
  • また、一般的な正則化誤差項を付してED(w) + λ/2 Σ|w_j|^qとすることもある。q=2の場合、荷重減衰に相当する。q=1のときを特にlassoと呼ぶ(Tibshirani, 1996)。lassoでは、λが十分に大きいときにいくつかの係数wjがになり、疎な解が得られる。0となる係数に対応する基底関数は予測に影響を及ぼさない。
  • 限られたサイズのtraining data集合を用いて複雑なモデルを学習すると、最尤推定(あるいは最小2乗法)は著しく過学習(over-fitting)する恐れがある。しかしながら、過学習を避けるために基底関数の数を限定するとモデルの表現能力が限られてしまう。正則化項を導入すれば、多数のパラメータを持つモデルの過学習を抑制することが出来るものの、正則化係数について適切な重みベクトルwと正しい正則化係数λを同時に最適化すると単にλ=0が得られてしまうため、明らかに正しいアプローチではない。
  • 過学習の現象は最尤推定の欠点であるが、ベイズの枠組みでパラメータを周辺化すればこの問題は起こらない。
  • 期待損失 = (バイアス)^2 + バリアンス + ノイズ:バイアスは理想的な回帰関数とサンプルより導かれる予測関数の2乗誤差の期待値、バリアンスはサンプル予測関数の分散、ノイズは目標変数と理想的な回帰関数の2乗誤差の期待値
  • λの値を様々に変え、解の重み付き平均をとることは、実際のベイズ学習の基礎をなす重要な考え方。
  • (確認中):頻度主義
  • ベイズ線形回帰:線形回帰モデルのパラメータを最尤推定によって決める場合は、基底関数の数によって決まる実効的なモデルの複雑さをデータのサイズに依存して適切に決めなければならない。また、正則化項を対数尤度関数に加えることにより、実効的なモデルの複雑さを正則化係数の値によって調整できることもわかった。しかし、正則化項を用いる場合でも、基底関数の数と形を選ぶことは重要。
  • 単純に尤度関数を最大にすることによって解決はできない。なぜなら、尤度関数を最大にするようにモデルを選ぶと、常に過度に複雑なモデルが選ばれ、過学習を引き起こしてしまうから。
  • 解決する方法1データの一部を独立なテスト用データとして取っておくことにより、モデルの複雑さを適切に決めることが出来る。しかし、この方法は計算量が大きく、貴重なデータの無駄遣いとなりうる。
  • 解決する方法2線形回帰モデルをベイズ的に取り扱うことにし、最尤推定過学習を回避すると共に訓練データだけからモデルの複雑さを自動的に決定する方法。
  • ベイズ逐次学習:(精度パラメータは既知とする)まず、①モデルパラメータwの事前確率分布p(w)を導入 → ②入力変数xに対する尤度関数p(t|x,w)を計算。p(w|t) = p(w)/p(t|x,w)を計算し、正規化し事後分布を計算。(共役なガウス事前分布を選べば、事後分布もガウス分布)。※要確認→ ③新たな入力変数に対する尤度関数p(t|x,w)を計算(w関数として表示する)、②の事後分布と掛け合わせて、2点目のデータを観測した後の事後分布p(w|t)が得られる。training data点数を無限に増やしていけば、事後分布は収束していく(はず)
  • 実際的な場面では、wの値そのものではなく新しいxに対してt(目標変数)を予測したいことが多い。そのためには、P(t|x,T,α,β) = ∫ p(t|x,w,β) p(w|x,T,α,β) dw。Tはtraining dataの目標値からなるベクトル。p(t|x,T,α,β)
  • 等価カーネル:予測分布の平均を与える係数行列(基底関数の重みに相当)
  • 等価カーネルは通常のカーネル関数が満たすべき重要な性質を満たしている:k(x,z) = ψ(x)^T ψ(z), ただしψ(x) = β^1/2 SN^1/2 φ(x
    (p.135-p.159読了)