标准BP算法和累积BP算法的比较
标准BP算法每次只针对单个样例,参数更新得非常频繁,而且对不同样例进行更新的效果可能出现“抵消”现象。因此,为了达到同样的累积误差极小点,标准BP算法往往需要进行更多次数的迭代
累积BP算法:直接针对累计误差最小化,它在读取整个训练集D一遍后才对参数进行更新,这样参数更新得频率就会小很多,但是同样会使得参数更新得非常缓慢
BP算法的弱点:
可能会遭遇过拟合问题,训练误差持续降低,但是测试误差会上升很快
解决办法:早停法和正则化
跳出局部最小的办法:不用的出初始参数、模拟退火、随机扰动、遗传算法
关于习题答案:
习题5.1:试述将线性函数f(x)=wtxf(x)=wtx用作神经元激活函数的缺陷。
必须要强调的是,神经网络中必须要有非线性的激活函数,无论是在隐层,还是输出层,或者全部都是。如果单用wtxwtx作为激活函数,无论多少层的神经网络会退化成一个线性回归,只不过是把他复杂化了。
习题5.2.试述使用图5.2(b)激活函数的神经元与对率回归的联系。
两者都是希望将连续值映射到{0,1}上,但由于阶跃函数不光滑,不连续的性质,所以才选择了sigmoid作为映射函数。不同之处在于激活函数不一定要使用sigmoid,只要是非线性的可导函数都可以使用。
习题5.4.试述学习率的取值对神经网络训练的影响。
如果学习率太低,每次下降的很慢,使得迭代次数非常多。
如果学习率太高,在后面迭代时会出现震荡现在,在最小值附近来回波动。