梯度检测
- 什么是梯度检测:
在神经网络或其他复杂的模型下使用前向传播,反向传播时,如果使用梯度下降来寻找参数,那么使用梯度检测会100%地消除梯度下降过程中产生的bug。 - 一个例子:假设有一个代价函数J(Θ)
在横轴上取一点θ(θ∈R),则这一点的导数对应于图像上在该点的切线斜率👇。
计算该点切线的斜率,可以做一个近似,即:
在θ附近分别取点 θ+ε 和 θ-ε(易知ε为很小的值),两点在曲线上表现为 (θ+ε,J(θ+ε))和(θ-ε,J(θ-ε)),两点的割线斜率即可近似为θ点在曲线上的切线斜率。——双侧差分
双侧差分会比单侧差分得到更准确地值。 - 在Octave中双侧差分的近似实现:
- 考虑更普遍的情况,参数θ为向量参数的时候: