机器学习课的作业,由于latex的公式编辑我很不熟悉,很多公式都没有编辑好,不过先发出来算了。后续我可能还会更新基于卷积神经网络的反向传播算法推导。
- 前馈神经网络的反向传播推导
定义如下记号描述网络:
L L L:神经网络的层数
n l n^{l} nl:表示第 l l l层神经元的个数
f l ( ) f_{l}() fl(): 第 l l l层神经元激活函数
W ( l ) ∈ R n l × n l − 1 W^{\left( l \right)} \in R^{n^{l} \times n^{l - 1}} W(l)∈Rnl×nl−1:表示第 l − 1 l - 1 l−1层到第 l l l层的权重矩阵
b ( l ) ∈ R n l b^{(l)} \in R^{n^{l}} b(l)∈Rnl:表示第 l − 1 l - 1 l−1层到第 l l l层的偏置
z ( l ) ∈ R n l z^{(l)} \in R^{n^{l}} z(l)∈Rnl:表示第 l l l层的神经元状态
a ( l ) ∈ R n l a^{(l)} \in R^{n^{l}} a(l)∈Rnl:表示第 l l l层的神经元活性值
前馈神经网络通过下面公式进行信息传播:
z ( l ) = W ( l ) ∙ a ( l − 1 ) + b ( l ) z^{\left( l \right)} = W^{\left( l \right)} \bullet a^{\left( l - 1 \right)} + b^{\left( l \right)} z(l)=W(l)∙a(l−1)+b(l)
a ( l ) = f l ( z ( l ) ) a^{\left( l \right)} = f_{l}\left( z^{\left( l \right)} \right) a(l)=fl(z(l))
公式也可以写成:
z ( l ) = W ( l ) ⋅ f l ( z ( l − 1 ) ) + b ( l ) z^{\left( l \right)} = W^{\left( l \right)} \cdot f_{l}\left( z^{\left( l - 1 \right)} \right) + b^{\left( l \right)} z(l)=W(l)⋅fl(z(