Mxnet (26): 梯度下降(GD&SGD)
这里我们介绍梯度下降的基本概念。尽管很少实际中很少用到,但是了解梯度下降有益于理解随机梯度下降算法的关键。例如,由于学习率过高,优化问题可能会有所不同,这在梯度下降中也会出现。同样预处理是梯度下降中的常用技术。我们先从简单的入手。 1 一维梯度下降 一维梯度下降是一个很好的例子,可以用于理解梯度下降算法如何减小目标函数的值。对于连续可微的实值函数 f : R → R f: \mathbb{R} \rightarrow \mathbb{R} f : R → R 。使用泰勒展开公式: f ( x + ϵ ) = f ( x ) + ϵ f ′ ( x ) + O ( ϵ 2 ) f(x + \epsilon) = f(x) + \epsilon f'(x) + \mathcal{O}(\epsilon^2) f ( x + ϵ ) = f ( x ) + ϵ f ′ ( x ) + O ( ϵ 2 ) 也就是说, f ( x + ϵ ) f(x+\epsilon) f ( x + ϵ ) 近似为 f ( x ) f(x) f ( x ) 以及在 x x x 处的一阶导数 f ′ ( x ) f'(x) f ′ ( x ) 之和。假设 ϵ \epsilon ϵ 向梯度相反移动将会减少 f f f 是合理的。为了简化,我们选择固定步长 η > 0 \eta > 0 η > 0 以及 ϵ =