梯度下降法

先不考虑神经网络、手写数字这些东西。

方法一: C对v求导并令导数为0,通过计算得到极值点的位置。 缺点:不是对每个函数都适用。 本例中参数是二维向量,实际上参数可能非常多,一一求导也不现实。 方法二: 利用C的积分公式:

只要选择正确的Δv\Delta v使得ΔC\Delta C为负,然后调整v,C就会不断变小,最后达到极小值点。 公式(7)又可以写成向量的形式:

根据公式(9)可知,令 其中η\eta是学习率。这样得到的ΔC\Delta C必然为负,这就是我们想到的结果。根据这个规则不断更新,就能达到极小值。

关于学习率η\eta

公式(7)只在一个小范围为有效,所以η\eta不能太大。 η\eta又不能太小,否则学习速度太慢。

关于参数

以上例子是假设v是二维向量,对于多维的情况,公式仍然适用。

变种

梯度下降法有很多变种,其中有一种更接近“物理球滚落的效果”。 作者没有说是变种的名字和过程。根据描述需要求阶导数,我所知道的就是牛顿法和拟牛顿法。 这个变种有很多优点,但有一个致使缺点,就是要求二阶导数,而求二阶导数耗时。

Last updated