不了解lrCostFunction.m中“ grad”的需要

时间:2019-01-09 23:13:40

标签: neural-network octave

在Octave中为 Coursera中的机器学习(神经网络) ex3 ”课程的 lrCostFunction.m 编码。我不明白为什么我们需要获得“ grad ”。有人知道吗? 提前谢谢

1 个答案:

答案 0 :(得分:1)

等级是指成本函数的“等级”。

您的目标是最小化成本函数。为了做到这一点,大多数优化算法还需要知道在每个点处给出其梯度的等式,以便他们可以使用它来沿一个方向移动下一个搜索,从而使成本函数更有可能处于较低的值。

具体来说,由于将某个点处的梯度定义为基础函数中“ increase ”的最大速率的方向,因此,优化算法通常会使用当前点,并在<与梯度指示的方向相反。

无论如何,由于您要使用抽象优化算法来优化参数,以便通过在每个步骤中利用其梯度来最小化成本函数,因此您需要向算法提供所有这些输入。因此,为什么需要在每个点上计算“等级”值以及成本函数本身的值。