机器学习笔记Ⅰ
机器学习笔记(二)
模型训练方法:
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:在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。
模型复杂度选择
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.