机器学习笔记(二)

参考:https://www.bilibili.com/video/BV1Wv411h7kN?p=10

模型训练方法:

image-20220212104649466

loss on training data

首先检查training data的los值是否达标,如果training data的loss过大,可能是两个原因导致

(一)model bias问题, 模型过于简单,没有足够的弹性

当设置的模型过于简单,可能会出现模型所有可能的结果都无法比较好的拟合输入输出关系

解决办法:

  • 增加输入的特征
  • 增加神经元数和层数,使模型复杂度更高

(二)optimization (优化方式)不好

gradient desent的优化方法可能会得到局部最优解,没有达到全局最优解

解决办法:TO LEARN

判断方法: 对比简单的model和一个层数更大更复杂的model的loss值,如果复杂的model在训练集上的效果不如简单的model,说明是optimization不够好

loss on teating data

当训练集上的loss达标后再看测试集上的loss是否足够小,如果loss过大,原因可能是

(一)overfitting 过拟合

过多的变量(特征),同时只有非常少的训练数据时可能出现了过拟合问题,导致训练集的loss小,测试集的loss大

解决办法:

  • 增加训练集大小
  • 数据增强,根据数据的特性和自己对问题的理解创造出新的训练数据,如在图像识别中可以把训练资料进行左右旋转、放大、缩小等操作来增大数据集。
  • 限制模型弹性,根据自己对问题的理解增加模型的限制,如限制神经元数、让神经元共用参数、减少输入特征
  • 早停法:将原始的训练数据集划分成训练集和验证集,在验证机loss下降时停止训练
  • 正则化regularization:
  • dropout:在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。

模型复杂度选择

image-20220212115818066

image-20220212130100962