machine-learning - 反向传播的阈值

标签 machine-learning threshold backpropagation

反向传播算法中阈值的用途是什么。我写了一个用于类标签识别的java代码。我对神经元使用了一些随机阈值 (0-1)。我训练了系统并使用一些数据进行了测试。它运行得很好。但是使用或不使用阈值该算法有何不同?

最佳答案

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

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

偏差不应该像您建议的那样用作常量,而应该像网络中的任何其他参数一样进行训练。通常,人们只需添加一个始终等于 1 的假设“偏差神经元”,因此偏差就变成了另一个权重

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

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

关于machine-learning - 反向传播的阈值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31227533/

相关文章:

python - sklearn、python 中的网格搜索技术

scikit-learn - Scikit - 更改阈值以创建多个混淆矩阵

image-processing - 检测圆并测量像素

java - 神经网络和大数据集

java - Elasticsearch:从点击中学习(搜索结果排名)

python - 如何在 PyTorch 中使用具有焦点损失的类权重用于多类分类的不平衡数据集

c++ - openCV AdaptiveThreshold 与 Otsu 阈值。投资返回率

python - 2个隐藏层神经网络的维度不相关

machine-learning - 神经网络梯度下降中的反向传播与线性回归

language-agnostic - 从句子中提取 'useful'信息?