Week 3: 深度学习补遗:反向传播与逻辑回归

Week 3: 深度学习补遗:反向传播与逻辑回归

摘要

本周内容主要围绕深度学习的数学本质、激活函数、前向传播与反向传播展开。介绍了深度学习的数学本质,介绍引入非线性激活函数对模型表达能力的重要性。通过矩阵形式描述了神经网络的前向传播过程,展示了多层网络的计算结构。详细推导了反向传播算法,阐明了梯度计算和参数更新的数学原理。最后,结合线性代数矩阵表示,系统总结了神经网络训练的整体流程,阐述了梯度下降法及其在多层网络中的的形态。

Abstract

This week’s content primarily revolves around the mathematical essence of deep learning, activation functions, forward propagation, and backpropagation. It introduces the mathematical essence of deep learning and highlights the importance of introducing nonlinear activation functions to enhance the model’s expressive power. The forward propagation process of neural networks is described in matrix form, illustrating the computational structure of multi-layer networks. The backpropagation algorithm is derived in detail, elucidating the mathematical principles of gradient computation and parameter updating. Finally, combined with linear algebra matrix representation, the overall process of neural network training is systematically summarized, and the gradient descent method and its forms in multi-layer networks are elaborated.

1 深度学习

1.1 数学本质

深度学习的本质实际上还是基本的数学运算的叠加。借用李宏毅老师的例子:期望对视频浏览量进行预测,假设有当日浏览量输入 x x x第二天浏览量作为目标输出 y y y,希望有一个函数 f ( x ) f(x) f(x)对其的关系进行拟合。可以假设其关系是线性的。
y = w x + b \begin{equation} y=wx+b \end{equation} y=wx+b
就可以尝试用线性回归的方法求得 w w w b b b的估计值。但线性的关系对于实际问题往往太过简单,而线性关系的组合仍然是线性的关系,就要考虑给其引入非线性。

1.2 激活函数

S i g m o i d Sigmoid Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质, S i g m o i d Sigmoid Sigmoid函数常被用作神经网络的激活函数,变量映射到 [ 0 , 1 ] [0,1] [0,1]之间。
σ ( x ) = 1 1 + e − x \sigma(x) = \frac {1} {1+e^{-x}} σ(x)=1+ex1
其导数为 σ ′ ( x ) = e − x ( 1 + e − x ) 2 = σ ( x ) ( 1 − σ ( x ) ) \sigma'(x)=\frac{e^{-x}}{(1+e^{-x})^2}=\sigma(x)(1-\sigma(x)) σ(x)=(1+ex)2ex=σ(x)(1σ(x))

Sigmoid函数图像

因此, y y y x x x之间的关系可以改写为 y = c S i g m o i d ( w x + b ) y=cSigmoid(wx+b) y=cSigmoid(wx+b),通过 c c c w w w b b b的更改来调整 S i g m o i d Sigmoid Sigmoid函数的形状,并通过多段 S i g m o i d Sigmoid Sigmoid的组合拟合原函数。通过使用激活函数 S i g m o i d Sigmoid Sigmoid引入非线性,使神经网络能建模复杂的关系。

1.3 矩阵表示与前向传播

有时输入并不是单特征,我们将输入 x x x看做是一个输入向量 x = [ x 1 x 2 . . . x n ] \mathbf{x}=\begin{bmatrix} x_1 \\ x_2 \\ ... \\ x_n \end{bmatrix} x= x1x2...xn ,就可以把其转化为线性代数中的矩阵运算。 z = ∑ i = 1 n w i x i + b = w T x + b z = \sum_{i=1}^n w_i x_i + b = \mathbf{w}^T \mathbf{x} + b z=i=1nwixi+b=wTx+b为各特征的加权和,经过激活函数 S i g m o i d Sigmoid Sigmoid,得到 f ( x ) = S i g m i o d ( x ) = S i g m o i d ( ∑ i = 1 n w i x i + b ) f(\mathbf{x})=Sigmiod(\mathbf{x})=Sigmoid(\sum_{i=1}^n w_i x_i + b) f(x)=Sigmiod(x)=Sigmoid(i=1nwixi+b),这样就完成了一次前向传播。

一个简单的带三层隐藏层的神经网络可以用如下图表示。

Hidden Layer 3
Hidden Layer 2
Hidden Layer 1
Input Layer
w_11=1
w_12=-2
w_21=-1
w_22=1
h_31
h_32
h_21
h_22
h_11 = 4, b_1 = 1
h_12 = -2, b_2 = 0
x_1 = 1
x_2 = -1
y_1
y_2

输入层到隐藏层1的数学计算可以表示为:

[ 1 − 2 − 1 1 ] [ 1 − 1 ] + [ 1 0 ] = [ 4 − 2 ] \begin{bmatrix} 1 & -2\\ -1 & 1\\ \end{bmatrix} \begin{bmatrix} 1 \\ -1 \\ \end{bmatrix} + \begin{bmatrix} 1 \\ 0 \\ \end{bmatrix}= \begin{bmatrix} 4 \\ -2 \\ \end{bmatrix} [1121][11]+[10]=[42]
其中, [ 1 − 2 − 1 1 ] \begin{bmatrix} 1 & -2 \\ -1 & 1 \end{bmatrix} [1121]的第一行是第一个神经元的权重、第二行是第二个神经元的权重, [ 1 0 ] \begin{bmatrix} 1 \\ 0 \end{bmatrix} [10]为偏差值Bias,而 [ 1 − 1 ] \begin{bmatrix} 1 \\ -1 \end{bmatrix} [11]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值