説明: L1 正則化はどのようにして特徴を自動的に選択するのでしょうか?
L1 (LASSO) 正則化によって実行される自動特徴選択プロセスを理解します。
特徴選択とは、与えられた特徴セットから最適な特徴のサブセットを選択するプロセスです。最適なサブセットとは、特定のタスクにおけるモデルのパフォーマンスを最大化するサブセットです。
特徴選択は手動で行うこともできますが、より正確には、フィルタリングやラッピング手法を用いる場合は明示的なプロセスとなります。これらの手法では、予測を行う上での特徴の重要性を決定する固定メトリック値に基づいて、特徴が繰り返し追加または削除されます。これらのメトリックには、情報利得、分散、カイ二乗統計量などがあり、アルゴリズムはメトリックの固定閾値に基づいて特徴を受け入れるか拒否するかを決定します。これらの手法はモデルのトレーニングフェーズの一部ではなく、事前に実行されることに注意することが重要です。

埋め込み型手法は、事前に定義された選択基準を用いることなく、暗黙的に特徴を識別し、訓練データ自体からそれらを抽出します。この内在的特徴の識別プロセスは、モデル訓練フェーズの一部です。モデルは、特徴を識別すると同時に、関連する予測を行うことを学習します。以降のセクションでは、この内在的特徴の識別プロセスにおける正則化の役割について、特にL1正則化と、機械学習モデルの改善におけるその役割に焦点を当てて説明します。
正規化とモデルの複雑さ:パフォーマンスを向上させるための高度な戦略
正則化とは、過剰適合を回避し、タスクの一般化を実現するために、モデルの複雑さをペナルティするプロセスです。
ここで、モデルの複雑さは、訓練データ内のパターンへの適応能力に相当します。x に関する次数 dの単純な多項式モデルを仮定すると、多項式の次数 d が高いほど、モデルは観測データ内のパターンを捉える際の柔軟性が高まります。この柔軟性の向上により、モデルは実際のパターンを学習するのではなく、訓練データを記憶してしまう可能性があり、その結果、新しいデータへの汎化能力が低下する可能性があります。
過剰適合と不足適合
次数d = 2の多項式モデルを、ノイズを含む 3 次多項式から得られた訓練サンプルセットに適合させようとすると、モデルはサンプル分布を適切に捉えることができません。このモデルは、 3 次(またはそれ以上)の多項式によって生成されるデータをモデル化するために必要な柔軟性や複雑さを単純に欠いています。このようなモデルは、訓練データに対して過小適合していると言えます。過小適合とは、モデルが単純すぎて、データに潜むパターンを捉えられないことを意味します。
同じ例を使って、今度は次数d = 6のモデルがあると仮定しましょう。複雑さが増したため、モデルはデータ生成に使用された元の三次多項式を容易に推定できるはずです(例えば、指数が 3 より大きいすべての項の係数を 0 に設定するなど)。トレーニング プロセスが時間内に終了しない場合、モデルは追加の柔軟性を利用して誤差をさらに減らし続け、ノイズ サンプルも拾い始めます。これによりトレーニング 誤差は大幅に減少しますが、モデルはトレーニング データの過負荷に悩まされることになります。ノイズは実際の環境(またはテスト中)で変化するため、予測に基づく知識は混乱し、結果としてテスト 誤差が大きくなります。過負荷とは、モデルが複雑すぎて、実際の信号ではなくノイズを学習していることを意味します。
モデルの最適な複雑さをどのように決定するのでしょうか?
実際の現場では、データ生成プロセスやデータの実際の分布について理解が不十分であったり、まったく理解できていないことがよくあります。過学習や過学習が起こらないよう、適切な複雑さを持つ最適なモデルを見つけることは、大きな課題です。これには、モデルのパフォーマンスを評価し、精度と一般性の間の最適なバランスを実現する適切な複雑さを決定するための効果的な方法を使用する必要があります。適切な評価指標とクロス検証などの手法を使用することで、専門家は未知のデータに対して最適なパフォーマンスを発揮するモデルを特定し、過剰適合や不足適合の問題を回避できます。
考えられる手法の 1 つは、十分に堅牢なモデルから始めて、特徴選択によって複雑さを軽減することです。機能が少ないほど、モデルの複雑さは軽減されます。
前のセクションで説明したように、特徴選択は明示的 (フィルタリング方法、畳み込み方法) または暗黙的に行うことができます。ターゲット変数の値を決定する上でそれほど重要ではない冗長な特徴は、モデルがそれらの特徴の中で相関のないパターンを学習することを避けるために削除する必要があります。正規化も同様のタスクを実行します。では、正規化と特徴選択は、最適なモデル複雑性という共通目標の達成にどのように関係するのでしょうか?機械学習モデルの複雑さを軽減することは、パフォーマンスを向上させ、過剰適合を回避するために重要であり、これは正規化と特徴選択の両方が重点を置いていることです。
特徴決定要因としてのL1正則化
多項式モデルを継続して、入力x、係数θ、次数dを持つ f の関数として表現します。
![]()
多項式モデルの場合、入力x_iの各べき乗を特徴量とみなすことができ、以下のようなベクトルを形成します。
![]()
また、目的関数を定義し、その削減によって理想的なパラメータθ*が得られ、モデルの複雑さを罰する正則化項が含まれます。

