正则化学习笔记

什么是正则化?

能够提高模型在test上的准确率,能够提高模型的泛化能力所做的任何改动,可以称之为正则化

  • 正则化主要思想:降低模型的复杂度
  • 正则化主要目的:防止模型过拟合
  • 正则化实现思路:最小化损失Loss+ 最小复杂度
  • 正则化终极目标:提升模型泛化能力

为什么需要正则化?

让模型不要过于依赖样本数据
在模型训练的过程中,模型参数的训练实际上就是一个不断迭代,寻找到一个方程来拟合数据集。然而到这里,我们只知道需要去拟合训练集,但拟合的最佳程度我们并没有讨论过。看看下面回归模型的拟合程度,看看能发现什么。
在这里插入图片描述
分类模型中
在这里插入图片描述
在最左边的图中,拟合程度比较低,显然这样的 并不是我们想要的。训练集的准确率低,那么测试集肯定也不高,也就是模型的泛化能力不高。

在最右边的图中,拟合程度非常高,甚至每一个点都能通过 表达,这个难道就是我们所渴望得到的 吗?并不是!我们的数据集中无法避免的存在着许多噪声,而在理想情况下,我们希望噪声对我们的模型训练的影响为0。而如果模型将训练集中每一个点都精准描述出来,显然包含了许许多多噪声点,在后续的测试集中得到的准确率也不高。另一方面,太过复杂的 直接导致函数形状并不平滑,而会像图中那样拐来拐去,并不能起到预测的作用,“回归”模型也丧失了其预测能力(也就是模型泛化能力),显然这也不是我们想要的。

中间的图中,展现的是最适合的拟合程度, 不过于复杂或过于简单,并且能够直观的预测函数的走向。虽然它在测试集的中准确列不及图三高,但在测试集中我们得到的准确率是最高的,同时泛化能力也是最强的。

  • 欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。
    • 欠拟合的原因
      • 训练样本数量少
      • 模型复杂度过低
      • 参数还未收敛就停止循环
    • 欠拟合的解决办法
      • 增加样本数量
      • 增加模型参数,提高模型复杂度
      • 增加循环次数
      • 查看是否是学习率过高导致模型无法收敛
  • 过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。
    • 过拟合的原因
      • 数据噪声太大
      • 特征太多
      • 模型太复杂
    • 过拟合的解决办法
      • 清洗数据
      • 减少模型参数,降低模型复杂度
      • 增加惩罚因子(正则化),保留所有的特征,但是减少 参数的大小(magnitude)。
  • 合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高
    在这里插入图片描述

可以直观的理解为,我们最小化损失函数就是求蓝圈+红圈的和的最小值,而这个值通在很多情况下是两个曲面相交的地方。

可以看到二次正则项的优势,处处可导,方便计算。

L2正则化(图中左半部分)

L2正则化,也叫weight decay,通过在损失函数上额外添加一项正则化项,表达如下:
在这里插入图片描述

其中λ是一个参数权重,控制正则化项在整个loss的比重

  • 优化的最终目标是使得模型的预测的结果尽可能准的条件下,希望模型的参数权重也尽可能小,防止模型结构复杂,减少模型过拟合。
  • 从贝叶斯角度理解,L2正则化其实是加入了数据的先验知识,认为权重参数服从高斯先验分布,所以在损失函数中加入这样的先验知识,让模型表现更好。
高斯分布的概率密度函数如下:

在这里插入图片描述
对应的概率密度函数图形如下:
在这里插入图片描述
L2范数正好服从的是均值为0,标准差近似为λ−1的高斯先验分布,表达式关系如下:
在这里插入图片描述

L1正则化(图中右半部分)

L1也是在损失函数中加入一项正则化项,公式表达如下:
在这里插入图片描述
λ∣w∣为正则化项

  • 优化的目标是使得模型的预测的结果尽可能准的条件下,希望模型的参数权重尽可能为稀疏
  • 同样,类似L2假设模型参数w服从高斯先验分布,其中L1假设模型参数服从拉普拉斯分布,我们先来看下拉普拉斯分布概率密度函数公式:
    在这里插入图片描述
    对应的概率密度函数图形如下:
    在这里插入图片描述
L1和L2的对比

相同点:

  • 防止模型过于复杂,通过对损失函数加入正则化项,防止模型过拟合
  • 假设模型参数服从一个分布,通过加入先验知识,限制模型参数服从一定的分布
    不同点:
  • L2正则化相比L1对大数值参数w ww更敏感,惩罚粒度也会更大
    在这里插入图片描述
    其中L1是蓝色线,L2是橙色线,从图上来看,对于参数∣ ∣w∣较大时,L2比L1更快让概率值接近0,而L1的分布对极端值更能够容忍。
  • L1相比L2会更容易获得稀疏解
    L1和L2正则化求导结果如下:
    在这里插入图片描述
    在这里插入图片描述
    可以看出L1正则化的函数图为左上图,对应的导数图为右上图,可以看出不管L1的大小是多少(只要不为0),梯度都是1或者-1,所以每次更新梯度的时候,参数w ww会稳步向0前进。而L2函数的导数图如右下图,w越靠近0的时候,梯度也越来越小,所以优化一定步骤后只能让w ww接近0,很难等于0,但是L1有稳定的梯度,经过一定的迭代步数后很可能变为0,这就是为什么L1正则化比L2正则化可以得到更稀疏的解。

Reference

http://t.csdn.cn/PrP1P
http://t.csdn.cn/gfHtr
http://t.csdn.cn/IqZxu

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chj65

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值