当前位置:   article > 正文

机器学习笔记2——过拟合、欠拟合、正则化、方差、偏差_方差成本度量是正则化吗

方差成本度量是正则化吗

1、过拟合、欠拟合和正则化

1.1 过拟合

指模型的训练误差与测试误差(泛化误差)之间差距过大,也就是训练数据误差渐渐减小,可验证集上的误差却渐渐增大,在新数据上的表现一般(泛化能力差)。
训练初期,训练不足,学习器的拟合能力不强,偏差大。充分训练后,学习器拟合能力强,训练数据的轻微扰动会导致学习器发生显著变化,产生过拟合。

1.2 欠拟合

指模型不能在训练集上获得足够低的训练误差,由于特征维度过少,导致拟合的函数无法满足训练集,导致误差较大。

1.3 正则化

为了减少测试误差的策略统称为正则化方法,代价可能是增大训练误差。

2、过拟合、欠拟合解决方法

2.1 解决过拟合

2.1.1 正则化

正则化包括L1正则化、L2正则化、混合L1与L2正则化

  • L1正则化
    目的是减少各个参数绝对值总和,也被称为参数X向量的L1范数,如果用的是L1正则化,X最终会是稀疏的,得到稀疏的权值,也就是说X向量中有很多0,L1正则先验服从拉普拉斯分布。定义:
    在这里插入图片描述
    对于L1范数,它的优化问题如下:
    在这里插入图片描述
    可以看出,最优的参数值大概率出现在坐标轴上,即对L1优化的解是一个稀疏解, 因此L1范数也被叫做稀疏规则算子。 通过L1可以实现特征的稀疏,去掉一些没有信息的特征,常用于特征选择设置

  • L2正则化
    目的是减少各个参数平方的总和的开方,L2正则化是最常见的正则化类型,得到平滑的权值,L2正则先验服从高斯分布,L2是定义:
    在这里插入图片描述
    对于L2正则化的优化,最优的参数值很小概率出现在坐标轴上,因为每一维的向量都不会为0,因此机器学习中,常对权重施加L2范数约束

2.1.2 Batch Normalization

Batch Normalization是深度学习中减小泛化误差的正则化方法,主要作用缓解梯度消失酵素网络训练。

  • 会针对每一批数据在网络的每一层输入之前增加归一化,归一化的目的是使输入均值为0,标准差为1,能将数据限制在统一的分布下。对每层的第k个神经元求均值和标准差,然后将归一化后的值作为神经元的激活值。
  • 通过对数据分布进行额外的约束增强模型的泛化能力,由于破坏了之前学的特征分布,降低了模型的拟合能力。Batch Normalization引入了一个重构变换来还原最优的输入数据分布。
2.1.3 Dropout
  • dropout不会改变损失函数而是修改网络结构本身。通过对神经网络中的神经元做随机删减,减低网络的复杂度。

  • dropout具体表现:第一次迭代随机删除一部分隐藏单元,保存输入层和输出层不变,更新神经网络中的权值。第二次迭代也是随机删除一部分隐藏单元,和上次删除的不一样。之后都这样,直至训练结束。

  • 运用dropout相当于训练了多个仅有部分隐藏单元的神经网络,每个这种神经网络,都能给出一个分类结果,有的正确有的错误,随着训练进行,大部分网络都能给出正确的分类结果。

2.1.4 迭代截断
  • 在模型对训练数据迭代收敛之前停止迭代。
  • 具体方法:在训练过程中记录目前为止最佳的准确率,当连续n次epoch没达到最佳准确率,就可以停止迭代。
2.1.5 交叉验证

K-fold交叉验证:将原始数据分成K组(一般是均分),进行K次交叉验证过程,将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个模型,用这K个模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的性能指标。

2.2 解决欠拟合

2.2.1 加入新的特征

深度学习中可以利用因子分解机、子编码器等

2.2.2 增加模型复杂度

对于线性模型:增加高次项
对于深度学习:增加网络层数、神经元个数

2.2.3 减小正则化项的系数

可以提高模型学习能力

3、偏差与方差

3.1 偏差

  • 度量学习算法的期望预测与真实结果的偏离程度
  • 用于描述学习算法本身的拟合能力

3.2 方差

  • 度量同样大小的训练集的变动所导致的学习性能的变化,刻画数据扰动所造成的影响
  • 一个随机变量的方差描述的是它的离散程度, 也就是该随机变量在其期望值附近的波动程度
  • 用于描述模型的稳定性

3.3 偏差与方差的分析

3.3.1 偏差与方差的理解图

在这里插入图片描述

3.3.2 偏差与方差的泛化误差分析

训练不足时
模型拟合能力不足(数据的扰动不足以使模型产生显著变化),此时偏差主导模型的泛化误差。

训练进行中时
随着训练的进行,模型拟合能力增强(模型能够学习数据发生的扰动),此时方差逐渐主导模型的泛化误差。

训练充足时
模型拟合能力过强(数据的轻微扰动都会导致模型产生显著变化),此时发生过拟合,训练数据自身的、非全局的特征也被模型学习了。

3.4 推导泛化误差与偏差与方差, 噪声

yD:实例x在数据集D中的标记(在实际工程中的标签)
y:x的真实标记(该值是理论值,实际工程中一般是不能获得的)
f(x):在训练集D上学得模型f,使用模型f预测x的期望值为f(x)。即:
在这里插入图片描述

在这里插入图片描述
学习器在训练集上的误差叫“训练误差”或“经验误差”,在新样本上的误差叫“泛化误差”

  • 泛化误差
    以回归任务为例, 学习算法的平方预测误差期望为:
    在这里插入图片描述

  • 方差公式
    使用样本数相同的不同训练集产生的方差为:
    在这里插入图片描述

  • 偏差
    期望预测与真实标记的误差称为偏差(bias), 为了方便起见, 我们直接取偏差的平方:
    在这里插入图片描述

  • 噪声
    噪声为真实标记与数据集中的实际标记间的偏差:
    在这里插入图片描述
    泛化误差 = 偏差 + 方差 + 噪声
    在这里插入图片描述

3.5 导致偏差与方差的原因

  • 偏差:由于模型的复杂度不够,或者对学习算法做了错误的假设,训练误差主要由偏差导致。例如真实模型为三次函数,假设模型为二次函数,导致欠拟合。
  • 方差:由于模型的复杂度过高,测试误差相对训练误差的变化主要由方差导致。例如真实模型为三次函数,假设模型为五次函数,导致过拟合。

参考《人工智能程序员面试笔试宝典》猿媛之家,凌峰

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/688159
推荐阅读
相关标签
  

闽ICP备14008679号