はじめに
先日、機械学習界隈では有名なパターン認識と機械学習(通称: PRML)を購入した。
結構難解だという声も聞くが、機械学習をやる身としては理解しておいた方が良いので何とか読破しようと思う。ただ読むだけでは知識が定着しないので、読んだ内容をブログにまとめてアウトプットしていこうと思う。
また、PRMLの内容をまとめた資料として、松尾研の輪読資料もあるのでこちらも参考にしてもらいたい。
1.1 多項式曲線フィッティング
訓練集合
訓練集合として、N個の入力値$X≡(x_1, x_2,...,x_N)$と入力値に対応する観測値$t≡(t_1, t_2, ..., t_N)$が与えられたとする
目標
新たな入力$x$が与えられた時の観測値$t$を予測することを目標とする
予測方法
以下のような多項式で予測することを考える
$$
y(x, \mathbf{w}) = w_0 + w_1x + w_2x^2 + ... + w_Mx^M = \sum_{j=0}^{M}w_jx^j
$$
- $y(x, \mathbf{w})$は$x$の非線形関数であるものの、$\mathbf{w}$に対しては線形である
予測方法の評価方法
$\mathbf{w}$を任意の値に固定した時、$y(x, \mathbf{w})$の値と訓練集合の$t$の値とのずれの大きさで評価する。ずれが小さいほど予測性能が高く、ずれを計算する関数を誤差関数と呼ぶ。
データ点$x_n$における予測値$y(x_n, \mathbf{w})$と対応する目標値$t_n$とのずれは二乗和誤差であり、下式となる
$$
E(\mathbf{w}) = \frac{1}{2}\sum^{N}_{n=1}\lbrace y(x_n, \mathbf{w})-t_n\rbrace^2
$$
$E(\mathbf{w})$が最小となるような$\mathbf{w}$を選ぶことで関数を最適化できる。
過学習について
以下の時に過学習が発生しやすい
- $y(x, \mathbf{w})$の次数$M$を大きくしすぎる
- データの数が少ない
過学習とは訓練データ非常によくあてはまるが新たなデータに対して正確な予測を行える汎化性能が低下する事象である。
過学習を抑制する方法として、正則化がある。正則化は誤差関数の係数が大きな値になることに対してペナルティを付与する。これにより係数が大きな値になることを抑制する。
2次の正則化の場合はリッジ回帰と呼ばれ、下式で表される。
$$
E(\mathbf{w}) = \frac{1}{2}\sum^{N}_{n=1}\lbrace y(x_n, \mathbf{w})-t_n\rbrace^2+\frac{λ}{2}||\mathbf{w}^2||
$$
$$
||\mathbf{w}^2|| =\mathbf{w}^T\mathbf{w}=w_0^2+w_1^2+...+w_M^2
$$
$\frac{λ}{2}$は二乗和項と正則化項のどちらを重視するのかを調整する係数である。 $λ$の値を小さくしすぎると、過学習が抑制されづらくなる。逆に$λ$の値を大きくしすぎると係数が小さくなりすぎるため、データへの当てはまりが悪くなる。
おわりに
次は1.2 確率論についてまとめる!
関連記事