神经网络之权重矩阵

神经网络的权重矩阵有两种形式:

一、包含偏置b的: A = XW (A = WX)
其中,每一层的偏置b作为一行(一列)直接加入权重矩阵W中
至于具体是作为行还是列加入,取决于矩阵乘法XW还是WX
当W包含偏置b时,需要在输入层添加一列,该列的值 = 1
二、不包含偏置b的:A = XW + B
其中,先运算XW,然后再运算偏置B矩阵
B = (b1,b2,b3…)

参考文献1:矩阵数组相乘与神经网络的实现
参考文献2:神经网络–bias
参考文献3:权重矩阵的构建(包含偏置)

注:
参考文献3中这样描述: 初始话权重,现在来解决刚才说的对于2层网络[2,2,1]为什么输入层与隐藏层的权重矩阵是3x3而不是2x2…如果你有留心的话,你会发现隐藏层的偏置并没有设置。但在代码中给X多插了一列 并赋值均为1,那么在下面训练中,a[0]即输入层为1x3矩阵,那么经过3x3权重矩阵,就好像给隐藏层加了一个单元(神经单元),这个单元可以理解为偏置!!!

这里个人感觉,a[0]层1×3没问题,但隐藏层的3×3是不是应该改成3×2呢??存疑。。。
应该是每一层的输入都多加一列1,然后相应的权重矩阵多加一行,而不是行列都多加一次吧。。。。

当然,权重矩阵和偏置矩阵的构建形式是多种多样的,也不一定仅仅局限于主流的构建方法,每个人的理解不一样,就会构建不同的矩阵形式。

神经网络之权重矩阵_第1张图片

神经网络之权重矩阵_第2张图片

你可能感兴趣的:(权重矩阵,偏置,神经网络,深度学习)