当神经网络预测结果不准确时,如何调整让网络变得准确呢? 这个调整自身然后让自己预测更加准确的过程就是学习
我们知道,预测的是否准确是又W和b来决定的,所以神经网络学习的目的就是找到合适的W和b。通过一个叫做梯度下降的算法可以达到这个目的。
梯度下降算法: 一步步地改变w与b的值,新的w与b会使得损失函数的输出结果更小,即一步一步让预测更加精准。 我们所谓的训练神经网络其实就是找到一组w与b,使得这个损失函数最小,即预测结果更精准。
工作原理: 我们先假设损失函数J只有一个参数W,并假设W只是一个实数(实际上W是一个向量/一组实数)。 然后通过下面公式改变W的值。
新的W等于旧的W减去学习率r与偏导数dw的乘积。
r学习率,又称learning rate。控制W变化快慢,试想若r大,减去的数值大,那么w就变化得快。选择一个适合的r非常重要,不然控制不好w改变的步伐,可能永远找不到损失函数的最小值处。
dw及J(损失函数)的变化与w的变化的比例。按照这个比例去使w越来越小那么相对应的J也会越来越小,最终找到J(损失函数)最小的时候w的值是多少。在最低点另一边,dw(斜率)为负数,w变大,那么J变小,最终还是会移动到J的最小值处。