我刚刚完成了对线性和逻辑回归函数及其优化的概念研究,为神经网络做准备。
例如,假设我们正在使用逻辑回归执行二元分类,让我们定义变量:
- 包含所有输入的向量。
- 包含所有输出的向量。
- 偏差权重变量。
- 包含所有权重变量的向量。
- 所有权重变量的总和。
- 逻辑激活函数(sigmoid),表示条件概率将是 1 给定的观察值.
- 二元交叉熵损失函数(伯努利随机变量的 Kullback-Leibler 散度加上表示概率的激活函数的熵)
是多维函数,所以必须用偏导数来微分,即:
然后,链式法则给出:
经过几次计算,损失函数的导数为:
所以我们得到了损失函数的导数,所有的权重都用梯度下降分别训练。
反向传播与此有什么关系?更准确地说,当我们可以简单地插入变量并计算每一步的梯度时,自动微分的意义何在,对吗?
简而言之
我们已经计算了导数,那么当我们可以插入变量时,在每一步计算它们有什么意义呢?
反向传播只是在每次迭代中优化权重的花哨术语吗?