共计 1853 个字符,预计需要花费 5 分钟才能阅读完成。
前言
机器学习 中,模型的拟合成果意味着对新数据的预测能力的强弱(泛化能力)。而程序员评估模型拟合成果时,常说“过拟合”及“欠拟合”,那到底什么是过 / 欠拟合呢?什么指标能够判断拟合成果?以及如何优化?
欠拟合 & 过拟合的概念
注:在机器学习或人工神经网络中,过拟合与欠拟合有时也被称为“过训练”和“欠训练”,本文不做术语差别上的业余辨别。
欠拟合 是指相较于数据而言,模型参数过少或者模型构造过于简略,以至于无奈学习到数据中的法则。
过拟合 是指模型只过分地匹配特定数据集,以至于对其余数据无良好地拟合及预测。其本质是模型从训练数据中学习到了统计噪声,由此剖析影响因素有:
- 训练数据过于部分全面,模型学习到与实在数据不相符的乐音;
- 训练数据的乐音数据烦扰过大,大到模型过分记住了乐音特色,反而疏忽了实在的输入输出间的关系;
- 过于简单的参数或构造模型(相较于数据而言),在能够“完满地”适应数据的同时,也学习更多的噪声;
如上图以虚线的辨别成果来形象示意模型的拟合成果。Underfitting 代表欠拟合模型,Overfitting 代表过拟合模型,Good 代表拟合良好的模型。
拟合成果的评估形式
事实中通常由训练误差及测试误差(泛化误差)评估模型的学习水平及泛化能力。
欠拟合 时训练误差和测试误差在均较高,随着训练工夫及模型复杂度的减少而降落。在达到一个 拟合最优 的临界点之后,训练误差降落,测试误差回升,这个时候就进入了 过拟合 区域。它们的误差状况差别如下表所示:
拟合成果的深入分析
对于拟合成果除了通过训练、测试的误差预计其泛化误差及判断拟合水平之外,咱们往往还心愿理解它为什么具备这样的泛化性能。统计学罕用“偏差 - 方差合成”(bias-variance decomposition)来分析模型的泛化性能:其泛化误差为偏差、方差与噪声之和。
噪声(ε) 表白了在当前任务上任何学习算法所能达到的泛化误差的下界,即刻画了学习问题自身(客观存在)的难度。
偏差(Bias) 是指用所有可能的训练数据集训练出的所有模型的输入值与实在值之间的差别,刻画了模型的拟合能力。偏差较小即模型预测准确度越高,示意模型拟合水平越高。
方差(Variance) 是指不同的训练数据集训练出的模型对同预测样本输入值之间的差别,刻画了训练数据扰动所造成的影响。方差较大即模型预测值越不稳固,示意模型 (过) 拟合水平越高,受训练集扰动影响越大。
如下用靶心图形象示意不同方差及偏差下模型预测的差别:
偏差越小,模型预测值与目标值差别越小,预测值越精确;
方差越小,不同的训练数据集训练出的模型对同预测样本预测值差别越小,预测值越集中;
“偏差 - 方差合成” 阐明,模型拟合过程的泛化性能是由学习算法的能力、数据的充分性以及学习工作自身的难度所独特决定的。
当模型欠拟合时:模型准确度不高(高偏差),受训练数据的扰动影响较小(低方差),其泛化误差大次要由高的偏差导致。
当模型过拟合时:模型准确度较高(低偏差),模型容易学习到训练数据扰动的乐音(高方差),其泛化误差大由高的方差导致。
拟合成果的优化办法
可联合穿插验证评估模型的体现,可较精确判断拟合水平。在优化欠 / 过拟合景象上,次要有如下办法:
模型欠拟合
- 减少特色维度:如减少新业务层面特色,特色衍生来增大特色假如空间,以减少特色的表达能力;
- 减少模型复杂度:如减少模型训练工夫、构造复杂度,尝试简单非线性模型等,以减少模型的学习能力;
模型过拟合
- 减少数据: 如寻找更多训练数据样本,数据加强等,以缩小对部分数据的依赖;
- 特征选择:通过筛选掉冗余特色,缩小冗余特色产生噪声烦扰;
-
升高模型复杂度:
- 简化模型构造:如缩小神经网络深度,决策树的数目等。
- L1/L2 正则化:通过在代价函数退出正则项(权重整体的值)作为惩办项,以限度模型学习的权重。
(拓展:通过在神经网络的网络层引入随机的噪声,也有相似 L2 正则化的成果)
- 提前进行(Early stopping):通过迭代次数截断的办法,以限度模型学习的权重。
-
联合多个模型:
- 集成学习:如随机森林(bagging 法)通过训练样本有放回抽样和随机特征选择训练多个模型,综合决策,能够缩小对局部数据 / 模型的依赖,缩小方差及误差;
- Dropout:神经网络的前向流传过程中每次按肯定的概率(比方 50%)随机地“暂停”一部分神经元的作用。这相似于多种网络结构模型 bagging 取均匀决策,且模型不会依赖某些部分的特色,从而有更好泛化性能。
对于作者
欢送关注“算法进阶”公众号,这里定期推送机器学习、深度学习等技术好文。欢送一起学习交换提高!