机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络

最小二乘回归中,目标函数只考虑了模型对训练样本的拟合程度:在这里插入图片描述

原则上任意复杂的模型能完全拟合训练数据。我们称之为过拟合。

• 过拟合( overfitting ):过于复杂的模型与训练数据拟合得太好,但和测试数据拟合得不好。
• 欠拟合(underfitting):过于简单的模型与训练数据拟合得欠佳(和测试数据自然也拟合得不好)

注意:线性回归中采用线性模型。而线性模型是很简单的模型,所以当特征维数不是太高时,线性回归的过拟合现象通常不太严重。

举例说明:

sin曲线拟合

在这里插入图片描述
机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络_第1张图片
上图可以看到,绿色正弦曲线为真实值,蓝色圆点为模拟数据集。
红色曲线为在不同阶多项式的情况下,拟合的效果。
可以看到,阶数越多,对于数据集的拟合效果越好,但是不一定与真实值越接近。

我们另外生成100个数据作为测试集,检验模型:
机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络_第2张图片
• 当模型复杂度继续增加( ? > 3 )时,训练误差继续下降,甚至等于0,而测试误差反而增大。这时发生了过拟合。
• 所以评价模型性能不能在训练集上评估,而应该在新的测试数据上进行评估:推广性/泛化能力( generalization )。

防止模型过拟合的方法——正则化

  • 前面使用多项式回归,如果多项式最高次项比较大,模型就容易出现过拟合。正则化是一种常见的防止过拟合的方法,一般原理是在代价函数后面加上一个对参数的约束项,这个约束项被叫做正则化项(regularizer)。在线性回归模型中,通常有两种不同的正则化项:
    • 加上所有参数(不包括θo)的绝对值之和,即L1范数(L1正则化),此时叫做Lasso回归;
    • 加上所有参数(不包括θo)的平方和,即L2范数(L2正则化),此时叫做岭回归.

岭回归

岭回归与多项式回归唯一的不同在于代价函数上的差别。岭回归的代价函数如下:
在这里插入图片描述
为了方便计算导数,通常也写成下面的形式:
在这里插入图片描述
上式中的w是长度为n的向量,不包括截距项的系数θo;θ是长度为n+1的向量,包括截距项的系数θo;m为样本数;n为特征数.
岭回归的代价函数仍然是一个凸函数,因此可以利用梯度等于0的方式求得全局最优解(正规方程):
在这里插入图片描述
上述正规方程与一般线性回归的正规方程相比,多了一项λI,其中I表示单位矩阵。假如XTX是一个奇异矩阵(不满秩),添加这一项后可以保证该项可逆。由于单位矩阵的形状是对角线上为1其他地方都为0,看起来像一条山岭,因此而得名。

Lasso回归

Lasso回归于岭回归非常相似,它们的差别在于使用了不同的正则化项。最终都实现了约束参数从而防止过拟合的效果。但是Lasso之所以重要,还有另一个原因是:Lasso能够将一些作用比较小的特征的参数训练为0,从而获得稀疏解。也就是说用这种方法,在训练模型的过程中实现了降维(特征筛选)的目的。
Lasso回归的代价函数为:
在这里插入图片描述
上式中的w是长度为n的向量,不包括截距项的系数θ0, θ是长度为n+1的向量,包括截距项的系数θ0,m为样本数,n为特征数.
||w||1表示参数w的l1范数,也是一种表示距离的函数。加入w表示3维空间中的一个点(x,y,z),那么||w||1=|x|+|y|+|z|,即各个方向上的绝对值(长度)之和。

式子2−1的梯度为:
机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络_第3张图片
其中sign(θi)由θi的符号决定:
在这里插入图片描述

弹性网络

弹性网络是结合了岭回归和Lasso回归,由两者加权平均所得。据介绍这种方法在特征数大于训练集样本数或有些特征之间高度相关时比Lasso更加稳定。

其代价函数为:
在这里插入图片描述
其中r表示l1所占的比例。

正则化项的使用以及L1与L2的比较

根据吴恩达老师的机器学习公开课,建议使用下面的步骤来确定λ的值:

  1. 创建一个λ值的列表,例如λ∈0,0.01,0.02,0.04,0.08,0.16,0.32,0.64,1.28,2.56,5.12,10.24;
  2. 创建不同degree的模型(或改变其他变量); 遍历不同的模型和不同的λ值;
  3. 使用学习到的参数θ(包含正则化项)计算验证集上的误差(计算误差时不包含正则化项),JCV(θ);
  4. 选择在验证集上误差最小的参数组合(degree和λ); 使用选出来的参数和λ在测试集上测试,计算Jtest(θ).

下面通过一张图像来比较一下岭回归和Lasso回归:机器学习03——线性回归过拟合正则化 L1L2正则 岭回归 Lasso回归 弹性网络_第4张图片
图中Lasso与岭回归的比较(俯瞰图)

上图中,左上方表示l1(图中菱形图案)和代价函数(图中深色椭圆环);左下方表示l2(椭圆形线圈)和代价函数(图中深色椭圆环)。同一条线上(或同一个环上),表示对应的函数值相同;图案中心分别表示l1,l2范数以及代价函数的最小值位置。

右边表示代价函数加上对应的正则化项之后的图像。添加正则化项之后,会影响原来的代价函数的最小值的位置,以及梯度下降时的路线(如果参数调整合适的话,最小值应该在距离原来代价函数最小值附近且与正则化项的图像相交,因为此时这两项在相互约束的情况下都取到最小值,它们的和也最小)。右上图,显示了Lasso回归中参数的变化情况,最终停留在了θ2=0这条线上;右下方的取值由于受到了l2范数的约束,也产生了位移。

当正则化项的权重非常大的时候,会产生左侧黄色点标识的路线,最终所有参数都为0,但是趋近原点的方式不同。这是因为对于范数来说,原点是它们的最小值点。

你可能感兴趣的:(机器学习&计算机视觉,正则化,过拟合,L1L2范数,岭回归,Lasso回归)