[回归] 线性回归 Linear Regression

2018-11-05  本文已影响0人  数据麻瓜

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

线性回归是监督学习的一种,主要用来预测连续变量。
模型: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:

有了模型以后,我们需要估计未知参数的值,即\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,我们该怎么选择要把哪些变量放入模型呢?

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会从模型中被剔除。

模型优化方向:

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

  1. Notes:
上一篇 下一篇

猜你喜欢

热点阅读