Shooting算法是Wenjiang提出的一種優化Lasso(L1 Regularization)和Bridge Regression的算法, 本文以Lasso為例.
對於線性回歸問題$\mathbb{y}=X\mathbb{\beta}+\epsilon$, 普通最小二乘法(OLS, ordinary least-square regression)最小化$RSS=(\mathbb{y}-X\mathbb{\beta})^T(\mathbb{y}-X\mathbb{\beta})$, 得到的無偏估計為$\hat{\mathbb{\beta}_{ols}}=(X^TX)^{-1}X^T\mathbb{y}$.
Bridge regression在滿足$\sum|\beta_j|^{\gamma}\leq t, \gamma\geq 0$, 當$\gamma=0$時, 得到的就是lasso(L1 Regularization).
現在考慮一下兩個問題:
$\min_{\mathbb{\beta}} RSS\hspace{2 pt} subject \hspace{2 pt}to \hspace{2 pt}\sum|\beta_j|^{\gamma}\leq t, \gamma\geq 1, t\geq 0 \tag{P1}$
$\min_{\mathbb{\beta}}(RSS+\lambda\sum|\beta_j|^{\gamma}) \tag{P2}$
$P1$和$P2$是等價的, 亦即對於任意$0\leq \lambda \leq +\infty$存在一個$t\geq 0$, 使得這兩個問題有相同的解. $P1$被稱作constrained regression, $P2$被稱作penalized regression.
令$G(\mathbb{\beta}, X, \mathbb{y}, \lambda, \gamma)=RSS+\lambda\sum|\beta_j|^{\gamma}$. $G$對於$\mathbb{\beta}$是凸的, 並且當$\|\mathbb{\beta}\|\to +\infty$時$G\to +\infty$, 所以$G$是可以被最小化的. 亦即存在$\hat{\mathbb{\beta}}$使得$\hat{\mathbb{\beta}}=arg\hspace{1 pt}\min_{\mathbb{\beta}}G(\mathbb{\beta}, X, \mathbb{y}, \lambda, \gamma)$. 對$G$基於$\beta_j$求偏導, 令$S_j(\mathbb{\beta}, X, \mathbb{y})=\partial RSS / \partial \beta_j$, $d(\beta_j, \lambda, \gamma)=\lambda \gamma|\beta_j|^{\gamma-1}sign(\beta_j)$, 令偏導為0, 得到
$\begin{cases}
S_1(\mathbb{\beta}, X, \mathbb{y}) + d(\beta_1, \lambda, \gamma) = 0 \\
\dots\\
S_p(\mathbb{\beta}, X, \mathbb{y}) + d(\beta_p, \lambda, \gamma) = 0
\end{cases}\tag{P3}$
$P2$可以通過$P3$而求解.
我們考慮$P3$的第$j$個等式:
$S_j(\mathbb{\beta}, X, \mathbb{y}) = -d(\beta_j, \lambda, \gamma) \tag{1}$
上式的左邊為
$LHS=2\mathbb{x}_j^T\mathbb{x}_j\beta_j+\sum_{i\neq j}\mathbb{x}_j^T\mathbb{x}_i\beta_i - \mathbb{x}_j^T\mathbb{y}$
對於固定的$\mathbb{\beta}^{-j}$, 上式是$\beta_j$的線性函數, 其斜率為$2\mathbb{x}_j^T\mathbb{x}_j$.
$(1)$式的右邊為$RHS=-\lambda \gamma|\beta_j|^{\gamma-1}sign(\beta_j)$.
$RHS$對於不同的$\gamma$有不同的形狀, 如下圖所示:
除了在$0<\gamma<2$的$\beta_j=0$處是不可微的, $RHS$在$\gamma>1$都是連續, 可微和單調遞減的. 對於$\gamma=1$, 在$\beta_j=0$處有一個跳變. 因此, 等式$(1)$對於$\gamma>1$有唯一解, 對於$\gamma=1$有可能有唯一解, 有可能沒有解(跳變處沒有解).
Shooting算法(Lasso)
初始解定義為OLS的估計$\hat{\beta_0}$, 從$(\hat{\beta_0}, 0)$點開始, 沿斜率$2\mathbb{x}_j^T\mathbb{x}_j$進行移動. 當碰觸到$RHS=-\lambda sign(\beta_j)$的頂部(右上圖)或者底部(右下圖)時, 等式$P3$有唯一解$\hat{\beta}$, 如果沒有碰觸到任何點(左下圖), 等式$P3$沒有解. 可以取值為bridge估計的理論值的極限$\lim_{\gamma\to 1+}\hat{\beta}(\lambda,\gamma)=0$, 所以, 設置$\hat{\beta}=0$
Lasso的Shooting算法為
- 以OLS估計值為初始值$\hat{\mathbb{\beta}}_0=\hat{\mathbb{\beta}}_{OLS}=(\hat{\beta}_1,...,\hat{\beta}_p)^T$
- 在第$m$步, 對於$j=1,...,p$, 令$S_0=S_j(0,\hat{\mathbb{\beta}}^{-j},X,\mathbb{y})$, 設置$\hat{\beta}_j=\begin{cases}
\frac{\lambda-S_0}{2\mathbb{x}_j^T\mathbb{x}_j} & if \hspace{2 pt}S_0>\lambda \\\frac{-\lambda-S_0}{2\mathbb{x}_j^T\mathbb{x}_j} & if\hspace{2 pt} S_0<\lambda \\
0 & if \hspace{2 pt}|S_0|\leq \lambda
\end{cases}\tag{P3}$在更新了所有的$\hat{\beta_j}$后生成新的估計$\hat{\mathbb{\beta}}_m=(\hat{\beta}_1,...,\hat{\beta}_p)^T$ - 重復第二步直到$\hat{\mathbb{\beta}}_m$收斂
參考文獻:
[1]. Wenjiang J .Fu. Penalized Regressions: The Bridge Versus the Lasso.