好的代价函数可以让神经网络学习更快。
只有一个神经元的情况
假设只有一个神经元的情况:
输入x = 1,期望输出 y = 0
令初始参数w=0.2, b=0.2,学习率eta=0.15,迭代效果如下:
可以看出,当错误偏差大的时候学习速度很慢。 这个问题不只是出现在这个神经元中,在神经网络中也是同样的情况。
这与人的学习方式不符,人在开始时会觉得比较快。
问:为什么当错误严重时反而学习速度慢?
答:对于一个样本来说,二次代价函数为:
二次代价函数对任意w、b的偏导为:
回顾一下sigmoid函数的形状:
可以看出,当a接近0或1时,w和b的改变会非常小。