我知道梯度下降和反向传播算法。我不明白的是:什么时候使用偏见是重要的,你如何使用它?

例如,在映射AND函数时,当我使用两个输入和一个输出时,它不会给出正确的权重。然而,当我使用三个输入(其中一个是偏差)时,它给出了正确的权重。


当前回答

下面是一些进一步的插图,展示了一个简单的2层前馈神经网络在一个双变量回归问题上的结果。权重被随机初始化,并使用标准的ReLU激活。正如我前面的答案所总结的那样,没有偏差,relu网络无法在(0,0)处偏离零。

其他回答

当您使用ann时,您很少了解您想要学习的系统的内部结构。有些东西没有偏见是学不来的。例如,看一下下面的数据:(0,1),(1,1),(2,1),基本上是一个将任何x映射到1的函数。

如果你有一个单层网络(或线性映射),你无法找到解决方案。然而,如果你有偏见,那就无关紧要了!

在理想情况下,偏差还可以将所有点映射到目标点的平均值,并让隐藏的神经元模拟该点的差异。

偏差不是一个神经网络项。这是一个通用的代数术语。

Y = M*X + C(直线方程)

现在如果C(Bias) = 0,那么这条线将始终经过原点,即(0,0),并且只依赖于一个参数,即M,这是斜率,所以我们有更少的东西可以处理。

C,也就是偏置取任意数,都能移动图形,因此能够表示更复杂的情况。

在逻辑回归中,目标的期望值通过链接函数进行转换,以限制其值为单位区间。这样,模型预测可以被视为主要结果概率,如下所示:

Wikipedia上的Sigmoid函数

这是神经网络映射中打开和关闭神经元的最后一个激活层。在这里,偏差也发挥了作用,它灵活地平移曲线,帮助我们绘制模型。

偏见是我们的锚。对我们来说,这是一种设定底线的方式,我们不会低于这个标准。从图的角度来看,y=mx+b就像这个函数的y轴截距。

输出=输入乘以权重值并加上偏置值,然后应用激活函数。

在我的硕士论文中的几个实验中(例如第59页),我发现偏差可能对第一层很重要,但特别是在最后的完全连接层,它似乎没有发挥很大的作用。

这可能高度依赖于网络架构/数据集。

偏差决定了你的体重旋转的角度。

在二维图表中,权重和偏差可以帮助我们找到输出的决策边界。

假设我们需要构建一个AND函数,输入(p)-输出(t)对应该是

{p=[0,0], t=0},{p=[1,0], t=0},{p=[0,1], t=0},{p=[1,1], t=1}

现在我们需要找到一个决策边界,理想的边界应该是:

看到了吗?W垂直于边界。因此,我们说W决定了边界的方向。

但是,第一次找到正确的W是很困难的。大多数情况下,我们随机选择原始W值。因此,第一个边界可能是这样的:

现在边界平行于y轴。

我们要旋转边界。如何?

通过改变W。

因此,我们使用学习规则函数W'=W+P:

W'=W+P等价于W'=W+ bP,而b=1。

因此,通过改变b(bias)的值,就可以决定W’和W之间的夹角,这就是“ANN的学习规则”。

你也可以阅读Martin T. Hagan / Howard B. Demuth / Mark H. Beale的《神经网络设计》,第4章“感知器学习规则”。