大白话解释模型产生过拟合的原因!

简介:

今天郭江师兄在实验室讲解了全体机器学习会第一章的知识,大家讨论了一下过拟合的知识,这里我根据自己的理解,整理了一下原因,力求同最通俗的语言来描述,可能不是太严谨,但是总体思想能保证正确!

一、过拟合的概念?

首先我们来解释一下过拟合的概念?

过拟合就是训练出来的模型在训练集上表现很好,但是在测试集上表现较差的一种现象!下图给出例子:

大白话解释模型产生过拟合的原因!

我们将上图第三个模型解释为出现了过拟合现象,过度的拟合了训练数据,而没有考虑到泛化能力。在训练集上的准确率和在开发集上的准确率画在一个图上如下

大白话解释模型产生过拟合的原因!

从图中我们能够看出,模型在训练集上表现很好,但是在交叉验证集上表现先好后差。这也正是过拟合的特征!

二、模型出现过拟合现象的原因

发生过拟合的主要原因可以有以下三点:

(1)数据有噪声

(2)训练数据不足,有限的训练数据

(3)训练模型过度导致模型非常复杂

下面我将分别解释这三种情况(这里按自己的理解解释,欢迎大家交流):

(1)数据有噪声

为什么数据有噪声,就可能导致模型出现过拟合现象呢?

所有的机器学习过程都是一个 search 假设空间的过程!我们是在模型参数空间搜索一组参数,使得我们的损失函数最小,也就是不断的接近我们的真实假设模型,而真实模型只有知道了所有的数据分布,才能得到。

往往我们的模型是在训练数据有限的情况下,找出使损失函数最小的最优模型,然后将该模型泛化于所有数据的其它部分。这是机器学习的本质!

那好,假设我们的总体数据如下图所示:

大白话解释模型产生过拟合的原因!

(我这里就假设总体数据分布满足一个线性模型 y = kx+b, 现实中肯定不会这么简单,数据量也不会这么少,至少也是多少亿级别,但是不影响解释。反正总体数据满足模型 y)

此时我们得到的部分数据,还有噪声的话,如图所示:

大白话解释模型产生过拟合的原因!

(红色数据点为噪声)

那么由上面训练数据点训练出来的模型肯定不是线性模型(总体数据分布下满足的标准模型),比如训练出来的模型如下:

大白话解释模型产生过拟合的原因!

那么我拿着这个有噪声训练的模型,在训练集合上通过不断训练,可以做到损失函数值为 0,但是拿着这个模型,到真实总体数据分布中(满足线性模型)去泛化,效果会非常差,因为你拿着一个非线性模型去预测线性模型的真实分布,显而易得效果是非常差的,也就产生了过拟合现象!

(2)训练数据不足,有限的训练数据

当我们训练数据不足的时候,即使得到的训练数据没有噪声,训练出来的模型也可能产生过拟合现象,解释如下:

假设我们的总体数据分布如下:

大白话解释模型产生过拟合的原因!

(为了容易理解,假设我们的总体数据分布满足的模型是一个二次函数模型)

我们得到的训练数据由于是有限的,比如是下面这个:

大白话解释模型产生过拟合的原因!

(我只得到了 A,B 两个训练数据)

那么由这个训练数据,我得到的模型是一个线性模型,通过训练较多的次数,我可以得到在训练数据使得损失函数为 0 的线性模型,拿这个模型我去泛化真实的总体分布数据(实际上是满足二次函数模型),很显然,泛化能力是非常差的,也就出现了过拟合现象!

(3)训练模型过度导致模型非常复杂

训练模型过度导致模型非常复杂,也会导致过拟合现象!这点和第一点俩点原因结合起来其实非常好理解,当我们在训练数据训练的时候,如果训练过度,导致完全拟合了训练数据的话,得到的模型不一定是可靠的。

比如说,在有噪声的训练数据中,我们要是训练过度,会让模型学习到噪声的特征,无疑是会造成在没有噪声的真实测试集上准确率下降!

好了,到这里本文要讲的内容已经讲完了,我根据自己的理解,试图通俗的讲解产生过拟合的原因,希望能够让更多的人有一个直观的理解~ 真心希望对大家有帮助,欢迎大家指错交流~



====================================分割线================================

本文作者:AI研习社
本文转自雷锋网禁止二次转载, 原文链接
目录
相关文章
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
大模型开发:解释强化学习以及它与监督学习的不同之处。
强化学习(RL)是机器学习的一种,通过智能体与环境交互学习最优策略,以获取最大回报,常用于动态环境如游戏和机器人。与之不同,监督学习(SL)使用有标签的训练数据来预测新数据,适用于如图像分类等稳定问题。两者关键区别在于学习方式和应用场景:RL侧重环境交互和策略优化,适合未知动态环境;SL依赖已知标签数据,适合标签明确的任务。在大模型开发中,两者各有优势,并不断融合创新,推动人工智能发展。
|
1月前
|
机器学习/深度学习 运维 算法
大模型开发:解释监督学习和非监督学习之间的区别。
监督学习与非监督学习是机器学习的两大分支。监督学习使用带标签的训练数据来学习预测模型,如线性回归、SVM,常用于分类和回归问题。非监督学习则从无标签数据中挖掘模式和结构,如聚类、PCA,适用于市场细分和异常检测。关键在于根据任务和数据选择合适的方法。
23 1
|
30天前
|
机器学习/深度学习 算法
大模型开发:解释反向传播算法是如何工作的。
反向传播算法是训练神经网络的常用方法,尤其适用于多层前馈网络。它包括前向传播、计算损失、反向传播和迭代过程。首先,输入数据通过网络层层传递至输出层,计算预测值。接着,比较实际输出与期望值,计算损失。然后,从输出层开始,利用链式法则反向计算误差和权重的梯度。通过梯度下降等优化算法更新权重和偏置,以降低损失。此过程反复进行,直到损失收敛或达到预设训练轮数,优化模型性能,实现对新数据的良好泛化。
|
机器学习/深度学习 算法
LSTM最通俗的解释
LSTM最通俗的解释
|
数据挖掘 索引 Python
Python实现固定效应回归模型实现因果关系推断(二)
Python实现固定效应回归模型实现因果关系推断(二)
729 1
Python实现固定效应回归模型实现因果关系推断(二)
|
Python
Python实现固定效应回归模型实现因果关系推断(一)
Python实现固定效应回归模型实现因果关系推断(一)
704 0
Python实现固定效应回归模型实现因果关系推断(一)
|
机器学习/深度学习 算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法
用有趣的方式解释梯度下降算法
|
机器学习/深度学习 数据挖掘
3分钟,看回归分析模型怎么做
总有小伙伴想看分析模型,我们就从最简单的回归分析模型讲起。回归分析是所有分析模型里最浅显,最容易懂的,并且回归分析有很多变化形态,能适用于很多问题场景。今天就一起来看一下。
262 0
3分钟,看回归分析模型怎么做
|
机器学习/深度学习 算法 前端开发
通俗解释随机森林算法
通俗解释随机森林算法
319 0
通俗解释随机森林算法
|
机器学习/深度学习 算法
通俗解释优化的线性感知机算法:Pocket PLA
通俗解释优化的线性感知机算法:Pocket PLA
274 0
通俗解释优化的线性感知机算法:Pocket PLA