Java sigmoid的单神经元delta规则收敛

Java sigmoid的单神经元delta规则收敛,java,machine-learning,neural-network,Java,Machine Learning,Neural Network,我正在用和示例尝试增量规则学习,我注意到当我在权重校正中应用而不是sigmoid激活的导数时,学习收敛得更快更好 我正在使用偏倚神经元 如果我理解正确,△规则< /强>应考虑激活函数的权重调整:ΔWk(n)=△∗ 原因很简单。您可以最小化不同的成本函数。在你的情况下(从幻灯片上),你将误差平方最小化。如果您使用我在这里的推导中描述的形式的成本函数(交叉熵),您将获得工作更快的权重更新。通常在分类问题中(通常使用乙状体神经元进行二元分类),平方误差并不是一个好的代价函数 如果使用交叉熵,则需要使用

我正在用示例尝试增量规则学习,我注意到当我在权重校正中应用而不是sigmoid激活的导数时,学习收敛得更快更好

我正在使用偏倚神经元


如果我理解正确,<强>△规则< /强>应考虑激活函数的权重调整:ΔWk(n)=△∗ 原因很简单。您可以最小化不同的成本函数。在你的情况下(从幻灯片上),你将误差平方最小化。如果您使用我在这里的推导中描述的形式的成本函数(交叉熵),您将获得工作更快的权重更新。通常在分类问题中(通常使用乙状体神经元进行二元分类),平方误差并不是一个好的代价函数

如果使用交叉熵,则需要使用
learningRate*error*输入(根据您定义错误的方式,使用右符号)

作为旁注,你实际上在做的是逻辑回归


希望有帮助。如果你需要更多的信息,请告诉我。检查我的链接,我在这里对其背后的数学进行了完整的推导。

谢谢您的解释,您能在更新的问题中澄清一些事情吗?回答您的问题:事故实验,其中delta=learningRate*error*input,实际上是有效的,因为它最小化了交叉熵成本函数:对第二个问题:通常使用MSE进行回归。例如,请检查此链接: