本专栏是网易云课堂人工智能课程《神经网络与深度学习》的学习笔记,视频由网易云课堂与 deeplearning.ai 联合出品,主讲人是吴恩达 Andrew Ng 教授。感兴趣的网友可以观看网易云课堂的视频进行深入学习,视频的链接如下:
神经网络和深度学习 - 网易云课堂
也欢迎对神经网络与深度学习感兴趣的网友一起交流 ~
目录
1 偏差与方差的概念
2 机器学习基本方法
1 偏差与方差的概念
对于包含两个输入特征的数据集,使用逻辑回归拟合,可以得到一条直线。对于上图给定的数据,这条直线不能很好地拟合该数据集,这是高偏差(high bias)的情况,模型是欠拟合的(Underfitting)。
相反地,如果我们拟合一个非常复杂的分类器,例如包含多隐藏层的深度神经网络,可以得到一条复杂的分类曲线,但是这看起来不是一种很好的拟合结果,这是高方差(HIgh variance)的情况,模型是过拟合的(Overfitting)。
介于两者中间, 训练一个复杂程度适中,数据拟合适度的分类器,可以得到一段弧型曲线,这看起来更加合理。
理解偏差和方差的两个关键数据是训练集误差和验证集误差。
对于一个猫图片分类器,假设训练集误差为 1%,验证集误差为 11%,模型对训练集数据拟合得很好,但是对验证集数据则较差。这种情况属于 "高方差”。
对于训练集误差为 15%,验证集误差为 16% 的情况,假如对该数据集,人分辨的错误率几乎为 0,模型在训练集中没有得到很好地训练,训练集和验证集错误率接近,这种情况属于 “高偏差”。
如果模型在训练集和验证集上的结果都不理想,例如训练集误差为 15%,验证集的评估结果更糟糕,错误率达到 30%,这种情况属于 “高偏差,且高方差”。
最后,对于训练集误差为 0.5%,验证集误差为 1% 的情况,人们会乐于看到这种结果,因为这属于 “低偏差,且低方差” 。
以上的分析都是基于假设预测的,即人眼辨别图片的错误率是接近 0%。
2 机器学习基本方法
在神经网络训练过程中,可以根据偏差和方差的高低情况,决定下一步的工作。
在初始模型训练完成之后,首先检查模型的偏差是否较高,如果偏差的确很高,甚至无法拟合训练集,下一步要做的事情是选择新的神经网络,例如包含更多隐藏层的网络,或者花费更多的时间训练网络,或者尝试新的优化算法。
这些尝试可能有用,可能不起作用。这需要反复尝试,直到可以拟合数据为止。
如果偏差在可接受的范围内,下一步就可以检查模型的方差是否偏高。
如果模型对验证集的误差较高,最好的解决方法是采用更多的数据进行训练。如果无法获得更多的数据,还可以通过尝试正则化(Regularization)来减少过拟合。同时也可以尝试不同架构的神经网络,有可能会起到一箭双雕的效果,同时减少偏差和方差。
总之,神经网络的训练需要不断尝试,直到找到低偏差,且低方差的神经网络结构。这也是神经网络通常规模较大,且需要大量训练数据的原因。