zoukankan      html  css  js  c++  java
  • 李宏毅2021春机器学习课程笔记——通过训练集上的Loss可获得的信息

    本文作为自己学习李宏毅老师2021春机器学习课程所做笔记,记录自己身为入门阶段小白的学习理解,如果错漏、建议,还请各位博友不吝指教,感谢!!

    在这里插入图片描述
    如何更好的训练我们的模型呢?我们可以通过观察训练集上的loss,来决定下一步采取什么措施来优化我们的训练过程。

    训练集上的Loss很大

    在这种情况下,可能的原因有Model biasOptimization两种。

    Model Bias

    在上一节中提到,model bias是指使用的model太简单而存在不能很好的表示真实情况的限制。
    在这里插入图片描述

    如上图所示,使用图形来理解model bias在训练模型中的情况的话就是:假设空间(hypothesis space)中并没有包含可以获得最小loss的那个模型(橙色的(f^*(x)))。

    解决的方法:重新设计更加复杂、灵活的模型,例如添加特征,增加神经元的个数,增加layers的个数等。

    Optimization lssue

    当然,训练集上的Loss很大,也可能是优化环节出了问题,即我们选择的优化策略不能获得最优解,如下图所示。
    在这里插入图片描述
    也就是,假设空间(hypothesis space)中含有Loss最小的(f^*(x)),但是优化策略并不能将参数( heta)优化至对应的( heta^*)

    至于如何来区分到底是Model bias,还是Optimization lusse问题,我们可以在训练集上对不同模型Loss曲线做对比来判断,如下图所示:
    在这里插入图片描述
    如果20-layer 的模型已经取得了不错的效果,而56-layer 的模型的效果反而降低了,那说明就是我们选择的优化策略有问题。

    解决方法:选择更合适的优化策略(有待补充……)


    训练集上的Loss很小

    如果在训练集上的Loss很小,在测试集上的Loss反而变大,那很大可能出现了overfitting(过拟合)或mismatch问题。

    Overfitting

    过拟合是指学习时选择的模型所包含的参数过多,以致出现这一模型对已知数据(训练集)预测得很好,但对未知数据(测试集)预测得很差得现象。

    在这里插入图片描述
    如上图所示,我们使用很灵活(复杂度高)的模型在训练集上进行训练,往往能对训练集拟合的很好,但是对测试集的拟合效果很差。

    出现过拟合得原因可能有如下几种:

    1. 选择的模型复杂度过高
    2. 训练数据少
    3. 训练数据中存在噪声

    解决过拟合的方法

    1. 选择复杂度小(未知参数少)的模型
    2. 减少特征个数
    3. Early stopping
    4. 正则化(Regularization)
    5. Dropout
    6. 使用更多的训练数据

    Mismatch

    当训练集上的Loss很小,而测试集上的Loss很大的另一个情况是Mismatch。出现Mismatch 的原因是训练集数据和测试集数据的分布不同,如下图所示:
    在这里插入图片描述


    由上边的笔记中,可以看出在Model Bias和Overfitting,我们都需要对模型进行修改或重新选择,而常用的模型选择方法由正则化和交叉验证

    正则化

    待补充……

    交叉验证

    交叉验证的基本思想是:重复地使用数据。

    简单交叉验证

    首先随机地将已知数据分为两部分,一部分作为训练集,另一部分作为测试集(例如:70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。

    S折交叉验证

    应用最多的是S折交叉验证(S-fold cross validation),方法如下:
    首先随机的将已知数据切分为S个互不相交、大小相同的子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S种选择重复进行;最后选出S次评测中平均测试误差最小的模型。
    在这里插入图片描述

    留一交叉验证

    S折交叉验证的特殊情况时S=N,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里,N是给定数据集的容量。


    参考资料:

    1. 《统计学习方法(第2版)》 李航
    2. 《神经网络与深度学习》 邱锡鹏
  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/sykline/p/14630864.html
Copyright © 2011-2022 走看看