前回まで Lars アルゴリズムについて説明してきましたが、これには以下のような特性があります。
観測データ、説明変数の次元( = 観測数)を n、説明変数の数を p としたとき n < p の時
つまり ”データ数” < ”未知変数の数” の場合 n 個までしか変数を選べない。
このため疎な解が得られますが、予測精度がでなかったりと不都合な場合があるかもしれません。
上の特性は考えてみれば当たり前で、等角ベクトル u は n < p の時説明変数 n 個からまでしか求められません。
例えば 2 次元ベクトル 3 本の場合( n = 2 < p = 3 )これらが同一平面上に乗るので u は求められません・・・
そこで n < p の場合でも対処できるようにしたのが elastic net です。
elastic net では、最小化すべき目的関数を以下のように設定します。
λ2 = 0 の時は前回までの lasso、λ1 = 0 の時は L2 正則化した ridge 回路と呼ばれるものになります。
こうする事の効能ですが、これは結局
式(1-1)
式(1-2)
と、L2正則化最小二乗問題 式(1-1) を lassoで解く、と言う事に他なりません。
この時、式(1-1)は
と等価なので
と書けます。
とすれば結局
という問題を lasso で解く事になります。
ここで のサイズは [ p + n , n ] になるので、見かけ上、観測数( X の行数)が未知変数の数(列数)を上回ります。こうする事で等角ベクトル u を安定的に求められる、と言う事のようです。