多层神经网络将无法预测

问题描述:

我已经实现多层感知器来预测输入矢量的罪负值。向量由随机选择的4个-1,0,1组成,并且偏置设置为1.网络应该预测向量内容的和的罪。多层神经网络将无法预测

例如输入= < 0,1,-1,0,1>输出= SIN(0 + 1 +( - 1)+ 0 + 1)

我遇到的问题是,网络将从来没有预测到一个负值,许多矢量的罪恶值都是负值。它可以完美地预测所有正或零输出。我假设更新权重时出现问题,这些权重在每个时期后都会更新。有没有人遇到过NN的这个问题?任何帮助都会很棒!

注意:网络有5个输入,1个隐藏层中的6个隐藏单元和1个输出。我在激活隐藏层和输出层使用了sigmoid函数,并且尝试了大量的学习率(当前为0.1)。

作为自我看着多层感知因此籍此与一粒盐很长时间。

我会重新调整你的问题域的[0,1]域,而不是[-1,1]。如果你看一看物流功能图:

enter image description here

它在[0,1]之间产生的值。我不指望它会产生负面结果。我可能是错的,艰难。

编辑

您可以将逻辑函数实际上延伸到你的问题域。使用generalized logistic curve将A和K参数设置为域的边界。

另一种选择是双曲正切,它从[-1,+ 1]变为并且没有常数成立。

+0

非常感谢,这有一定道理! Il必须查看一个可以允许负值的函数。不幸的是,我不能将问题域更改为大学的任务。再次感谢! –

+0

@B。鲍尔斯用可能的解决方案更新了我的答案。 –

+0

这太好了,我现在就试试吧!这个公式中有很多参数不适用于这个网络,而数学绝对不是我的强项。这听起来像是前进的道路。 –

有许多不同种激活函数,其中有许多是如果使用的是一个函数,它仅在0和1之间输出设计成输出从0〜1的值,尝试调整它,以便它输出之间1和-1。如果您使用FANN我会告诉您使用FANN_SIGMOID_SYMMETRIC激活功能。

+0

我不能使用任何库来完成这项任务,如果只有!我看看它是如何工作的,非常感谢 –