深度学习基础-线性回归与神经网络中的后向传播计算

线性回归与神经网络中的后向传播计算

本文主要参考花书, 中文翻译deeplearningbook-chinese

线性回归的求导

线性回归的定义

线性回归是将向量 x ∈ R n x \in \Bbb{R}^n xRn 作为输入,预测标量 y ∈ R y \in \Bbb{R} yR 作为输出的线性函数,表示为:
y ^ = w ⊤ x \hat{y}=w^{\top}x y^=wx
y ^ = ∑ i = 1 n w i x i \hat{y}=\sum_{i=1}^nw_ix_i y^=i=1nwixi
其中 y ^ \hat{y} y^为模型预测的 y y y w ∈ R w \in \Bbb{R} wR是参数向量,可以把 w w w理解为 x x x中各元素对 y ^ \hat{y} y^影响的占比,也称权重。

线性回归的优化方法

大多数深度学习算法都涉及某种形式的优化。优化指的是改变 x x x 以最小化或最
大化某个函数 f ( x ) f(x) f(x) 的任务。我们通常以最小化 f ( x ) f(x) f(x) 指代大多数最优化问题。最大
化可经由最小化算法最小化 − f ( x ) −f(x) f(x) 来实现。
我们把要最小化或最大化的函数称为 目标函数(objective function)或 准则
(criterion)。当我们对其进行最小化时,我们也把它称为 代价函数(cost function)、
损失函数(loss function)或 误差函数(error function)。
假设我们有一个函数 y = f ( x ) y = f(x) y=f(x),其中 x x x y y y 是实数。这个函数的 导数(derivative)记为 f ′ ( x ) f'(x) f(x) d y d x \frac {dy}{dx} dxdy。导数 f ′ ( x ) f'(x) f(x) 代表 f ( x ) f(x) f(x) 在点 x x x 处的斜率。换句话说,它表明如何缩放输入的小变化才能在输出获得相应的变化: f ( x + ϵ ) ≈ f ( x ) + ϵ f ′ ( x ) f(x + ϵ) \approx f(x) + \epsilon f'(x) f(x+ϵ)f(x)+ϵf(x)
因此导数对于最小化一个函数很有用,因为它告诉我们如何更改 x x x 来略微地改善 y y y。例如,我们知道对于足够小的 ϵ \epsilon ϵ 来说, f ( x − ϵ s i g n ( f ′ ( x ) ) ) f(x − \epsilon sign(f'(x))) f(xϵsign(f(x))) 是比 f ( x ) f(x) f(x) 小的。因此我们可以将 x x x 往导数的反方向移动一小步来减小 f ( x ) f(x) f(x)。这种技术被称为 梯度下降(gradient descent)(Cauchy, 1847)。
需要注意的是,在这里的 f ( x ) f(x) f(x) x x x 分别是指的损失函数和损失函数的输入项 y ^ \hat{y} y^ ,而使用链式求导求解线性回归时,最终要得到的是损失函数对权重 w w w 的偏导。

线性回归的求导

有了梯度下降法后线性回归的优化就变的简单了,只需要求解目标函数 f ( x ) f(x) f(x) x x x 的偏导 ∇ x f ( x ) \nabla xf(x) xf(x)并使 x x x 减去 ϵ ∇ x f ( x ) \epsilon \nabla xf(x) ϵxf(x) 即可,以常见的损失函数MSE为例:
f ( x ) = ( A x − b ) 2 f(x)=(Ax-b)^2 f(x)=(Axb)2
∇ x f ( x ) = A ⊤ ( A x − b ) = A ⊤ A x − A ⊤ b \nabla xf(x) = A^\top (Ax − b) = A^\top Ax − A^\top b xf(x)=A(Axb)=AAxAb
x ← x − ϵ ∇ x f ( x ) x\leftarrow x - \epsilon \nabla xf(x) xxϵxf(x)

神经网络中的后向传播计算

微积分中的链式法则

链式法则是用于求一个复合函数的导数, 对于一个普通函数 y = f ( x ) = W y=f(x)=W y=f(x)=W, 求导过程
TODO

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值