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算法为

  1. 以OLS估计值为初始值$\hat{\mathbb{\beta}}_0=\hat{\mathbb{\beta}}_{OLS}=(\hat{\beta}_1,...,\hat{\beta}_p)^T$
  2. 在第$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$

  3. 重复第二步直到$\hat{\mathbb{\beta}}_m$收敛

参考文献:

[1]. Wenjiang J .Fu. Penalized Regressions: The Bridge Versus the Lasso.

Shooting Algorithm的更多相关文章

  1. 图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix)

    图Lasso求逆协方差矩阵(Graphical Lasso for inverse covariance matrix) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/ka ...

  2. FZU 2144 Shooting Game

    Shooting Game Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submi ...

  3. poj 1719 Shooting Contest

    http://poj.org/problem?id=1719 Shooting Contest Time Limit: 1000MS   Memory Limit: 10000K Total Subm ...

  4. Problem 2144 Shooting Game fzu

    Problem 2144 Shooting Game Accept: 99    Submit: 465Time Limit: 1000 mSec    Memory Limit : 32768 KB ...

  5. POJ 1719 Shooting Contest(二分图匹配)

    POJ 1719 Shooting Contest id=1719" target="_blank" style="">题目链接 题意:给定一个 ...

  6. FZU 2144 Shooting Game (贪心区域划分)

    Problem 2144 Shooting Game Accept: 370 Submit: 1902 Time Limit: 1000 mSec Memory Limit : 32768 KB Pr ...

  7. UVA 11884 A Shooting Game(记忆化搜索)

    A and B are playing a shooting game on a battlefield consisting of square-shaped unit blocks. The bl ...

  8. ACM学习历程—FZU 2144 Shooting Game(计算几何 && 贪心 && 排序)

    Description Fat brother and Maze are playing a kind of special (hentai) game in the playground. (May ...

  9. 4056 hdu4866 Shooting

    题目描述 In the shooting game, the player can choose to stand in the position of [1, X] to shoot, you ca ...

随机推荐

  1. Html5 学习系列(五)Canvas绘图API快速入门(1)

    引言:Canvas绘图API快速入门 在接触HTML5的初学者包括我都在很多地方见到非常炫的一些页面,甚至好多学习HTML5的开发者都是冲着Web端的页游去的,那么HTML5那么绚丽的页面效果以及游戏 ...

  2. android selector(如对TextView点击样式改变)

    selector 1.selector 从单词的意思来说:选择者,选择器,就是对你的目标的控制. 从API来说: A controller for the selection of Selectabl ...

  3. 最新最全的js判断移动设备及操作系统

    var navigator = window.navigator, userAgent = navigator.userAgent, android = userAgent.match(/(Andro ...

  4. SQL范式小结

    说明:大多数初学者对于关系数据库中的范式很是头疼,我本人也是,所以今天又看了视频,总结了一下内容,尽量语言通俗易懂,少用专业术语以及概念. 首先要理解几个键值. 超键:在关系模式中,能唯一标识元组的属 ...

  5. 基于slideout.js实现的移动端侧边栏滑动特效

    HTML5现在本领太大了,PC端已经无法满足它的胃口了,它将强势攻入移动端,所以移动端中各种特效也得基于HTML5实现,看看我们将要介绍的slideout.js,能帮我们实现怎么样的侧边栏滑动特效呢~ ...

  6. 彻底掌握this,call,apply

    说起js里面比较头疼的知识点,this的指向,call与apply的理解这三者肯定算的上前几,好的js开发者这是必须迈过的槛.今天就总结下这三者紧密相连的关系. 首先推荐理解call的用法 Funct ...

  7. [转]HTTP协议及其请求头分析

      众所周知,Internet的基本协议是TCP/IP协议,目前广泛采用的FTP.Archie Gopher等是建立在TCP/IP协议之上的应用层协议,不同的协议对应着不同的应用.  WWW服务器使用 ...

  8. paip.批处理清理java项目冗余jar的方法

    paip.批处理清理java项目冗余jar的方法 在myeclipse中开发的java项目遇到jar包冗余情况,如何删除项目中的冗余jar包啊?项目很大jar包一百多个. 2010-09-14 14: ...

  9. el表达式的function标签

    使用el调用Java方法 1:EL表达式语法允许开发人员开发自定义函数,以调用java类的方法. ~示例:${el:method(params)} ~在EL表达式中调用的只能是java类的静态方法. ...

  10. python BeautifulSoup实例测验