线性回归是统计/机器学习中最基础的一个模型,在线性回归的基础上可以拓展出之后相当多的模型,例如逻辑回归。
线性回归是监督学习的一种,主要用来预测连续变量。
模型:
矩阵的表示形式:
矩阵形式中默认,因为把截距也放入了的矩阵中。
如果要避免这一点的话可以提前对列进行中心化处理,这样的话模型中的一项就不存在了,同时进行中心处理也有助于模型的拟合。
线性回归模型有以下的一些Assumptions:
- iid with N(0, )
- 对于任意
有了模型以后,我们需要估计未知参数的值,即,一般来说在机器学习中有两种常用的参数估计方法,一种是通过最小化损失函数(更常用一些),另一种是通过最大似然估计(一般用于有概率分布的模型)。
一般对于一个模型来说,这两种估计出来的值会相同,个人的理解是在选择损失函数的时候,我们会偏好结果和最大似然估计相同的那一个。那为什么要引入损失函数这个东西呢?因为这样的话就可以把所有的算法变成一个最优化的问题。另外,确定了损失函数之后,如果我们要加入罚函数/正则化的化,也可以直接在最优化损失函数的时候加项,会比用最大似然估计方便很多。这当然以上这段只是个人猜测。
先来看最小化损失函数的方法,一般对于回归问题,我们会选用Least Square 来估计,损失函数为均方误差
为什么要用LS呢?因为Least Square的结果是所有无偏估计中方差最小的估计量(原因:LS的结果和MLE相同,根据Cramer-Rao Lower Bound和MLE的关系可知MLE如果是无偏估计的话,是所有无偏估计中方差最小的估计量),但是有时候不一定无偏估计就是最好的估计量,因为MSE=误差+方差,如果一个估计量误差小但方差很大的话,最终的MSE不一定是最优,那这点是可以通过一些办法进行优化的。
Notes:
为什么无偏<-
然后再看最大似然估计,因为,所以其似然函数 为
对求偏导==0,就可得到和LS一样的结果。
知道了参数估计后,我们就得到了这个矩阵,但可以发现这个矩阵有这一项,也就意味着需要进行矩阵的逆运算,那在实际中,如果p>>n时,有可能会出现X可能不是满秩矩阵->可能是奇异矩阵->不唯一的情况,那一般在统计上出现这种情况,会在原来的项上加上一个I,即,那如果加上罚函数的话也可以避免这种情况。
确定了模型,估计了未知参数之后,只要我们有了数据,就可以轻松的来训练和预测。等到训练结束后,我们可以从模型中得知其决策边界是线性的。注意,我们所谓的线性,指的是Y与参数间的线性关系,并非是与之间的
有了以上的一些了解之后,我们再来看模型选择这个问题,即如果我们的数据有很多个feature,我们该怎么选择要把哪些变量放入模型呢?
-
hard-thresholding 类:
- AIC/BIC/AICC <- 遍历所有有可能的feature组合,然后选最优的一个
- Forward Stepwise Selection: 从只含有Intercept项的模型开始,根据一些指数来选择下一个加入模型的变量->贪婪算法,给出的不一定是最优的模型
- Backward Stepwise Selection: 从full model 开始,根据一些指数来选择下一个剔除模型的变量
-
Forward-Stagewise Regression: -->(LAR)
soft-thresholding -- Shrinkage Method(也可以看做是regularization):
- Ridge Regression(L2): ->
->不是无偏估计
,可知 ->Variance比普通的线性回归要小
- Lasso(L1)
- Ridge VS Lasso: Lasso会从模型中删除不重要的变量,ridge会保留
- 对于Ridge and Lasso而言, 最优化问题还可以写成以下形式:
,s.t.,q=1是Lasso,q=2是Ridge,注意,q=1是最小的q是的该函数凸函数
用图来看
两个方法都会选择第一个椭圆与阴影部分的相交点,从图来看,由于L1的restriction是一个菱形,所以焦点更有可能出现在4个顶点上,而这也就意味着有一个
模型优化方向:
- 加入这样的项来帮助做非线性的拟合,形成更复杂的模型,可以通过pairwise plot 来查看x_p与y的相关性,基于图片来判断是否需要将该feature进行transform处理。一般来说的有多项式,对数化等等
- 对于类别变量,对其进行dummy variable的处理
- 可以引入这样的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
- Notes:
- 回归模型只是相关性,并不是因果性
- 但做test的时候,p值大有时候不一定说明该参数和Y的相关性弱。因为p值的给出是基于其他参数出现的情况下是否可以抛弃该变量。