ぽんのブログ -14ページ目

ぽんのブログ

自分用の備忘録ブログです。書いてある内容、とくにソースは、後で自分で要点が分かるよう、かなり簡略化してます(というか、いい加減)。あまり信用しないように(汗

これまでと前回の記事をまとめ、L2正則化項を任意の線形オペレータに置き換えた場合の
lasso解


を求めるLARS-ENアルゴリズムは以下になります。


1) 目的変数と残差との correlation c の更新



2) Cholesky分解の更新



として Z の j 列を cholinsert、または j 列を choldelete

3) 等角(equiangular)ベクトルの更新



として





ここに xx_A は xx の中からアクティブセット A に含まれる要素(または列)だけを抜き出したもの xx_A = xx(A) です。

4) ステップサイズの更新



として



また



としてステップサイズを



と更新。また なら j をアクティブセットに加える、
ならアクティブセットから j を除く。

5) 解の更新




で解 β および b = [ y ; 0 ] の推定値 ν を更新。
ちなみに ν のはじめの n 個 ν(1 : n) が y の推定値 μ


それからスケーリング定数 ζ ですが、これは



と、Z^T Z の対角成分が規格化されるように選ぶべきでしょう。
なので J の j 列を j_j として

>

となるような気がします。
ただ、これでは ζ はベクトルとなりその他の部分の計算量も増えてしまうので上の値に近い定数にする、としたほうが良いのかもしれません。