前回、Larsによる解の更新のアウトラインを説明しましたが、今回はもう少し具体的にどうやって修正量(ステップサイズ)を求めるかを説明します。
k 回目のステップで、Lasso推定値が μk、アクティブセットを Ak とすると、Ak に含まれる変数と現在の残差との相関は、前回のブログにも書いたように最大値
をとります。またこの時、Ak に含まれない変数 xr も上と同じ相関を持ちます。
そこで r もアクティブセットに加え
とし、 Ak+1 に含まれる変数の等分角ベクトル uk+1 を求め推定値をその方向に修正します。
式(1)
この時、Ak+1 に含まれる変数と現時点の残差 (y - μk+1) との相関は
式(2)
となります。ここで Ak+1 は、前々回のブログで出てきた
です。
さらに、今度は Ak+1 に含まれない変数 xs との相関は
式(3)
となります。ここに a_{ k+1 s} は
また
です。
前回のブログのように、式(1)の γ は、推定値を等分角方向に動かし、アクティブセットに含まれない変数との相関が等しくなる最小の値をとります。
式(2)と(3)について
のとき
また
のとき
となります。
μ の修正は u の正の方向に沿った(つまりγは正で)、他の変数との相関が等しくなる最小の値なので
となります。ここで min^+ は、正の値の最小値、の意味です。
これが推定値の更新のステップサイズで、 Efronさんたちの論文の式(2.13)になります。