具有离散输出的反向传播神经网络

时间:2011-06-23 07:22:26

标签: neural-network backpropagation

我正在使用三层反向传播网络的xor示例。当输出层具有sigmoid激活时,(1,0)的输入可能为期望的1输出提供0.99,而(1,1)的输入可能为期望的0输出提供0.01。

但是如果希望输出是离散的,无论是0还是1,我只需将阈值设置在0.5之间?这个阈值是否需要像任何其他重量一样进行训练?

2 个答案:

答案 0 :(得分:1)

那么,你当然可以在输出神经元之后设置一个阈值,它使0.5之后的值为1,反之亦然,所有低于0.5的输出为零。我建议不要使用离散阈值隐藏连续输出,因为0.4的输出比0.001的值小“零”,这种差异可以为您提供有关数据的有用信息。

答案 1 :(得分:0)

没有门槛的训练,即。通过使用神经元网络输出的内容来计算示例中的错误,而无需对其进行阈值处理。

另一个小细节:你使用传递函数,如sigmoid? sigmoid函数返回[0,1]中的值,但0和1是渐近线即ie。 sigmoid函数可以接近这些值但从未到达它们。这样做的结果是您的神经网络无法准确输出0或1!因此,使用S形时间稍高于1的因子可以纠正这一点。这里讨论了反向传播的这个和其他一些实际方面http://yann.lecun.com/exdb/publis/pdf/lecun-98b.pdf