1.3 机器学习基础(Basic Recipe for Machine Learning)

初始模型训练完成后,首先要知道算法的偏差高不高,如果偏差较高,试着评估训练集或训练数据的性能。如果偏差的确很高,甚至无法拟合训练集,要做的就是增加神经网络的隐藏层个数、神经元个数,训练时间延长,选择其它更复杂的NN模型等

如果网络足够大,通常可以很好的拟合训练集,一旦偏差降低到可以接受的数值,检查一下方差有没有问题,为了评估方差,要查看验证集性能,从一个性能理想的训练集推断出验证集的性能是否也理想,如果方差高,最好的解决办法就是增加训练样本数据,进行正则化Regularization,选择其他更复杂的NN模型

两点需要注意:

第一点,高偏差和高方差是两种不同的情况,通常用训练验证集来诊断算法是否存在偏差或方差问题,然后根据结果选择尝试部分方法。如果算法存在高偏差问题,准备更多训练数据没什么用处

第二点,在当前的深度学习和大数据时代,只要持续训练一个更大的网络,只要正则适度,通常构建一个更大的网络便可以在不影响方差的同时减少偏差,而采用更多数据通常可以在不过多影响偏差的同时减少方差。

这两步实际要做的工作是:使用更复杂的神经网络和海量的训练样本,一般能够同时有效减小Bias和Variance

Last updated