反向传播的阈值

时间:2015-07-05 05:52:41

标签: machine-learning threshold backpropagation

反向传播算法中阈值的用途是什么?我写了一个用于类标签识别的java代码。我为神经元使用了一些随机阈值(0-1)。我训练了系统并使用一些数据进行了测试。它工作得非常好。但是算法在使用或不使用阈值时会产生什么差异。

1 个答案:

答案 0 :(得分:2)

你所谓的“阈值”实际上是由神经元表示的仿射变换的偏差

f(w,x,b) = g(<w,x>+b)

偏差不应该像你建议的那样用作常数,而应该像网络中的任何其他参数一样训练。通常只需添加一个假设的“偏向神经元”,总是等于1,因此偏见只是另一个重量

f(w,x,b) = g(<[w b], [x 1]>)

为什么有偏见很重要?通常没有偏置装置,在神经元中训练的“过滤器”(特征检测器)必须通过原点。您可以将每个神经元视为输入空间中的超平面,围绕该超平面“折叠”空间,使您的数据变得更加可分离。如果你没有偏见 - 所有这些超平面都在原点附近。如果将它们固定为常量 - 则可以确定它们与原点的距离。最后,如果你训练它们 - 算法可以自由地将它们放在输入空间(期望的行为)。