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

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


当前回答

简单来说,如果你有y=w1*x,其中y是你的输出,w1是权重,想象一个条件,x=0,那么y=w1*x等于0。

如果你想要更新你的权重,你必须计算delw=target-y的变化量,其中target是你的目标输出。在这种情况下,'delw'将不会改变,因为y被计算为0。所以,假设你可以添加一些额外的值,这将有助于y = w1x + w01,其中偏差=1,权重可以调整以获得正确的偏差。考虑下面的例子。

就直线斜率而言,截距是线性方程的一种特殊形式。

Y = mx + b

检查图像

图像

这里b是(0,2)

如果你想把它增加到(0,3)你怎么通过改变b的值来实现呢?

其他回答

在神经网络中:

每个神经元都有一个偏向 您可以将偏差视为阈值(通常是阈值的相反值) 输入层的加权和+偏置决定神经元的激活 偏差增加了模型的灵活性。

在没有偏差的情况下,仅考虑来自输入层的加权和可能不会激活神经元。如果神经元没有被激活,来自该神经元的信息就不会通过神经网络的其余部分传递。

偏见的价值是可以学习的。

实际上,bias = - threshold。你可以把偏差想象成让神经元输出1有多容易,如果偏差很大,神经元输出1很容易,但如果偏差很大,就很难了。

总而言之:偏置有助于控制激活函数的触发值。

观看这段视频了解更多细节。

一些更有用的链接:

Geeksforgeeks

走向数据科学

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

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

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

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

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

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

一个更简单的理解偏差的方法是:它在某种程度上类似于线性函数的常数b

y = ax + b

它允许你上下移动这条线,以便更好地将预测与数据相匹配。

如果没有b,直线总是经过原点(0,0)你可能会得到一个较差的拟合。