使用反向传播算法和梯度下降算法调整神经
网络中参数的取值。
1.神经网络优化过程
神经网络的优化过程分为两个阶段
1.1第一阶段:
先通过前向传播算法计算得到预测值,并将预测值和真实值做对比得出两者之间的差距。
1.2第二阶段:
通过反向传播算法计算损失函数对每一个参数的梯度,再根据梯度和学习率使用梯度下降算法更新每一个参数。
2.梯度下降算法
2.1.梯度下降算法
主要用于优化单个参数的取值,
损失函数J(theta)公式如下:
\theta_{n+1}=\theta_n -\eta\frac{\delta}{\delta\theta_n}J(\theta_n)
eta是学习率
缺点
- 受初始值的设定的影响,不一定能达到全局最优。
- 计算全部数据的损失,计算时间太长。
2.2随机梯度下降
在每一轮迭代中随机优化某一条训练数据上的损失函数。
缺点
某一条训练数据上的更小,不能代表在全部数据上损失函数更小。甚至无法达到局部最优。
折中的方法是每次使用有个batch
3.反向传播算法
给出了一个高效的方式在所有参数上使用梯度下降算法,从而使得神经网络模型在训练数据上的损失函数尽可能小。反向传播算法是训练神经网络的核心算法。