この関数の最小値を見つけるには、すべての臨界点、つまり導関数がゼロまたは未定義である点を分析する必要があります。
パラメータの1つであるθjに関する偏微分は、次のように表すことができます。

sgn関数は次のように定義されます。

注:絶対値関数の導関数は、上記で定義した符号関数(sgn)とは異なります。元の導関数は x = 0 で定義されていません。そこで、定義を拡張して x = 0 の変曲点を取り除き、関数が定義域全体で微分可能になるようにしました。さらに、機械学習(ML)フレームワークでは、基本的な算術演算に絶対値関数が含まれる場合、これらの拡張関数を使用します。PyTorchフォーラムのこちらのリンクをご覧ください。
目的関数を単一の係数θjに関して偏微分し、それをゼロに設定することで、 θjの最適値を予測値、目的値、特徴量に関連付ける方程式を構築できます。


上記の式を詳しく見てみましょう。入力とターゲットが平均値を中心に配置されている(つまり、前処理ステップでデータが標準化されている)と仮定すると、左辺の項(LHS)は、特徴番号 j と期待値とターゲット値の差との間の分散を効果的に表します。
2 つの変数間の統計的共分散は、1 つの変数が 2 番目の変数の値に与える影響の大きさを決定します (逆も同様)。
右辺の符号関数により、左辺の分散は3つの値のみをとるように強制されます(符号関数は-1、0、1のみを返すため)。特徴量jが不要で予測に影響を与えない場合、分散はゼロに近くなり、対応する係数θj*もゼロになります。その結果、特徴量がモデルから削除されます。このプロセスは、複雑さを軽減し、モデルのパフォーマンスを向上させるのに役立ちます。
標識の機能を水によって刻まれた溝として想像してください。渓谷(つまり川床)へは歩いて入ることができますが、そこから出るには巨大な障害物や急流に遭遇することになります。 L1 正則化は、損失関数の勾配に似た「しきい値」効果を生み出します。勾配は障壁を破るほど強力であるか、またはゼロになって最終的に係数値がゼロになる必要があります。
より現実的な例として、ノイズが追加された直線(2 因子パラメータ化)から得られたサンプルを含むデータセットを検討します。最適なモデルは 2 つ以上のパラメータを持つべきではありません。そうでないと、データ内のノイズに過剰適合してしまいます (多項式の自由度/パワーが追加されます)。多項式モデルの高次係数を変更しても、ターゲットとモデル予測の差には影響せず、特徴との分散が減少します。
トレーニング プロセス中に、損失関数の勾配に固定ステップが加算/減算されます。損失関数の勾配(MSE – 平均二乗誤差)が定数ステップよりも小さい場合、係数は最終的に 0 の値に達します。以下の式は、勾配降下法を使用して係数がどのように更新されるかを示しています。


上記の青い部分がλαよりも小さい場合(λα自体も非常に小さい値です)、Δθjはλαの定数ステップにほぼ等しくなります。このステップの符号(赤い部分)はsgn(θj)に依存し、その出力はθjに依存します。θjの値が正、つまりεより大きい場合、sgn(θj)は1となり、Δθjはほぼ-λαに等しくなり、ゼロに近づきます。
係数をゼロにする定数ステップ (赤い部分) を抑制するには、損失関数の勾配 (青い部分) をステップ サイズよりも大きくする必要があります。損失関数の勾配を大きくするには、特徴値がモデル出力に大きな影響を与える必要があります。
このように、モデル出力とは関係のない値を持つ特徴、より正確にはその対応するパラメータは、トレーニング中に L1 正則化によってゼロにされます。
参考文献と結論
- このトピックについてさらに詳しく知るために、私はReddit r/MachineLearningに質問を投稿しました。ファローアップ さまざまな解釈が含まれているので、ぜひ読んでみてください。
- マディヤル・アイトバエフも 興味深いブログ 同じ質問をエンジニアリング的な説明とともに取り上げます。
- ブログ ブライアン・キングは確率論の観点から組織について説明します。
- .ا 議論 CrossValidated の Web サイトで、彼は L1 基準がスパース モデルを推奨する理由を説明しています。 ブログ Mukul Ranjan による詳細な記事では、L1 規範ではトランザクションがゼロになることが推奨されるのに、L2 規範では推奨されない理由について説明しています。
「L1正則化は特徴量を選択する」というのは、ほとんどの機械学習学習者が内部的な仕組みを深く掘り下げなくても同意するシンプルな説明です。このブログでは、読者の皆様に直感的にこの疑問に答えるために、私の理解とメンタルモデルを共有したいと思います。ご意見やご質問は、私のウェブサイトに掲載されているメールアドレスまでお寄せください。引き続き学習を続け、良い一日をお過ごしください!
コメントは締め切りました。