【问题标题】:Bias unit in the Nguyen-Widrow initializationNguyen-Widrow 初始化中的偏置单元
【发布时间】:2016-06-28 03:38:13
【问题描述】:

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

Nguyen-Widrow 算法表示,首先我们计算 Beta 值,如下所示:

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

与:

p = 隐藏单元的数量

n = 输入单元数

我们还需要计算 np 的偏置节点吗?我的意思是如果总隐藏节点(没有偏置节点)是 5,那么 p 的值应该是 6,对吗?还是还是 5?

谢谢

【问题讨论】:

    标签: neural-network


    【解决方案1】:

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

    例如,看看MATLAB's documentation

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


    回答

    偏差计入n:层的输入数

    偏差不会计入p:层中的节点数


    注意

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

    Weight Initialisation

    Neural Network Initialization - Nguyen Widrow Implementation?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-28
        • 1970-01-01
        • 2018-12-14
        • 2018-02-12
        • 2016-12-24
        • 2017-11-24
        相关资源
        最近更新 更多