从零开始实现多层人工神经网络:手写数字分类实战
1. 前向传播激活神经网络
1.1 MLP学习流程概述
MLP(多层感知器)的学习过程可概括为以下三个步骤:
1. 前向传播 :从输入层开始,将训练数据的模式通过网络进行前向传播,生成输出。
2. 计算误差 :基于网络的输出,使用代价函数计算需要最小化的误差。
3. 反向传播 :将误差进行反向传播,求出其相对于网络中每个权重的导数,并更新模型。
重复上述三个步骤多个周期,学习MLP的权重后,使用前向传播计算网络输出,并应用阈值函数获得独热表示的预测类别标签。
1.2 前向传播的具体步骤
每个隐藏层单元都与输入层的所有单元相连,首先计算隐藏层的激活单元 $a_1^{(h)}$:
[
z_1^{(h)} = a_0^{(in)}w_{0,1}^{(h)} + a_1^{(in)}w_{1,1}^{(h)} + \cdots + a_m^{(in)}w_{m,1}^{(h)}
]
[
a_1^{(h)} = \phi(z_1^{(h)})
]
其中,$z_1^{(h)}$ 是净输入,$\phi(\cdot)$ 是激活函数,为了使用基于梯度的方法学习连接神经元的权重,激活函数必须是可微的。为了解决图像分类等复杂问题,MLP模型需要使用非线性激活函数,例如 sigmoid(逻辑)激活函数:
[
\phi(z) = \frac{1}{1 + e^{-z}}
]
超级会员免费看
订阅专栏 解锁全文
7

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



