奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 156 页

PDF 物理页索引 172 · 第5章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
156
PDF 物理页
172(从 0 开始)
章节
第5章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
e900f08093e6dd989f32940a3dc25825f845af543033184a26ebba775ed8bd7f

防止过拟合是机器学习中极其重要的一个问题,重要到后文几乎所有模型讲解中都会提到并给出防止过拟合的方法,可以说如果没有处理好过拟合,我们就会全盘皆输。过拟合是绝对值得我们花相当一部分时间去处理的。

5.5.2 过拟合的处理方法

当过拟合发生时,我们的模型对训练集数据的预测效果很好,但对测试集数据的预测效果较差。这是因为模型过于关注训练集的局部特征,从而记住了样本集的噪声,而这些噪声并不是数据分布的真实规律,所以出现了训练集和测试集准确率相差较大的情况。无论多优秀的模型,如果我们不去防止,都可能出现过拟合。通常有以下几种办法来处理过拟合问题。

(1)使用更多训练数据

引入更多训练数据通常会降低过拟合。训练数据的增加总是会为机器学习带来正面的作用,降低过拟合就是最大的好处之一。数据量越大,意味着模型训练得到的参数方差越小,模型越稳定,因此会降低数据集发生变化时模型效果的波动,从而降低过拟合。

虽然增大训练数据量是“首选”,但很多时候获得更多数据是很困难的。如果无法引入更多数据,我们仍然可以尝试这两种方法:第一种,将数据集中更多的数据用作训练数据,即加大训练集所占的比例;第二种,通过数据集增强(DataAugmentation)的方式从原始数据集中“获得”更多虚拟数据,如通过将原始图片旋转、镜像及色彩变换等技巧生成更多图片用作训练。

(2) 使用正则化

正则化是降低过拟合的一个主要技巧。正则化是通过改变误差(损失)函数,在误差函数原有的基础上加入惩罚项。惩罚项和参数的大小直接相关,当我们使用过多的参数时,这个惩罚项会变得很大,从而可以防止模型过于复杂。常见的正则化方法包括L1和L2正则化。有关这两种正则化方法会在后面的章节进行详细介绍。加入L1和L2惩罚项可以让部分参数值急剧变小或变成0,以达到“压缩”参数个数的作用。

(3) Early Stopping

EarlyStopping是指在迭代过程中提前结束迭代,从而防止过度训练的手段。训练时间过长,模型会越来越倾向于记住样本集的全部内容,而这会导致过拟合的发生。因此,我们可以在迭代训练的过程中随时观察误差(损失)函数的变化情况,如果发现在一段时间后模型效果没有显著提升,就停止训练。针对神经网络更多过拟合的解决方法也会在后面的章节系统性的介绍。

(4)使用集成算法

集成算法是指将多个简单模型进行平均的系统性方法。假设我们有10个模型,这10个模型单独运作都容易发生过拟合,但这10个模型平均之后则会降低过拟合的影响。就好比评委打分,1个人的打分经常是不稳定的,多个人投票或者取均值则会让评分变得更加公正、靠谱。

人工智能与大数据技术导论

156