单隐层人工神经网络中误差反向传播的数学模型推导
时间: 2024-09-29 07:01:07 浏览: 78
单隐藏层的人工神经网络(Artificial Neural Network, ANN)中的误差反向传播算法是一种训练多输入、多输出神经网络的重要方法。它基于梯度下降优化器,目标是通过调整权重参数来最小化预测值与真实值之间的损失函数。
假设我们有一个简单的网络结构,包括输入层、一个隐藏层和输出层。隐藏层通常使用sigmoid激活函数(如f(x) = 1 / (1 + e^(-x)))。对于一个样本,其输入x、权重w和偏置b计算出隐藏层的输出z和输出层的预测y:
- 隐藏层:z = w1 * x1 + w2 * x2 + ... + wb * xb
- 输出层:y = σ(z) = 1 / (1 + e^-z)
其中,σ表示sigmoid函数。
损失函数通常是均方误差(Mean Squared Error, MSE),L = 0.5 * Σ(y_i - y'^i)^2,y'^i是预测值,yi是实际值。
误差反向传播的主要步骤如下:
1. **前向传播**:计算每个节点的输出,以及整个网络的损失。
2. **初始化梯度**:所有权重的初始梯度设置为零。
3. **计算误差梯度**:从输出层开始,使用链式法则找出每个权重对总损失的贡献,得到δ^o(output error)。
4. **更新权重**:对于隐藏层到输出层的权重,更新公式为 dwij = -η * δ^o * hi。对于输入层到隐藏层的权重,更新为 dwij = -η * δ^h * xi,这里δ^h是对隐藏层的误差,η是学习率。
5. **重复**:将权重更新应用于所有样本,然后回到第一步,直到满足停止条件(如达到预定轮数或损失减小阈值)。
阅读全文