针对训练好的模型在实际运用中泛化能力较弱需要不断添加样本的问题解决方法,本文是自己学习后加入自己深入理解的总结记录,方便自己以后查看。
如何解决模型泛化能力较弱的问题。
一、什么是泛化能力
模型对未知数据的预测能力,这个未见过的测试数据必须是和训练数据处于同一分布,不在同一分布的数据是不符合独立同分布假设的(对同一规律不同的数据集的预测能力)。通常通过测试误差来评价学习方法的泛化能力。
二、泛化能力弱的表现形式:过拟合、欠拟合、不收敛
1、过拟合:泛化能力弱,导致模型在训练集效果好,测试集效果差
原因:
- 训练数据中噪音干扰过大,使得学习器认为部分噪音是特征从而扰乱学习规则。
- 建模样本选取有误,例如训练数据太少,抽样方法错误,样本label错误等,导致样本不能代表整体。
- 模型不合理,或假设成立的条件与实际不符。
- 特征维度/参数太多,导致模型复杂度太高
2、欠拟合:泛化能力弱,训练样本未学好。在训练集及测试集上的表现都不好。
原因:
1、模型复杂度过低
2、特征量过少
三、解决方法
泛化能力弱了根据表现形式做以下几个方面调整:
1、数据
。调整数据样本数量
。数据增强(Data Augmentation):通过图像平移、反转、缩放、切割等手段将数据成倍扩充
。数据标注检查,新手在标注过程中容易区分不了特征的干扰和噪音一起标注进来了,或者是没将相同特征标注全导致
2、调整模型的复杂度,涉及到对神经网络结构的理解
3、正则化系数调整
4、贝叶斯方法针对过拟合