我想弄清楚整个机器学习的东西,所以我正在进行一些测试。我想让它学习窦功能(带弧度角)。神经网络是:
1输入(弧度角)/ 2隐藏层/ 1输出(预测窦)
对于我正在使用的壁球激活: RELU ,请注意当我使用Logistic函数而不是RELU时,脚本正在运行。
为了做到这一点,我做了一个从0开始并在180结束的循环,它将以弧度(radian = loop_index * Math.PI / 180)转换数字,然后它就是&#l; ll基本上做这个弧度角的窦,并存储弧度和窦结果。
所以我的表格对于一个条目看起来像这样:{input:[RADIAN ANGLE],输出:[sin(radian)]}
for(var i = 0; i <= 180; i++) {
radian = (i*(Math.PI / 180));
train_table.push({input:[radian],output:[Math.sin(radian)]})
}
我使用此表来训练我的神经网络,使用交叉熵,学习率为0.3,迭代次数为20000次。
问题在于,当我试图预测它返回的任何东西时它会失败&#34; NaN&#34;
我正在使用框架Synaptic(https://github.com/cazala/synaptic),这里是我的代码的JSfiddle:https://jsfiddle.net/my7xe9ks/2/