第二章 实践方法论
2.1 模型偏差
模型过于简单导致未拟合
-
重新设计模型
-
增加特征
2.2 优化问题
梯度下降优化的不够,没找到最优参数
- 针在海里,大海捞针,但是方法不给力
建议:先使用简单的线性模型或者是SVR测试一下,一般这些模型不会优化不到位
训练数据损失突然不再降低或者变大是优化的问题,如果训练数据损失很小了但是测试数据损失很大就是过拟合
2.3 过拟合
出现的原因:模型的灵活性很强,所以根据训练集可能拟合出了很复杂的函数,但是测试集的输出就和之前的真实值偏差很大了
解决
-
增加训练集
- 使用数据增强等手段,可以把函数控制住
-
给模型一些限制,让模型不要有过大的灵活性
-
给模型比较少的参数
-
用比较少的特征
-
早停(early stopping)、正则化(regularization)和丢弃法(dropoutmethod)
-
2.4 交叉验证
三折交叉验证为例
- 首先划分成训练集,公开测试集(验证集)和私人测试集,选择在验证集每轮结果平均后的参数作为最优参数集,然后在训练集和验证集上最后训练整体模型,在私人测试集上进行测试,就可以得到比较客观的评价结果。
2.5 不匹配
数据的分布不同
-
例如:往期的周五观看人数都很少,但是测试的时候周五人突然多了。这说明训练和测试的数据分布不同
-
再比如:用2020年训练,用2021预测,根本预测不准