Warning: file_put_contents(/datas/wwwroot/jiajiahui/core/caches/caches_template/2/default/show.php): failed to open stream: Permission denied in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 55

Warning: chmod(): Operation not permitted in /datas/wwwroot/jiajiahui/core/libraries/classes/template_cache.class.php on line 56
过拟合、欠拟合及L1、L2正则化 - 源码之家

过拟合、欠拟合及L1、L2正则化

目录

一、过拟合及欠拟合

1.1 欠拟合、过拟合定义

1.2 欠拟合、过拟合在训练时的体现

二、正则化

2.1 L1正则化

2.2 L2正则化

参考


一、过拟合及欠拟合

在机器学习中我们会经常遇到过拟合和欠拟合的情况,他们在回归问题和分类问题中也有不同的体现,通过下面的讲解能够较好的理解,也只有对其充分的了解才能够在实践中解决实际问题。

1.1 欠拟合、过拟合定义

过拟合、欠拟合及L1、L2正则化

在回归问题中,如上图。对于同样的5个点,我们使用不同的曲线进行拟合,我们使用一条一次函数进行拟合,并不能将所有的点拟合到,会有较大的偏差,不能够很好的反映5个点的位置分布,这就称为欠拟合;第二条曲线,采用二次函数进行拟合,虽然曲线并没有全部经过了5个点,但是能够较好的反映5点的分布,我们称为较好的拟合;最后我们使用一条高阶函数曲线进行拟合,该函数能够精确的穿过了5个点,在该5个样本上能够很好的实现回归,但是并没有真正的体现数据的分布情况,会对于一个新的样本产生很大的误差,我们称为这种情况为过度拟合了数据集,也就是过拟合。

过拟合、欠拟合及L1、L2正则化

分类问题有着和回归问题相同的过拟合欠拟合问题,只不过体现的形式略有差异。上图中有两种样本(⭕和❌)需要进行分类。如图,我们使用一条直线进行分类时,并不能对样本实现比较好的分类,在同一类别中,都较多的存在另一种类别样本,这时候就称为欠拟合;如我们采用一个相对光滑的曲线进行分类,则只有很少的样本分错,且能够体现两种不同样本的分布差异,是优秀的分类情况;而对于最后一种情况,使用一条曲线,能够将两种不同的样本完全分割开来,这时候就存在一种过分分割现象,不能够体现两种样本在大量样本时真正的分布情况,对数据产生的过拟合。

1.2 欠拟合、过拟合在训练时的体现

我们已经了解了欠拟合和过拟合在模型中的表现,但在实际应用中,往往体现在训练集和验证集的误差或精度上。

过拟合、欠拟合及L1、L2正则化

上图是欠拟合情况在训练时的反馈:欠拟合的一个重要体现是训练时,训练集损失与验证集损失都保持在一个很高的水平,也就是上图中的高误差,并且随着样本数量的增加该高误差并没有下降的趋势。在训练精度上面的反映就是训练集和验证集的精度都很低,且不会随着样本量增加有所改善。

过拟合、欠拟合及L1、L2正则化

上图是过拟合情况时训练时的反馈:在一定的样本数量的前提下,过拟合的体现在训练集上的损失较小,但验证集上的损失很大,两者之间始终保持着一定的差距。在精度上就是训练集精度很高而验证集的精度很低。这种情况随着样本数量的持续增加是可以改善的,像上图中,当样本数量达到很大一个数量级时,训练集和验证集之间的损失差异降低了,这同时也说明了增加样本数量能够降低模型过拟合的风险。

二、正则化

有时间将正则化部分加上,先贴上参考的两个链接

【直观详解】什么是正则化

对于正则化的理解

 

2.1 L1正则化

 

 

2.2 L2正则化

 

 

参考

【直观详解】什么是正则化

对于正则化的理解