« デバッグで新たなバグ作成 (<span class="sl_ft" style="font-weight:normal">FlatTable</span> ) | トップページ | ビリヤード選手 Billy Thorpe の動画 »

2020年3月29日 (日)

LASSO に関する幾つかの補足

当ブログに LASSO に関する記事が有りますが、ここでは表題の通り、 LASSO に関する幾つかの補足を書きたいと思います。

LASSO や否や?

スパース・モデリングは LASSO だけではない では、説明変数がスパースになることの説明で用いられる図が2種類有ることを書きました。

LASSO 最小二乗推定値
\(\beta_1\)
\(\beta_2\)
\(l_1\)ノルム最小化
\(\beta_1\)
\(\beta_2\)

その記事を書いた後で、図の \(l_1\) ノルム最小化の方も LASSO と言うのではないかという疑問が生じて、ずっと気になっていました。今も確証は持てないのですが、おそらく \(l_1\) ノルム最小化の方は LASSO とは言わないと思います。次の記事が参考になります。

スパースモデリングはなぜ生まれたか? 代表的なアルゴリズム「LASSO」の登場

この記事から、私は

  • データにノイズが混入している場合に \(l_1\) 正則化項を用いて最適化する方法を LASSO と呼ぶのに対して
  • 劣決定系に対する最適化(すなわち図の \(l_1\) ノルム最小化)はノイズの無い場合の話しで、 LASSO の前段階の理論である

と理解しました(自信は無いですが)。

L1 ではなく \(l^1\) ・・・、でも \(l_1\)

スパースモデリングに関するインターネット上の記事のほとんどで、有限次元ベクトル \(v\) のノルム

\[ \|v\|_1 = \sum |v_i| \]

を L1 ノルムと表記し、これを用いた正則化を L1 正則化と呼んでいます。しかし、これは大文字の L ではなく、小文字の \(l\) で表記するべきです。大文字で表記するのは、関数 \(f\) のノルムです。

\[ \|f\|_1 = \int |f(x)|dx \]

そんな訳で、当ブログでは 「L1 正則化」ではなく 「\(l_1\) 正則化」と表記しています。

ところが、最近気付いたのですが、 \(l_1\) ではなく、 \(l^1\) が正しい表記でした。したがって、本当は 「\(l^1\) 正則化」とすべきでしょう。でも、上付き添え字だと指数と間違える恐れも有るので、下付きの 「\(l_1\) 正則化」で行くことにします。

ところで、多くの記事で 「L1 正則化」と表記されている理由は、これが小文字だと 「l1 正則化」となってアルファベットの「l (エル)」と「I (アイ)」そして数字の「1」が区別しにくいからだろうと思っています。普通のフォントでは仕方ないですね。当ブログでは MathJax のおかげで「\(l\)」が識別出来るので小文字で表記出来るのでした。

« デバッグで新たなバグ作成 (<span class="sl_ft" style="font-weight:normal">FlatTable</span> ) | トップページ | ビリヤード選手 Billy Thorpe の動画 »

サイエンス」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« デバッグで新たなバグ作成 (<span class="sl_ft" style="font-weight:normal">FlatTable</span> ) | トップページ | ビリヤード選手 Billy Thorpe の動画 »