我已经实现了一个多层感知器来预测输入向量的 sin。向量由随机选择的四个 -1,0,1 和设置为 1 的偏差组成。网络应该预测向量内容总和的 sin。
例如输入 = <0,1,-1,0,1> 输出 = Sin(0+1+(-1)+0+1)
我遇到的问题是网络永远不会预测负值,并且许多向量的 sin 值都是负的。它可以完美地预测所有正输出或零输出。我假设更新权重存在问题,每个时期都会更新。有没有人遇到过NN的这个问题?任何帮助都会很棒!
注意:该网络有 5 个输入,1 个隐藏层中的 6 个隐藏单元和 1 个输出。我在激活隐藏层和输出层上使用 sigmoid 函数,并尝试了数吨学习率(目前为 0.1);