线性回归

概念:线性关系来描述输入到输出的映射关系

一个线性回归方程

深度学习如何做到串行 深度串联_线性回归

优化方法:梯度下降

深度学习如何做到串行 深度串联_深度学习如何做到串行_02


梯度的计算:

深度学习如何做到串行 深度串联_深度学习_03


参数更新:

深度学习如何做到串行 深度串联_深度学习_04

非线性激励

深度学习如何做到串行 深度串联_深度学习如何做到串行_05


考量标准:

  • 正向对输入的调整
  • 反向梯度损失

常见非线性激励函数-sigmoid

深度学习如何做到串行 深度串联_python_06


优点:将数据映射到[0,1]

深度学习如何做到串行 深度串联_深度学习如何做到串行_07


缺点:梯度下降非常明显,至少损失75%

y(x)求导如下所示,该导数函数是一条抛物线,最大值为0.25

深度学习如何做到串行 深度串联_python_08

复合函数导数=内函数导数×外函数导数

常见非线性激励函数-tanh

深度学习如何做到串行 深度串联_神经网络_09


优点:将输入数据映射到[-1,1]

深度学习如何做到串行 深度串联_python_10


缺点:梯度损失明显(所以在最后一层使用)

注意:梯度没有损失时,即外函数导数等于1时,f(x)=0

深度学习如何做到串行 深度串联_线性回归_11

常见非线性激励函数-ReLU(Rectified Linear Unit)

深度学习如何做到串行 深度串联_python_12


正向截断负值,损失大量特征

深度学习如何做到串行 深度串联_神经网络_13


反向梯度没有损失

深度学习如何做到串行 深度串联_深度学习如何做到串行_14

常见非线性激励函数-Leaky ReLU

深度学习如何做到串行 深度串联_神经网络_15


可以保留更多参数,少量梯度反向传播

深度学习如何做到串行 深度串联_神经网络_16


深度学习如何做到串行 深度串联_神经网络_17

神经元——神经网络

深度学习如何做到串行 深度串联_神经网络_18

有线性回归网络吗?
答:没有。线性参数都可以用矩阵表示,几个矩阵相乘后就是一个矩阵,意味着线性网络其实就只是一层网络。

神经网络的构建

神经网络的并联和串联

从第一层神经网络到最终输出,每一个神经元的数值由前一层神经元数值神经元参数W、b以及激励函数共同决定。第n+1层第k个神经元的方程可由公式表示为:

深度学习如何做到串行 深度串联_线性回归_19


深度学习如何做到串行 深度串联_python_20

  • m表示第n层神经网络的宽度,n为当前神经网络的深度

神经网络的配件

损失函数-Loss

  • 影响深度学习性能最重要的因素之一,是外部世界对神经网络模型训练的直接指导。
  • 合适的损失函数能够确保深度学习模型收敛
  • 设计合适的损失函数是研究工作的主要内容之一

学习率

深度学习如何做到串行 深度串联_python_21

  • 数值大:收敛速度快
  • 数值小:精度高

动量

过拟合

深度学习如何做到串行 深度串联_深度学习如何做到串行_22