正則化とはなんぞや
名前が似てますね、ということは勾配法に関係あり?学習速度に関係あり?
いい読みです。次の図を見てください。 どっちの曲線が「いい学習」をした結果だと思いますか? もう一問 どちらが「いい分類」をしていますか?「いい分類・いい学習」とは何か?
を考える必要があります。データには誤差がつきものです。なので「誤差を許容するという寛大な心が必要」なんです。つまり、モデルは柔軟性を持つべき
という考えから「正則化」とう考えに突入します。具体的には?
そもそもなんで過学習してしまうのか、ですよね。あるモデルが過学習するということはパラメータが手持ちのデータを重視しすぎるということ
言い換えると過学習とはモデルが未知のデータを考慮しなくなるということです。
このままではいけません。未知のデータを考慮させる必要があり、そのための作戦が「正則化」です。具体的にはパラメータの学習に制限を設けること
です。例えば、パラメータを学習させたいとします。そこでモデルを、ラベルをとでもしを最小化することでを学習させる問題を考えます。このままやるとは好き放題学習しますがで
とかのように制限設けるとはこの範囲で学習しますよね。しかしこれは考える問題が
から
のように制約付きの最適化問題になりました。ヤバイ、しかも
制約が不等式!!!
これはやばいです。しかし! KKT条件という物を使えば解決します。(ちなみにSVMとかでも出てきますがかなり難しいです)(ちなみに制約が等式の時はラグランジュの未定乗数法)つまりでとできます。ただしはLpノルムです。
Lpノルムって何?
とします、つまりはn次元実ベクトルとします。この時に対してと定義します。これをのLpノルムと言います。関数解析でやるので覚えといて〜。初めての人は直感がわかないと思うので図で見てみましょう。 一般的に使うのはです。少し話が逸れましたが
これですね。コスト関数を最小化する際にが大きくならないようにペナルティーの形で加えます。なので第二項は罰金項、正規化項などと呼ばれます。これを使った実際の例は次の2つがあります。
- Ridge Regression (Tikhonov regularization)
- Lasso Regression
となります。一方でラッソ回帰は正規化項を使います。なので
です。これらについて詳しくは別の記事で書きます。今はとりあえず「正則化」の例として覚えておいてください。 さて、正則化はパラメータの学習に制限を設けることと言いました。で、各ノルムに対する正規化項の特徴についてです。がこれも長くなるので次の記事で会いましょう。 でわ。 READMORE