欠拟合---偏差,过拟合---方差;如果算法的表现没有预期的那么好,那么如何确定是哪方面的问题?
如果是高偏差的问题,那么训练集误差和验证集误差都比较大;如果是高方差,那么训练集误差小,验证集误差大。
1.得到更多的训练数据(但有的时候获取更多的数据并不是很有帮助):解决高方差问题
2.尝试选用更少的特征:解决高方差问题
3.尝试增加更多的特征:解决高偏差问题
4.增加多项式特征,就是已有特征之间的组合:等:解决高偏差问题
5.增加正则化参数,解决高方差问题
6.减小正则化参数:解决高偏差问题
对于深度学习:
扩大网络目的在于学习更多的参数,具有更强的拟合能力,比如说加宽(卷积channel增多)或者加深(网络层数加多):解决高偏差问题
对参数加正则项:解决高方差问题
调节网络参数的基准:
1.确定trainloss能收敛,如果不能收敛。。。。原因如下
2.根据validation loss和train loss图来调节学习率,遍历e-2,e-3,e-4,e-5;比如e-3最好,然后5e-2,e-3,5e-4遍历,继续寻找最好的学习率
3.根据上面的图来确定模型是属于高偏差还是高误差,然后相应来调节
不收敛原因:可以参考https://blog.csdn.net/comway_li/article/details/81878400