美文网首页机器学习与数据挖掘
程序员说模型过拟合的时候,说的是什么?

程序员说模型过拟合的时候,说的是什么?

作者: 算法进阶 | 来源:发表于2020-07-23 23:00 被阅读0次

前言

机器学习中,模型的拟合效果意味着对新数据的预测能力的强弱(泛化能力)。而程序员评价模型拟合效果时,常说“过拟合”及“欠拟合”,那究竟什么是过/欠拟合呢?什么指标可以判断拟合效果?以及如何优化?

欠拟合&过拟合的概念

注:在机器学习或人工神经网络中,过拟合与欠拟合有时也被称为“过训练”和“欠训练”,本文不做术语差异上的专业区分。

欠拟合是指相较于数据而言,模型参数过少或者模型结构过于简单,以至于无法学习到数据中的规律。

过拟合是指模型只过分地匹配特定数据集,以至于对其他数据无良好地拟合及预测。其本质是模型从训练数据中学习到了统计噪声,由此分析影响因素有:

  1. 训练数据过于局部片面,模型学习到与真实数据不相符的噪音;
  2. 训练数据的噪音数据干扰过大,大到模型过分记住了噪音特征,反而忽略了真实的输入输出间的关系;
  3. 过于复杂的参数或结构模型(相较于数据而言),在可以“完美地”适应数据的同时,也学习更多的噪声;


    image

    如上图以虚线的区分效果来形象表示模型的拟合效果。Underfitting代表欠拟合模型,Overfitting代表过拟合模型,Good代表拟合良好的模型。

拟合效果的评估方式

image

现实中通常由训练误差及测试误差(泛化误差)评估模型的学习程度及泛化能力。

欠拟合时训练误差和测试误差在均较高,随着训练时间及模型复杂度的增加而下降。在到达一个拟合最优的临界点之后,训练误差下降,测试误差上升,这个时候就进入了过拟合区域。它们的误差情况差异如下表所示:

image

拟合效果的深入分析

对于拟合效果除了通过训练、测试的误差估计其泛化误差及判断拟合程度之外,我们往往还希望了解它为什么具有这样的泛化性能。统计学常用“偏差-方差分解”(bias-variance decomposition)来分析模型的泛化性能:其泛化误差为偏差、方差与噪声之和。

image

噪声(ε) 表达了在当前任务上任何学习算法所能达到的泛化误差的下界,即刻画了学习问题本身(客观存在)的难度。

偏差(Bias) 是指用所有可能的训练数据集训练出的所有模型的输出值与真实值之间的差异,刻画了模型的拟合能力。偏差较小即模型预测准确度越高,表示模型拟合程度越高。

image

方差(Variance) 是指不同的训练数据集训练出的模型对同预测样本输出值之间的差异,刻画了训练数据扰动所造成的影响。方差较大即模型预测值越不稳定,表示模型(过)拟合程度越高,受训练集扰动影响越大。

image
如下用靶心图形象表示不同方差及偏差下模型预测的差异:

偏差越小,模型预测值与目标值差异越小,预测值越准确;

方差越小,不同的训练数据集训练出的模型对同预测样本预测值差异越小,预测值越集中;


image

“偏差-方差分解” 说明,模型拟合过程的泛化性能是由学习算法的能力、数据的充分性以及学习任务本身的难度所共同决定的。

当模型欠拟合时:模型准确度不高(高偏差),受训练数据的扰动影响较小(低方差),其泛化误差大主要由高的偏差导致。

当模型过拟合时:模型准确度较高(低偏差),模型容易学习到训练数据扰动的噪音(高方差),其泛化误差大由高的方差导致。

image

拟合效果的优化方法

可结合交叉验证评估模型的表现,可较准确判断拟合程度。在优化欠/过拟合现象上,主要有如下方法:

模型欠拟合

  • 增加特征维度:如增加新业务层面特征,特征衍生来增大特征假设空间,以增加特征的表达能力;
  • 增加模型复杂度:如增加模型训练时间、结构复杂度,尝试复杂非线性模型等,以增加模型的学习能力;

模型过拟合

  • 增加数据: 如寻找更多训练数据样本,数据增强等,以减少对局部数据的依赖;

  • 特征选择:通过筛选掉冗余特征,减少冗余特征产生噪声干扰;

  • 降低模型复杂度

    1. 简化模型结构:如减少神经网络深度,决策树的数目等。

    2. L1/L2正则化:通过在代价函数加入正则项(权重整体的值)作为惩罚项,以限制模型学习的权重。


      image

      (拓展:通过在神经网络的网络层引入随机的噪声,也有类似L2正则化的效果)

  1. 提前停止(Early stopping):通过迭代次数截断的方法,以限制模型学习的权重。
image
  • 结合多个模型
    1. 集成学习:如随机森林(bagging法)通过训练样本有放回抽样和随机特征选择训练多个模型,综合决策,可以减少对部分数据/模型的依赖,减少方差及误差;

    2. Dropout: 神经网络的前向传播过程中每次按一定的概率(比如50%)随机地“暂停”一部分神经元的作用。这类似于多种网络结构模型bagging取平均决策,且模型不会依赖某些局部的特征,从而有更好泛化性能。


      image

相关文章

  • 程序员说模型过拟合的时候,说的是什么?

    前言 机器学习中,模型的拟合效果意味着对新数据的预测能力的强弱(泛化能力)。而程序员评价模型拟合效果时,常说“过拟...

  • 过拟合

    一、什么是过拟合 过拟合的表现:模型训练时候的误差很小,但在测试的时候误差很大。 过拟合本质原因: 模型相对于训练...

  • 学习笔记----机器学习(六)

    机器学习基础理论 模型过拟合和模型欠拟合 过拟合Under Fitting(高方差high bias ) ----...

  • 西瓜书学习笔记-模型评价

    1.过拟合 过拟合可能使得模型对已知样本非常准确,而对新样本效果并不理想,或者说模型的泛化能力较弱。 而泛化能力是...

  • 机器学习的相关概念

    一、概念 拟合,欠拟合,过拟合拟合:测试机数据对于模型的匹配度,趋于欠拟合和过拟合之间;欠拟合:学到的很少;过拟合...

  • 过拟合问题的理解(Explore overfitting and

    深度学习或者说神经网络中最让人头疼的问题也是最常见的问题,便是过拟合和欠拟合问题。过拟合体现在训练数据集中模型表现...

  • 防止过拟合方法

    一、防止过拟合的方法有哪些? 过拟合是指模型参数拟合过程中的问题。由于训练集数据包含抽样误差,复杂模型在进行拟合过...

  • 机器学习中的L0、L1、L2正则化

    过拟合 过拟合问题在机器学习中是一个经常遇到的问题,所谓过拟合,即模型过度地拟合了训练数据,从而导致模型在训练数据...

  • 过拟合与欠拟合

    过拟合、欠拟合简介 过拟合:是指模型对训练数据拟合过当的情况,即模型在训练集上表现很好,但在测试集上表现较差; 欠...

  • 第三天-过拟合欠拟合及其解决方案,梯度消失梯度爆炸,

    过拟合、欠拟合及其解决方案 过拟合、欠拟合的概念 权重衰减 丢弃法 模型选择、过拟合和欠拟合 训练误差和泛化误差 ...

网友评论

    本文标题:程序员说模型过拟合的时候,说的是什么?

    本文链接:https://www.haomeiwen.com/subject/jvqklktx.html