我知道梯度下降和反向传播算法。我不明白的是:什么时候使用偏见是重要的,你如何使用它?
例如,在映射AND函数时,当我使用两个输入和一个输出时,它不会给出正确的权重。然而,当我使用三个输入(其中一个是偏差)时,它给出了正确的权重。
我知道梯度下降和反向传播算法。我不明白的是:什么时候使用偏见是重要的,你如何使用它?
例如,在映射AND函数时,当我使用两个输入和一个输出时,它不会给出正确的权重。然而,当我使用三个输入(其中一个是偏差)时,它给出了正确的权重。
当前回答
我认为偏见几乎总是有益的。实际上,偏差值允许您将激活函数向左或向右移动,这可能对成功学习至关重要。
看一个简单的例子可能会有所帮助。考虑这个无偏差的1输入1输出网络:
网络的输出是通过将输入(x)乘以权重(w0)并将结果传递给某种激活函数(例如sigmoid函数)来计算的。
下面是这个网络计算的函数,对于不同的w0值:
改变权重w0本质上改变了s型曲线的“陡度”。这很有用,但是如果你想让x = 2时网络输出0呢?仅仅改变s型曲线的陡度是行不通的——你希望能够将整条曲线向右平移。
这正是偏差允许你做的。如果我们给这个网络加上一个偏差,像这样:
...然后网络的输出变成sig(w0*x + w1*1.0)。下面是不同w1值的网络输出:
如果w1的权值为-5,曲线就会向右平移,这样当x = 2时,网络的输出就会为0。
其他回答
偏差决定了你的体重旋转的角度。
在二维图表中,权重和偏差可以帮助我们找到输出的决策边界。
假设我们需要构建一个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章“感知器学习规则”。
简单来说,偏差允许学习/存储越来越多的权重变化……(注:有时给出一些阈值)。无论如何,更多的变化意味着偏差为模型的学习/存储权重添加了更丰富的输入空间表示。(更好的权重可以增强神经网络的猜测能力)
例如,在学习模型中,假设/猜测在给定输入的情况下被y=0或y=1所限制,可能是在某个分类任务中……例如,对于某些x=(1,1),有些y=0,对于某些x=(0,1),有些y=1。(假设/结果的条件是我上面谈到的阈值。注意,我的示例设置输入X为每个X =一个双值或2值向量,而不是Nate的某个集合X的单值X输入)。
如果我们忽略偏差,许多输入可能最终由许多相同的权重表示(即学习的权重大多出现在原点附近(0,0)。 这样,模型就会被限制在较差的好权重上,而不是在有偏差的情况下更好地学习更多的好权重。(学习不好的权重会导致更差的猜测或神经网络的猜测能力下降)
因此,模型既要在靠近原点的地方学习,又要在阈值/决策边界内尽可能多的地方学习,这是最优的。有了偏差,我们可以使自由度接近原点,但不限于原点的直接区域。
在我研究的所有ML书籍中,W总是被定义为两个神经元之间的连通性指数,这意味着两个神经元之间的连通性更高。
放电神经元向目标神经元或Y = w * X传递的信号越强,为了保持神经元的生物学特性,我们需要保持1 >= w >= -1,但在实际回归中,w最终会变成| w | >=1,这与神经元的工作方式相矛盾。
因此,我提出W = cos(theta),而1 >= |cos(theta)|, Y= a * X = W * X + b而a = b + W = b + cos(theta), b是一个整数。
下面是一些进一步的插图,展示了一个简单的2层前馈神经网络在一个双变量回归问题上的结果。权重被随机初始化,并使用标准的ReLU激活。正如我前面的答案所总结的那样,没有偏差,relu网络无法在(0,0)处偏离零。
在神经网络中:
每个神经元都有一个偏向 您可以将偏差视为阈值(通常是阈值的相反值) 输入层的加权和+偏置决定神经元的激活 偏差增加了模型的灵活性。
在没有偏差的情况下,仅考虑来自输入层的加权和可能不会激活神经元。如果神经元没有被激活,来自该神经元的信息就不会通过神经网络的其余部分传递。
偏见的价值是可以学习的。
实际上,bias = - threshold。你可以把偏差想象成让神经元输出1有多容易,如果偏差很大,神经元输出1很容易,但如果偏差很大,就很难了。
总而言之:偏置有助于控制激活函数的触发值。
观看这段视频了解更多细节。
一些更有用的链接:
Geeksforgeeks
走向数据科学