zoukankan      html  css  js  c++  java
  • Shooting Algorithm

    Shooting算法是Wenjiang提出的一种优化Lasso(L1 Regularization)和Bridge Regression的算法, 本文以Lasso为例.

    对于线性回归问题$mathbb{y}=Xmathbb{eta}+epsilon$, 普通最小二乘法(OLS, ordinary least-square regression)最小化$RSS=(mathbb{y}-Xmathbb{eta})^T(mathbb{y}-Xmathbb{eta})$, 得到的无偏估计为$hat{mathbb{eta}_{ols}}=(X^TX)^{-1}X^Tmathbb{y}$.

    Bridge regression在满足$sum|eta_j|^{gamma}leq t, gammageq 0$, 当$gamma=0$时, 得到的就是lasso(L1 Regularization).

    现在考虑一下两个问题:

    $min_{mathbb{eta}} RSShspace{2 pt} subject hspace{2 pt}to hspace{2 pt}sum|eta_j|^{gamma}leq t, gammageq 1, tgeq 0 ag{P1}$

    $min_{mathbb{eta}}(RSS+lambdasum|eta_j|^{gamma}) ag{P2}$

    $P1$和$P2$是等价的, 亦即对于任意$0leq lambda leq +infty$存在一个$tgeq 0$, 使得这两个问题有相同的解. $P1$被称作constrained regression, $P2$被称作penalized regression.

    令$G(mathbb{eta}, X, mathbb{y}, lambda, gamma)=RSS+lambdasum|eta_j|^{gamma}$. $G$对于$mathbb{eta}$是凸的, 并且当$|mathbb{eta}| o +infty$时$G o +infty$, 所以$G$是可以被最小化的. 亦即存在$hat{mathbb{eta}}$使得$hat{mathbb{eta}}=arghspace{1 pt}min_{mathbb{eta}}G(mathbb{eta}, X, mathbb{y}, lambda, gamma)$. 对$G$基于$eta_j$求偏导, 令$S_j(mathbb{eta}, X, mathbb{y})=partial RSS / partial eta_j$, $d(eta_j, lambda, gamma)=lambda gamma|eta_j|^{gamma-1}sign(eta_j)$, 令偏导为0, 得到

    $egin{cases}
    S_1(mathbb{eta}, X, mathbb{y}) + d(eta_1, lambda, gamma) = 0 \

    dots\

    S_p(mathbb{eta}, X, mathbb{y}) + d(eta_p, lambda, gamma) = 0
    end{cases} ag{P3}$

    $P2$可以通过$P3$而求解.

    我们考虑$P3$的第$j$个等式:

    $S_j(mathbb{eta}, X, mathbb{y}) =  -d(eta_j, lambda, gamma) ag{1}$

    上式的左边为

    $LHS=2mathbb{x}_j^Tmathbb{x}_jeta_j+sum_{i eq j}mathbb{x}_j^Tmathbb{x}_ieta_i - mathbb{x}_j^Tmathbb{y}$

    对于固定的$mathbb{eta}^{-j}$, 上式是$eta_j$的线性函数, 其斜率为$2mathbb{x}_j^Tmathbb{x}_j$.

    $(1)$式的右边为$RHS=-lambda gamma|eta_j|^{gamma-1}sign(eta_j)$.

    $RHS$对于不同的$gamma$有不同的形状, 如下图所示:



    除了在$0<gamma<2$的$eta_j=0$处是不可微的, $RHS$在$gamma>1$都是连续, 可微和单调递减的. 对于$gamma=1$, 在$eta_j=0$处有一个跳变. 因此, 等式$(1)$对于$gamma>1$有唯一解, 对于$gamma=1$有可能有唯一解, 有可能没有解(跳变处没有解).

    Shooting算法(Lasso)

    初始解定义为OLS的估计$hat{eta_0}$, 从$(hat{eta_0}, 0)$点开始, 沿斜率$2mathbb{x}_j^Tmathbb{x}_j$进行移动. 当碰触到$RHS=-lambda sign(eta_j)$的顶部(右上图)或者底部(右下图)时, 等式$P3$有唯一解$hat{eta}$, 如果没有碰触到任何点(左下图), 等式$P3$没有解. 可以取值为bridge估计的理论值的极限$lim_{gamma o 1+}hat{eta}(lambda,gamma)=0$, 所以, 设置$hat{eta}=0$



    Lasso的Shooting算法为

    1. 以OLS估计值为初始值$hat{mathbb{eta}}_0=hat{mathbb{eta}}_{OLS}=(hat{eta}_1,...,hat{eta}_p)^T$
    2. 在第$m$步, 对于$j=1,...,p$, 令$S_0=S_j(0,hat{mathbb{eta}}^{-j},X,mathbb{y})$, 设置$hat{eta}_j=egin{cases}
      frac{lambda-S_0}{2mathbb{x}_j^Tmathbb{x}_j} & if hspace{2 pt}S_0>lambda \frac{-lambda-S_0}{2mathbb{x}_j^Tmathbb{x}_j} & ifhspace{2 pt} S_0<lambda \

      0 & if hspace{2 pt}|S_0|leq lambda
      end{cases} ag{P3}$在更新了所有的$hat{eta_j}$后生成新的估计$hat{mathbb{eta}}_m=(hat{eta}_1,...,hat{eta}_p)^T$
    3. 重复第二步直到$hat{mathbb{eta}}_m$收敛


    参考文献:

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

  • 相关阅读:
    APUE习题3.2用dup实现dup2以及shell中重定向符号的使用
    如何理解git checkout -- file和git reset HEAD -- file
    bash中通过设置PS1变量改变提示符颜色
    Ubuntu中root的默认密码
    Kali中装中文输入法小企鹅
    Find the Top 10 commands in your linux box!
    简明awk教程(Simple awk tutorial)
    PHP错误解决:Fatal error: Unknown: Failed opening required ...
    简单的端口扫描器(TCP connect)
    c# 爬虫(三) 文件上传
  • 原文地址:https://www.cnblogs.com/kemaswill/p/4395954.html
Copyright © 2011-2022 走看看