[回归] 线性回归 Linear Regression

线性回归是统计/机器学习中最基础的一个模型,在线性回归的基础上可以拓展出之后相当多的模型,例如逻辑回归。

线性回归是监督学习的一种,主要用来预测连续变量。
模型:Y_i=\beta_0+\beta_1X_1^{(i)}+...+\beta_{m-1}X^{(i)}_{m-1}+\epsilon_i
矩阵的表示形式:{Y}_{n \times 1} = X_{n \times m}{\beta}_{m \times 1}+\epsilon_{n \times 1}

矩阵形式中默认X_{i,1}=1,因为把截距也放入了\beta的矩阵中。
如果要避免这一点的话可以提前对列进行中心化处理,这样的话模型中的\beta_0一项就不存在了,同时进行中心处理也有助于模型的拟合。

线性回归模型有以下的一些Assumptions:

  • \epsilon_i \sim iid with N(0, \sigma^2)
  • 对于任意i \not= j,Cov(\epsilon_i,\epsilon_j)=0

有了模型以后,我们需要估计未知参数的值,即\hat{\beta},一般来说在机器学习中有两种常用的参数估计方法,一种是通过最小化损失函数(更常用一些),另一种是通过最大似然估计(一般用于有概率分布的模型)。

一般对于一个模型来说,这两种估计出来的值会相同,个人的理解是在选择损失函数的时候,我们会偏好结果和最大似然估计相同的那一个。那为什么要引入损失函数这个东西呢?因为这样的话就可以把所有的算法变成一个最优化的问题。另外,确定了损失函数之后,如果我们要加入罚函数/正则化的化,也可以直接在最优化损失函数的时候加项,会比用最大似然估计方便很多。这当然以上这段只是个人猜测。

先来看最小化损失函数的方法,一般对于回归问题,我们会选用Least Square 来估计,损失函数为均方误差
L(\beta)=\sum_{i=1}^n (Y_i-\hat{Y}_i)^2=(Y-X\beta)^T(Y-X\beta)_{n \times 1}
=Y^TY-Y^TX\beta-\beta^TX^TY+\beta^TX^TX\beta

\frac{\partial L}{\partial \beta}=-2X^TY+2X^TX\beta=0
\therefore \hat{\beta} = (X^TX)^{-1}X^TY

为什么要用LS呢?因为Least Square的结果是所有无偏估计中方差最小的估计量(原因:LS的结果和MLE相同,根据Cramer-Rao Lower Bound和MLE的关系可知MLE如果是无偏估计的话,是所有无偏估计中方差最小的估计量),但是有时候不一定无偏估计就是最好的估计量,因为MSE=误差+方差,如果一个估计量误差小但方差很大的话,最终的MSE不一定是最优,那这点是可以通过一些办法进行优化的。

Notes:
为什么无偏<- E[X\hat{\beta}]=E[X(X^TX)^{-1}X^Ty]=E[XX^{-1}{X^T}^{-1}{X^T}y]=y

然后再看最大似然估计,因为Y\sim N(f(x), \sigma^2),所以其似然函数 为
L(\theta)=-\frac{N}{2}log(2\pi)-Nlog(\sigma)-\frac{1}{2 \sigma^2}\sum_{i=1}^N (y_i-f_\theta(x_i))^2
ln(L(\theta))求偏导==0,就可得到和LS一样的结果。

知道了参数估计后,我们就得到了\hat{\beta}这个矩阵,但可以发现这个矩阵有(X^TX)^{-1}这一项,也就意味着需要进行矩阵的逆运算,那在实际中,如果p>>n时,有可能会出现X可能不是满秩矩阵->X^TX可能是奇异矩阵->\beta不唯一的情况,那一般在统计上出现这种情况,会在原来的项上加上一个I,即(X^TX+I)^{-1},那如果加上罚函数的话也可以避免这种情况。

确定了模型,估计了未知参数之后,只要我们有了数据,就可以轻松的来训练和预测。等到训练结束后,我们可以从模型中得知其决策边界是线性的。注意,我们所谓的线性,指的是Y与参数间的线性关系,并非是与X_1,..,X_m之间的

