【神经网络】神经网络中的矩阵的理解

在《深度学习入门:基于Python的理论与实现》书中,看到讲解矩阵的章节,加深了我对矩阵的理解。

脱离应用理解数学是很难的。将矩阵放在深度学习的环境里可以较好的理解矩阵的含义。

这里假设你已经学过矩阵。

 

1.三层神经网络

对于神经网络,我更倾向于理解为:因素(输入层)、影响因子(权重),结果(输出层),这更贴近实际中的因果关系。

先假设有如下矩阵:

\begin{pmatrix} x1 & x2 \end{pmatrix}\begin{pmatrix} 1 & 2 & 3\\ 4& 5 &6 \end{pmatrix}=\begin{pmatrix} R1 &R2 &R3 \end{pmatrix}

根据矩阵的计算规则,画出模型图,如下:

输入层是 x1 与 x2,可理解为因素,对于每个因素,都有3个权重,组合起来会导致 3个结果。

 

2.理解权重矩阵

权重矩阵的第一行(1,2,3),从图中可以看出是 从 x1 伸出的三条黑线,是 作用于 x1 的所有权重,分别会影响R1、R2、R3。

权重矩阵的第一列(1,4),从图中可以看出是指向 结果R1 的两条输入线,是仅影响 R1 的全部权重。

 

总结一下,权重矩阵也可以这么理解:

权重矩阵的每行对应一个因素。每行的数字是作用于某个因素的所有权重。

权重矩阵的每列对应一个结果。每列的数字是影响某个结果的全部权重。

知道这个,就很容易理解权重矩阵与输入层和输出层元素个数的关系了。

若输入层有2个元素,输出需要有3个元素,那么权重矩阵就必须是 2行3列。2行对应2个输入因素,3列对应3个结果。

 

3.多维输入层

前面讲的矩阵运算,左矩阵是一维矩阵,如果是二维、三维,如何理解呢?

\begin{pmatrix} x1 & x2\\ y1 & y2 \end{pmatrix}\begin{pmatrix} 1 &2 &3 \\ 4 &5 &6 \end{pmatrix}=\begin{pmatrix} R1 &R2 &R3 \\ S1& S2 &S3 \end{pmatrix}

输入层怎么会出现二维呢?会的,如果我们进行批量处理,即处理完(x1,x2)这对因素,我们还要处理(y1,y2)等因素,就可以组合成二维或多维矩阵形式。每一行就代表一个要处理的二元因素。每行因素之间没有任何联系,也互不影响,只是纯粹的计算方便,而摞在一起。

从上面一段话可以看出来,其实每行的数据,是没有任何关联的。上式可理解为下面二式的简略写法。

\begin{pmatrix} x1 & x2\end{pmatrix}\begin{pmatrix} 1 &2 &3 \\ 4 &5 &6 \end{pmatrix}=\begin{pmatrix} R1 &R2 &R3 \end{pmatrix}

\begin{pmatrix} y1 & y2\end{pmatrix}\begin{pmatrix} 1 &2 &3 \\ 4 &5 &6 \end{pmatrix}=\begin{pmatrix} S1 &S2 &S3 \end{pmatrix}

所以,我们可以像前面的结论一样,这么理解多维的输入层矩阵运算:

输入矩阵的每行对应一次运算,各行互不关联、互不影响。

每次只考虑一行,最后将结果摞在一起。

 

最后,个人理解,矩阵纯粹就是人为定义的数据的排列方式而已,矩阵的乘法就是人为定义的计算规则。矩阵就只是个数学大师们发明的趁手的工具,没有任何的自然意义,有点像计算机领域的语法糖。

 

以上仅为个人理解,欢迎指正。

  • 34
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qilei2010

送我一张彩票中了平分

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值