perl – 多层神经网络不会预测负值

前端之家收集整理的这篇文章主要介绍了perl – 多层神经网络不会预测负值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经实施了多层感知器来预测输入向量的罪.矢量由随机选择的四个-1,1和偏置设置为1组成.网络应该预测矢量内容的和的sin.

例如Input =< 0,1,-1,1>输出= Sin(0 1(-1)0 1)

我所遇到的问题是网络永远不会预测负值,许多向量的sin值都是负值.它完全预测所有正或零输出.我假设更新权重存在问题,这些权重在每个历元之后被更新.有没有人在NN之前遇到过这个问题?任何帮助将是伟大的!

注意:网络有5个输入,6个隐藏单位在1个隐藏层和1个输出.我在激活隐藏层和输出层使用S形函数,并尝试了大量的学习率(目前为0.1);

解决方法

由于我考虑了多层感知器,因此很长一段时间,因此用一粒盐.

我会将您的问题域重新缩放到[0,1]域而不是[-1,1].如果你看看后勤功能图:

它产生[0,1]之间的值.我不认为会产生负面结果.我可能是错的,艰难的.

编辑:

您实际上可以将后勤功能扩展到您的问题域.使用generalized logistic curve设置A和K参数到您的域的边界.

另一个选项是双曲正切,它来自[-1,1],没有常数来设置.

原文链接:https://www.f2er.com/Perl/172697.html

猜你在找的Perl相关文章