1、过拟合
- 定义
- 过拟合指的是模型对训练数据拟合的太好,以至于无法很好地泛化到新数据。
- 原因
- 训练数据不足
- 模型太复杂(如深层神经网络)
- 训练时间太长
- 后果
- 模型在训练数据上表现良好,但在测试数据上表现较差。
- 解决方法
- 增加训练数据
- 使用正则化,如L1、L2正则
- Early Stopping(提前终止训练)
- 降低模型复杂度(如减少网络层数)
- Drop out技术
2、欠拟合
- 定义
- 欠拟合指的是模型不能在训练集上获得足够多的特征,即模型在训练集上没有办法找到规律。
- 原因
- 训练数据不足
- 模型复杂度过低
- 训练时间不够长
- 没有使用任何正则化方法
- 后果
- 模型在训练数据上表现较差,在测试数据上表现也较差。
- 解决方法
- 增加训练数据量
- 选择更复杂的模型
- 增加模型训练时间
- 尝试不同模型或调参
3、模型验证
- 当我们训练出一个模型后,我们需要对它的质量进行评估和验证。
- 模型质量
- 模型质量是预测的准确性的关键度量值。模型的预测越接近实际发生的情况,则模型质量越高,即预测结果越准确模型质量越高。
- 模型质量有很多度量指标,如平均绝对误差。
- 平均绝对误差MAE
- 误差
- 绝对误差
- 平均绝对误差
4、样本拆分
- 假设,有一组数据,我们使用这组数据训练了一个模型。然后我们再用这组数据来对该模型进行验证,如计算平均绝对误差,结果表示模型质量良好。
- 这样计算出的得分被称为“样本内”分数,因为我们完全依托于样本进行分析和预测,并且预测的结果也是样本中给出的。结果自然显得准确(因为模型学习到了该数据集的所有可能性),但遇到新的数据可能会产生问题。
- 所以我们要将手头的数据进行拆,可以拆分成训练数据和验证数据。
- 训练数据负责训练模型,练数据集占数据集的大部分比例,一般占60%~80%。
- 验证数据负责验证模型对新数据的准确性,一般占数据集的10%~20%。