神经网络训练:从梯度下降到反向传播
1. 神经网络训练概述
神经网络函数 (f_{\theta}(x)) 用于近似目标函数 (g(x)),即 (f_{\theta}(x) \approx g(x))。训练的目标是找到合适的参数 (\theta),使得 (f_{\theta}(x)) 能最佳逼近 (g(x))。我们先介绍用于单层网络的梯度下降(GD)优化算法,再借助反向传播(BP)将其扩展到深度前馈网络。
需要注意的是,神经网络和其训练算法是两个独立的部分。虽然可以用其他方法调整网络权重,但 GD 和 BP 是最常用且高效的方法,也是目前实践中主要使用的方法。
2. 梯度下降(GD)
在这部分,我们使用均方误差(MSE)成本函数来训练简单的神经网络。MSE 用于衡量网络输出和训练数据标签之间的差异(即误差),公式如下:
[J(\theta) = \frac{1}{2n} \sum_{i=1}^{n} (f_{\theta}(x^{(i)}) - t^{(i)})^2]
下面解释公式各部分的含义:
- (f_{\theta}(x^{(i)})):神经网络的输出,其中 (\theta) 是所有网络权重的集合。在本节中,我们用 (\theta_j) 表示单个权重。
- (n):训练集中样本的总数。
- (x^{(i)}):训练样本的向量表示,上标 (i) 表示数据集中的第 (i) 个样本。
- (t^{(i)}):与训练样本 (x^{(i)}) 关联的标签。
实际应用中,有多种类型的成本函数,这里仅以 MSE 为例。
GD 算法的步骤如下:
1.
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



