如何通过在tensorflow中应用L2正则化来缓解模型过拟合问题?

2026-05-25 00:290阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2504个文字,预计阅读时间需要11分钟。

如何通过在tensorflow中应用L2正则化来缓解模型过拟合问题?

L2正则化原理:通过降低loss,进行模拟的优化过程。不同batch数据样本构成红色曲线的波动大,图中低点也代表过拟合,得到的红点点低于真实黑线,即泛化。

L2正则化原理:

过拟合的原理:在loss下降,进行拟合的过程中(斜线),不同的batch数据样本造成红色曲线的波动大,图中低点也就是过拟合,得到的红线点低于真实的黑线,也就是泛化更差。

可见,要想减小过拟合,减小这个波动,减少w的数值就能办到。

L2正则化训练的原理:在Loss中加入(乘以系数λ的)参数w的平方和,这样训练过程中就会抑制w的值,w的(绝对)值小,模型复杂度低,曲线平滑,过拟合程度低(奥卡姆剃刀),参考公式如下图:

(正则化是不阻碍你去拟合曲线的,并不是所有参数都会被无脑抑制,实际上这是一个动态过程,是loss(cross_entropy)和L2 loss博弈的一个过程。训练过程会去拟合一个合理的w,正则化又会去抑制w的变化,两项相抵消,无关的wi越变越小,但是比零强一点(就是这一点,比没有要强,这也是L2的trade-off),有用的wi会被保留,处于一个“中庸”的范围,在拟合的基础上更好的泛化。过多的道理和演算就不再赘述。)

那为什么L1不能办到呢?主要是L1有副作用,不太适合这个场景。

L1把L2公式中wi的平方换成wi的绝对值,根据数学特性,这种方式会导致wi不均衡的被减小,有些wi很大,有些wi很小,得到稀疏解,属于特征提取。为什么L1的w衰减比L2的不均衡,这个很直觉的,同样都是让loss低,让w1从0.1降为0,和w2从1.0降为0.9,对优化器和loss来说,是一样的。

阅读全文

本文共计2504个文字,预计阅读时间需要11分钟。

如何通过在tensorflow中应用L2正则化来缓解模型过拟合问题?

L2正则化原理:通过降低loss,进行模拟的优化过程。不同batch数据样本构成红色曲线的波动大,图中低点也代表过拟合,得到的红点点低于真实黑线,即泛化。

L2正则化原理:

过拟合的原理:在loss下降,进行拟合的过程中(斜线),不同的batch数据样本造成红色曲线的波动大,图中低点也就是过拟合,得到的红线点低于真实的黑线,也就是泛化更差。

可见,要想减小过拟合,减小这个波动,减少w的数值就能办到。

L2正则化训练的原理:在Loss中加入(乘以系数λ的)参数w的平方和,这样训练过程中就会抑制w的值,w的(绝对)值小,模型复杂度低,曲线平滑,过拟合程度低(奥卡姆剃刀),参考公式如下图:

(正则化是不阻碍你去拟合曲线的,并不是所有参数都会被无脑抑制,实际上这是一个动态过程,是loss(cross_entropy)和L2 loss博弈的一个过程。训练过程会去拟合一个合理的w,正则化又会去抑制w的变化,两项相抵消,无关的wi越变越小,但是比零强一点(就是这一点,比没有要强,这也是L2的trade-off),有用的wi会被保留,处于一个“中庸”的范围,在拟合的基础上更好的泛化。过多的道理和演算就不再赘述。)

那为什么L1不能办到呢?主要是L1有副作用,不太适合这个场景。

L1把L2公式中wi的平方换成wi的绝对值,根据数学特性,这种方式会导致wi不均衡的被减小,有些wi很大,有些wi很小,得到稀疏解,属于特征提取。为什么L1的w衰减比L2的不均衡,这个很直觉的,同样都是让loss低,让w1从0.1降为0,和w2从1.0降为0.9,对优化器和loss来说,是一样的。

阅读全文