本日のまとめ
正則化による過学習への対処
過学習
とは、トレーニングデータに適合しているが、テストデータではうまく適応できない問題のこと データに対して、パラメータの数が多すぎて、モデルが複雑なときに起こりうる。(高バリアンス)バリアンスが高いと、データセットによって、予測結果がばらついてしまう。
逆に、モデルがシンプルすぎて、
学習不足
に陥ることもある。バイアスが高い(高バイアス)ともいう。系統誤差の計測値ともとれる。誤差は、
系統誤差
と、偶然誤差
に大別される。系統誤差
は、同じ方法を用いて測定し、「真の値」に対して、系統的にずれる誤差。偶然誤差
は測定のたびにばらつく誤差モデルの汎化誤差 = (バイアス)2 + バリアンス + ノイズ。両方小さいほうがいいが、どちらかを小さくすると、どちらかが大きくなるトレードオフの関係にあると知られている。
共線性とは、特徴量の間の相関の高さのこと。
極端なパラメータの重みにペナルティを科すための追加情報の導入である。最も一般的な正則化は、L2正則化(L2 regularization) である。
- 上記の式を、コスト関数に加えることで、極端に大きな重みをもつ場合は、コストが大きくなる
- scikit learnのLogistic Regressionに実装されているパラメータCは、正則化パラメータを表している。
サポートベクトルマシン(Support Vector Machine)による最大マージン分類
- 参考
- 境界がノンパラメトリック
- スラック変数は、回帰における正則化のようなもの(バイアスとバリアンスのトレードオフ)
- SVMとロジスティック回帰の結果は似た者になるが、SVMの方が、決定境界に近い。また、ロジスティック回帰は、条件付尤度の最大化を考えているため、外れ値の影響を受けやすい
- サポートベクトルマシンはマージンを考える
- マージンとは、超平面(決定境界)と、超平面に最も近いサンプルとの距離
SVMの最適化は、マージンを最大化すること
マージンが小さい→過学習、マージンが大きい→汎化誤差が小さい
- マージンは次の式であらわされる(詳細は略)
カーネルSVMを使った非線形問題の求解
- ある次元のデータセットで、線形分離が不可能ものを、射影関数を使って、別の高次元空間へ射影して、 線形分離できるようにする
- 射影関数の例