有了以上的一些了解之后,我们再来看模型选择这个问题,即如果我们的数据有很多个feature,我们该怎么选择要把哪些变量放入模型呢?

  • hard-thresholding 类:

    • AIC/BIC/AICC <- 遍历所有有可能的feature组合,然后选最优的一个
    • Forward Stepwise Selection: 从只含有Intercept项的模型开始,根据一些指数来选择下一个加入模型的变量->贪婪算法,给出的不一定是最优的模型
    • Backward Stepwise Selection: 从full model 开始,根据一些指数来选择下一个剔除模型的变量
    • Forward-Stagewise Regression: -->(LAR)


      ESL P74
  • soft-thresholding -- Shrinkage Method(也可以看做是regularization):
    - Ridge Regression(L2): \hat{\beta}^{ridge}=argmin_\beta\{\sum_{i=1}^N(y_i-\beta_0\sum_{j=1}^px_{ij}\beta_j)^2+\lambda\sum_{j=1}^p\beta_j^2\} -> \hat{\beta}^{ridge}=(X^TX+\lambda I)^{-1}X^Ty

E[X\hat{\beta}^{ridge}]=E[X(X^TX+\lambda I)^{-1}X^Ty]\not=y ->不是无偏估计
Var(\hat{\beta}^{ridge})=Var((X^TX+\lambda I)^{-1}X^Ty)=AVar(y)A^T,A=(X^TX+\lambda I)^{-1}X^T,可知{\beta}^{ridge}<{\beta}^{OLS} ->Variance比普通的线性回归要小

    - Lasso(L1)
    - Ridge VS Lasso: Lasso会从模型中删除不重要的变量,ridge会保留
        - 对于Ridge and Lasso而言, 最优化问题还可以写成以下形式:

\beta=argmin \sum(y_i-\beta_0-\sum x_{ij}\beta_j)^2,s.t.|\beta|^q<le t,q=1是Lasso,q=2是Ridge,注意,q=1是最小的q是的该函数凸函数
用图来看

https://www.researchgate.net/figure/Illustration-of-L1-left-vs-L2-right-regularization-Source-HTF01-Figure-312_fig7_226826838

两个方法都会选择第一个椭圆与阴影部分的相交点,从图来看,由于L1的restriction是一个菱形,所以焦点更有可能出现在4个顶点上,而这也就意味着有一个
\beta_i
=0->有的feature会从模型中被剔除。

模型优化方向:

  • 加入\beta_p x_i^2这样的项来帮助做非线性的拟合,形成更复杂的模型,f(x)=\sum_{k=1}^K h_k(x) \beta_k可以通过pairwise plot 来查看x_p与y的相关性,基于图片来判断是否需要将该feature进行transform处理。一般来说的h_k(x)有多项式,对数化等等
  • 对于类别变量,对其进行dummy variable的处理
  • 可以引入X_1X_2这样的interaction变量

ESL: Local regression fits linear models by locally weighted least squares, rather than fitting constants locally

  • 不确定是不是类似LOESS的意思

  • 优缺点:

    • 简单,可以给出变量如何影响结果的信息,可解释
    • 效果好,尤其是对于小的dataset/稀疏的data/low sigmal-to-noise data
  1. Notes:
  • 回归模型只是相关性,并不是因果性
  • 但做test的时候,p值大有时候不一定说明该参数和Y的相关性弱。因为p值的给出是基于其他参数出现的情况下是否可以抛弃该变量。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 干柴烈火的猛烈,润物无声的温吞,权衡比较的犹疑,生死契阔的忠诚,小心翼翼的青涩,不再执着于找到所谓“对”的人,而是...
    dearanny阅读 793评论 2 0
  • 很多小户型家里腾不出一间书房,又希望有个阅读区,平时安安静静看本书。其实,现在很多人读书都是以轻阅读为主,并不需要...
    衡阳鹤立装修阅读 1,930评论 0 0
  • 从什么时候开始,别人眼中的我是耷拉着脸,很丧的样子了。 马上要毕业了,室友离开时对我说:“别整日耷拉着脸,多笑一笑...
    傾暖阅读 2,394评论 0 0