
Photo by
hennanono
リッジ回帰と正則化
こんにちは!
今日は正則化について扱っていきます。
前回FXデータに対して重回帰分析を行いましたが、重みはさほど大きくなりませんでした。これはもともとのデータが直線的だったからです。
しかし一般的にデータが直線的であるとは限らず、すると重みがとても大きい値になることがあります。これを過学習と呼びます。
過学習してしまうと、学習データにはよく当てはまるのですが、未知のデータに対する予測精度は下がってしまいます。
そこで過学習を防ぐために重みが大きくならないようにするのが正則化です。
正則化された回帰分析はラッソ回帰やリッジ回帰が有名ですが、ここでは実装が簡単なリッジ回帰を行うこととします。
まずはこちらの画像、

青い点が観測された10個のデータ。
赤いラインは本来観測されるべき真の値です。
このようにデータを観測すると誤差がでます。
誤差のあるデータから本来の分布を探し出すのが回帰分析です。
まずは普通に多項式回帰をしてみます。
結果がこちら

赤い線が正解、緑が回帰分析で予測した曲線です。
青い点(観測データ)は全て通っているものの、赤い線をうまく捉えているとは言いづらいです。
そこで正則化をして重みの絶対値を小さい値に抑えてみました。
するとこちら

多少のズレはあるものの赤い線の特徴をだいぶ捉えているのがわかります。
観測データの外れ値は無視されていますね。