神经网络与线性回归的梯度下降反向传播

时间:2016-06-28 17:38:04

标签: machine-learning neural-network linear-regression backpropagation gradient-descent

我正在尝试理解“Back Propagation”,因为它在使用Gradient Descent优化的神经网络中使用。阅读文献似乎做了一些事情。

  1. 使用随机权重开始并获取错误值
  2. 使用这些权重对损失函数执行渐变下降以获得新的权重。
  3. 使用这些新权重更新权重,直到损失函数最小化。
  4. 上述步骤似乎是解决线性模型的精确过程(例如回归)? Andrew Ng关于机器学习Coursera的优秀课程完全符合线性回归的要求。

    所以,我试图理解BackPropagation是否在损失函数上做了除梯度下降之外的任何事情..如果没有,为什么它仅在神经网络的情况下引用,为什么不用于GLM(广义线性模型) 。他们似乎都在做同样的事情 - 我可能会缺少什么?

2 个答案:

答案 0 :(得分:3)

主要部门发生隐藏在明显的视线中:线性。实际上,将问题延伸到一阶导数的连续性,并且您将封装大部分差异。

首先,请注意神经网络(NN)的一个基本原理:具有线性权重和线性依赖性的NN GLM。此外,拥有多个隐藏层相当于一个隐藏层:它仍然是从输入到输出的线性组合。

A"现代' NN具有非线性层:ReLU(将负值更改为0),汇集(多个值的最大值,最小值或平均值),丢失(随机删除一些值),以及其他方法破坏我们平滑应用梯度下降(GD)的能力)到模型。相反,我们采用了许多原则并向后工作,逐层应用有限的修正,一直回到第1层的权重。

泡沫,冲洗,重复直至收敛。

这能为你解决问题吗?

你明白了

典型的ReLU

f(x) = x if x > 0,
       0 otherwise

典型的汇集层将输入长度和宽度减少了2倍;在每个2x2平方中,只传递最大值。 Dropout只是简单地删除随机值,使模型重新训练来自"主要来源的权重"。这些都是GD的头疼,所以我们必须逐层进行。

答案 1 :(得分:0)

  

所以,我试图了解BackPropagation是否在损失函数上做了除梯度下降之外的任何事情..如果没有,为什么它只在神经网络的情况下被引用

我认为(至少最初)错误的反向传播意味着少于比你描述的更多:术语“错误的反向传播”仅指计算损失函数的导数的方法,而不是例如documentation,象征性差异,或automatic differentiation。无论当时使用的是什么梯度(例如Gradient Descent,或者Levenberg / Marquardt)。

  

他们似乎都在做同样的事情 - 我可能会缺少什么?

他们使用不同的模型。如果您的神经网络使用线性神经元,它将等同于线性回归。