回归 就是 对数据进行拟合,我们常说的 线性回归、高斯回归、SVR、Softmax 都是属于 回归。
最小二乘大家再熟悉不过了,作为入门级的线性回归,可能会遇到的一些问题:
(1)参数稳定性和精度问题
如果 观测数据和参数 之间有比较明显的线性关系,最小二乘回归会有很小的偏倚;
如果观测数据个数N远大于参数个数P时,最小二乘回归能得到较小的方差,如果N和P数量接近时,噪声会导致过拟合的产生;
(2)模型解释能力问题
在一个多元线性回归模型里,很多参数可能 和 观测数据无关;
或者也有可能 多个参数之间明显相关(有些参数是多余的)。
这些情况会增加模型的复杂程度,削弱模型的解释能力,通常需要进行 参数选择(特征选择)。
针对这些问题通常有三种解决方案:
(1)子集测试方法
这个最容易理解,选取 部分参数(子集)进行建模,利用判别准则 (如 AIC,BIC等)决定哪个模型最优。
当数据覆盖有偏差时能得到很好的效果,子集法 主要 包括逐步回归 和 最优子集法等。
(2)收缩方法(shrinkage)
又称为正则化(regularization)方法,旨在使某些系数的估计为0。主要用来解决 多重共线性问题(参数相关)。
收缩方法主要包括 岭回归(ridge regression)和 LASSO回归。
(3)降维
把P个参数投影到m维空间(m<P),利用投影得到的不相关的组合建立线性模型。
主要有:主成分回归(PCR)和 偏最小二乘回归(PLS)方法。
本节主要介绍两种收缩方法:岭回归 和 LASSO回归,通过对 最小二乘 加入惩罚约束,使某些系数进行压缩,甚至压缩为0,从而实现避免过拟合和变量选择。
从公式来看,与最小二乘 的区别就在于在 误差平方和的基础上添加了 约束项。
岭回归 是采用的正则化的方法进行特征的选择,使用的是 L2-norm,而LASSO 采用的则是 L1-norm,分别看一下两个公式:
在某些情况下,最小二乘回归得到的系数不稳定,方差很大,针对这个问题,提出了 岭回归(ridge) 的概念。
岭回归 实质上是一种改良的最小二乘估计法,它损失了无偏性,来换取高的数值稳定性和精度。从本质上讲,岭回归 是带二范数惩罚的最小二乘回归。岭回归 专用于共线性数据分析的有偏估计回归方法,相对于最小二乘法,岭回归是更符合实际、更可靠的回归方法,其对病态数据的拟合要强于 最小二乘法(OLS)。
岭回归 虽然 减少了模型的复杂度,并没有真正解决参数选择的问题。
也就是说对于P个预设参数,惩罚约束项 可以收缩这些系数接近0,但并非恰好是0(除非lambda为无穷大)。这个缺点对于模型精度影响不大,但给模型的解释造成了困难。LASSO回归 正是用于克服这个问题 提出。
LASSO回归(least Absolute Shrinkage and Selection Operator)也称为 套索回归,和 岭回归不同的是,Lasso回归在惩罚方程中用的是绝对值,而不是平方。这就决定了LASSO回归 不像岭回归 那样把系数缩小,而是筛选掉一些系数,使得惩罚后的值可能会变成0。