大话稀疏回归(1)——Lasso、OMP、Lars.....

大话稀疏回归系列   目录


一.为什么要使回归系数稀疏

二.常用的稀疏回归方法

三.L0和L1、L2正则化

四.求解非凸优化问题——Lasso回归

    1.坐标轴下降法

    2.近端梯度下降法

五.前向逐步回归和最小角回归

    1.Forward Stagewise Regression

    2.Least Angle Regression


一.为什么要使回归系数稀疏

       我们在求解多元线性回归问题的时候,常常因为特征数量太多,而最终得到不准确的结果。我们可以先从简单的线性代数的角度去看待一下这个问题。

       假如X为m*n矩阵,为训练集,有m个样本,每个样本有n维特征。y是训练标签,为m列向量。那么我们对数据预处理之后,需要求解系数w,w为n为列向量,使X*w近似等于y。


大话稀疏回归(1)——Lasso、OMP、Lars....._第1张图片
图1.三元线性回归举例

       大家熟悉的最小二乘法的解为w=(X'X)^(-1)*X'y,很容易求解。那么问题来了,如果X的秩,X'X成为奇异矩阵,我们这样便不能正常求解。就算使用伪逆,我们可能也发现事情不大对劲,因为这说明训练集某些特征是线性相关的,如果仅仅想线性表示y,那么很多特征列就不需要啊。

       但是,我们是否可以直接去掉某些列,使训练集的秩和特征维度相等呢?事实上是不可以的,因为我们在小样本建模的时候,维度甚至比样本数还要多,即n>m,这样的长矩阵,我们难道直接将其变成方阵吗?显然不靠谱。

       从本质来看,那些使X'X成为奇异矩阵的列,就是产生高误差有以及过拟合的始作俑者,因为,我们应该想一些办法去掉某些特征,但是,去掉哪些特征?以及去掉多少个特征?从实际工程看,当然是去掉使我们测试误差最小的特征。但是,仅仅是使那些没用的特征xj的系数wj变成0吗,其余w会受到什么影响呢?

       这种种问题,产生了一个领域,称为特征选择。但是,特征选择的方法不止有稀疏回归,还有PCA、LDA等多种方法,稀疏回归也不止可以解决特征选择和降维的问题,它也是一种成熟的回归模型,可以直接用来训练数据,得到比最小二乘法更精确的结果。


大话稀疏回归(1)——Lasso、OMP、Lars....._第2张图片
图2.lasso和最小二乘法相比,可以产生稀疏系数

       常用的稀疏回归法有L0、L1正则化,最小角回归法,OMP等,而这些方法的内部也有着比较紧密的联系,而Lasso问题的求解也是我们在项目中遇到的常见算法,期间不仅要考虑准确性,还应考虑程序的性能,接下来的几期会详细介绍几种产生稀疏解的算法,并提供易于修改的源代码。

你可能感兴趣的:(大话稀疏回归(1)——Lasso、OMP、Lars.....)