# 神经网络的矩阵表达

我们首先给出网络中权重、偏置和激活值的符号定义。

我们用 $$l$$ 来表示神经网络的层数，第一次层是输入的值，最后一层是输出的值。

**权重**：$$w\_{jk}^l$$表示的是从$$(l-1)^{th}$$层的第$$k^{th}$$个神经元到$$l^{th}$$层的第$$j^{th}$$个神经元的链接上的权重。

**偏置**：$$b\_j^l$$表示在$$l^{th}$$层的第$$j^{th}$$个神经元的偏置。

**激活值的输入**：$$z^l\_j$$表示在第$$l^{th}$$的第$$j^{th}$$神经元激活值的输入。也就是

$$
z^l\_j=\displaystyle\sum\_{k}w^l\_{jk} a^{l-1}\_k + b^l\_j
$$

**激活值**：$$a\_j^l$$表示在$$l^{th}$$层的第$$j^{th}$$个神经元的激活值。也就是

$$
a^l\_j=\sigma(z^l\_j)=\sigma(\displaystyle\sum\_{k}w^l\_{jk} a^{l-1}\_k + b^l\_j)
$$

![](https://1770146178-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LAHBpdrwoD-M1bqEq-u%2F-LJnvqZFhMNtSukWIBKF%2F-LJnvzejw8_pZ9yNXv5u%2Fnetwork-definition.png?generation=1534174693075761\&alt=media)

上面的图中 $$a\_3^2 = \sigma(w\_{31}^2 \cdot x\_1 + w\_{32}^2 \cdot x\_2 + w\_{33}^2 \cdot x\_3 + b\_3^2)$$。 也就是

$$
a\_j^l = \sigma(\displaystyle\sum\_{k} w\_{jk}^l \cdot a\_k^{l-1}+ b\_j^l)=\sigma(w\_{j}^l \cdot a^{l-1} + b\_j^l)
$$

其求和是在第$$(l-1)^{th}$$上的所有$$k$$个神经元上进行，其中$$w\_{j}^l$$表示的是第$$(l-1)^{th}$$层到第$$l^{th}$$层的第$$j$$个神经元的权重向量。

我们先将每一层用矩阵表达，假定第$$(l-1)^{th}$$有$$m$$个神经元，第$$l^{th}$$层有$$n$$个神经元，那么从第$$(l-1)^{th}$$到第$$l^{th}$$层的权重个数有$$m \times n$$个，偏置个数有$$n$$个。则：

第$$(l-1)^{th}$$的神经元向量为$$a^{l-1}= \begin{bmatrix} a\_1^{l-1} \ a\_2^{l-1} \ a\_3^{l-1} \ ... \ a\_m^{l-1} \end{bmatrix}$$，第$$l^{th}$$层的神经元向量为$$a^{l}= \begin{bmatrix} a\_1^{l} \ a\_2^{l} \ a\_3^{l} \ ... \ a\_n^{l} \end{bmatrix}$$，

偏置向量为$$b^{l}= \begin{bmatrix} b\_1^{l} \ b\_2^{l} \ b\_3^{l} \ ... \ b\_n^{l} \end{bmatrix}$$，权重矩阵为：$$W^l= \begin{bmatrix} w\_{11} & w\_{12} & w\_{13} & ... & w\_{1m} \ w\_{21} & w\_{22} & w\_{23} & ... & w\_{1m} \ w\_{31} & w\_{12} & w\_{13} & ... & w\_{1m} \ ... \ w\_{n1} & w\_{n2} & w\_{n3} & ... & w\_{nm} \end{bmatrix} = \begin{bmatrix} w\_1^{l} \ w\_2^{l} \ w\_3^{l} \ ... \ w\_n^{l} \end{bmatrix}$$

也就是：

$$
a^{l}= \begin{bmatrix}
a\_1^{l} \\
a\_2^{l} \\
a\_3^{l} \\
... \\
a\_n^{l}
\end{bmatrix}= \begin{bmatrix}
\sigma(w\_1^l \cdot  a^{l-1} + b\_1^l) \\
\sigma(w\_2^l \cdot  a^{l-1} + b\_2^l) \\
\sigma(w\_3^l \cdot  a^{l-1} + b\_3^l) \\
... \\
\sigma(w\_n^l \cdot  a^{l-1} + b\_n^l)
\end{bmatrix}
$$

最后可以得到：

$$
a^l = \sigma(W^l \cdot a^{l-1} + b^l )
$$

这个表达式给出了一个更加全局的思考每层的激活值和前一层激活值的关联方式，我们仅仅用权重矩阵作用在激活值上，然后加上一个偏置向量，最后作用$$\sigma$$函数。
