计算实际值与目标值间的误差常用有3种方法:
- 目标值-实际值
- abs(目标值-实际值)
- (目标值-实际值)^2
我们更喜欢用第3种方法。原因有以下3点。
- 使用误差的平方,我们可以很容易使用代数计算出梯度下降的斜率。
- 误差函数平滑连续,这使得梯度下降法很好地发挥作用--没有间断,也没有突然的跳跃。
- 越接近最小值,梯度越小,这意味着,如果我们使用这个函数调节步长,超调的风险就会变得较小。
是否有第四个选项呢?有,你可以构造各种各样的复杂有趣的代价函数。一些函数可能完全行不通,一些函数可能对特定类型的问题起作用,一些能够发挥作用的函数,可能由于额外的复杂度而有点不值得……