Nguyen-Widrow初始化中的偏置单元

时间:2013-12-31 12:50:52

标签: neural-network

我正在尝试使用Nguyen-Widrow算法对神经网络进行编码以进行权重初始化。我对此事感到很困惑。

Nguyen-Widrow算法说我们首先计算Beta值,如:

  

Beta = 0.7 *(p ^(1 / n)))

使用:

  

p =隐藏单位数

     

n =输入单位数

我们是否还需要计算 n p 的偏差节点?我的意思是如果总隐藏节点(没有偏置节点)是5那么p的值应该是6,这是正确的吗?或者它仍然是5?

谢谢

2 个答案:

答案 0 :(得分:1)

偏差被视为任何其他输入,唯一的区别是它的值保持不变。它自己的bias has a weight将随着学习算法而改变,并且也应该包含在初始化算法中。

例如,请查看MATLAB's documentation

  

initnw是一个层初始化函数,它根据Nguyen-Widrow初始化算法初始化图层的权重和偏差。该算法选择值以便在层中的每个神经元的活动区域大致均匀地分布在层的输入空间上。这些值包含一定程度的随机性,因此每次调用此函数时它们都不相同。

<强>答案

n 的偏差计算:图层的输入数量

p 的偏见不会计算:图层中的节点数

注意

您可能还想查看类似的问题:

Weight Initialisation

Neural Network Initialization - Nguyen Widrow Implementation?

答案 1 :(得分:0)

首先,人工神经网络中没有偏置节点(单元)。每个节点(单元)都有偏置输入和其他输入。因此,隐藏单位(p)的数量是不变的,在您的示例中始终为5.

添加偏见时可能会改变的是输入数量(n),我在一些文章和教科书中搜索过,没有人解释过它。但是从例子中我认为你不应该将偏见视为输入单位。因此,如果您有4个输入节点和偏置,则n将为4。