はじめに
機械学習のモデルを作成する際に、過学習を防ぐ等の目的で正則化項を損失関数に加えることがあります。 その代表的なモデルとして、Lasso回帰とRidge回帰の2つがあり、それらの違いを説明する図として図1がよく登場します。
初めてこの図を見たとき、「ノルムとノルムを使ってるからひし形と丸が出てきて、たしかにLassoの方がひし形の頂点に当たりやすそうだから係数がになりやすいのかな」と思いました。 ふと最近、またこの図を見たときに、「え?Lassoの損失関数最小化と図1って違うこと言ってるよね?なんで同じなの?」とか「ひし形とか丸の大きさってどうやって決めてるの?ハイパーパラメータじゃないよね?」等々の疑問が出てきました。 特に、以下の問題がわかりませんでした。
- Lasso回帰とRidge回帰の最小解は図1の赤丸の部分となる
考えてすぐにわかったのなら良かったのですが、わかるまでにかなり時間がかかったり、上記の問題の答えがまとまったものを見つけられなかったので、備忘録的な意味も含めて記事を書きました。
Lasso回帰とRidge回帰の幾何的説明
まずは問題設定をきちんと述べるために、記号を準備します。 を整数とし、とし、を実数とする。
このとき、を求めるのがLasso回帰で、を求めるのがRidge回帰にあたります。 の定義に関しては、以下のページを参照ください。
ここで、Lasso回帰とRidge回帰の幾何的説明するための命題を1つ用意する。
命題1を使用して、図1のLasso回帰の赤丸がLasso回帰の最小解になることを説明をする。 とする。 Lasso回帰に最小解が存在することは仮定し、それをとおく。 命題1より、は、となるひし形領域内で、の最小値となる。 さらにとなるため、はひし形領域上の境界線上にある。 は、の最小値なので、の等高線を値が小さい方から考えて、初めてひし形領域上の境界線上を交わった点(の内の1つ)がである。
命題の証明
は連続関数のため、は閉集合となる。 また、は定義より有界なので、はコンパクト集合である。 は連続関数のため、となる。
と仮定する。 そのとき、となるが存在する。
したがって、となるため矛盾する。
この命題の証明は、以下ページの議論を参考にして証明した。 stats.stackexchange.com
おわりに
この他にも、LassoやRidgeでわかっていることは調べた感じたくさんありそうでした。 例えば、
- 命題1の仮定は成立する
- 命題1で定めたはによらず一意に定まる
などなど。 時間があれば、それらの証明も書いていきたいと思います。