我正在尝试创建神经网络,我正在使用aforge框架。我有3个输入,20个输出数据。输入如下:0.4397 1.4492 0.57,0.4296 1.5271 0.615等输出数据如下:[0,0,0,0,1,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0],[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,我正在计算输出看起来像:
我知道,输出必须得到[0,1],但这里[-1,1]。我有标准化的列车数据(除以100)和输出数据(除以100)。
我的问题是什么?提前致谢。 (对不起,我的英文)
答案 0 :(得分:0)
多层感知器(我猜你正在使用)的每个节点的输出不在[0,1]或[-1,1]中,而是在[-∞,+∞]中。通过这种方式,MLP可以执行回归或分类。在您的情况下,由于您将其用于分类问题,因此输出将通过激活函数传递,该函数将输出限制为特定间隔。
两种常用的函数是sigmoid函数和双曲正切函数,它们分别将输出映射到[0,1]和[-1,1]。在您的情况下,框架最有可能使用双曲线函数作为默认激活。你找到那个参数,它是sigmoid / logistic或类似的东西。
PS:无论上述情况如何,你确定你要解决的问题是否正确?对于分类问题,3输入和20输出似乎不太可能。