什么是过拟合?
过拟合也就是你的模型泛化能力差,在训练集上效果很好,但是在验证集和测试集或者实际场合里效果差的表现。
怎么判断是不是过拟合?
训练时准确率高,验证时准确率低。
过拟合产生的原因:
1.神经网络的学习能力过强,复杂度过高
2.训练时间太久
3.激活函数不合适
4.数据量太少
5.数据集样本不够丰富,或者存在标签失真,不合理,或者样本存在脏数据
解决办法:
1.降低模型复杂度,dropout
2.即时停止
3.正则化
4.数据增强
偏差和方差
Error = Bias + Variance
在缺少有效预防欠拟合和过拟合措施的情况下,随着模型拟合能力的增强,错误率在训练集上逐渐减小,而在验证集上先减小后增大;Error = Bias + Variance
当两者的误差率都较大时,处于欠拟合状态(high bias, low variance);
当验证集误差率达到最低点时,说明拟合效果最好;
由最低点增大时,处与过拟合状态(high variance, low bias)。(高)
当模型出现高偏差时:(欠拟合)
-
增加特征种类
-
增加多项式的次数
-
降低lamda值(正则化项的系数)https://blog.csdn.net/syyyy712/article/details/79960726
当模型出现高方差时:(过拟合)
-
增加数据集
-
剔除一部分特征(dropout)
-
增加lamda值(正则化项的系数)https://blog.csdn.net/syyyy712/article/details/79960726
原文链接:https://blog.csdn.net/qq_44711190/article/details/109573209
关于训练出来的模型对数据的偏差和方差,对模型性能的评判,以及后续的优化,可以参考:https://www.zhihu.com/question/27068705
参考指南:
2 根据模型visualDL类似的表现判断到底是过拟合还是欠拟合
3 机器学习模型的偏差与方差、过拟合和欠拟合(重要)
一个机器学习模型学习好之后往往不会在测试集上达到100%的准确率,通常会产生一定的误差,我们一般把它叫做泛化误差,它衡量了一个机器学习模型的一个泛化能力。
那么机器学习模型在测试数据集上的泛化误差是由哪些因素影响的呢?怎么样才能降低机器学习的泛化误差呢?
没错,是由偏差(Bias)和方差(Variance)影响的!
那么什么是偏差(Bias)?什么是方差(Variance)?是怎么影响泛化误差的?
偏差与方差、过拟合和欠拟合
https://blog.csdn.net/m0_37192554/article/details/85047865
http://scott.fortmann-roe.com/docs/BiasVariance.html
https://www.cnblogs.com/SupremeBoy/p/12482976.html
https://zhuanlan.zhihu.com/p/142047021
https://zhuanlan.zhihu.com/p/28769940
https://www.zhihu.com/question/27068705