Neural network 如何在神经网络中处理实数?
我一直在玩神经网络。我从近似一个XOR函数开始,没有太多问题。但是,接下来我讨论了近似sqrt函数的问题 问题是输入和输出可以是任何实数,而不仅仅是[0,1]中的数字[ 有没有一种方法可以在神经网络中处理,这样它就可以直接输出实数 或者我必须规范化输入和输出数据,使其在[0,1]范围内吗?这不是精度损失吗Neural network 如何在神经网络中处理实数?,neural-network,Neural Network,我一直在玩神经网络。我从近似一个XOR函数开始,没有太多问题。但是,接下来我讨论了近似sqrt函数的问题 问题是输入和输出可以是任何实数,而不仅仅是[0,1]中的数字[ 有没有一种方法可以在神经网络中处理,这样它就可以直接输出实数 或者我必须规范化输入和输出数据,使其在[0,1]范围内吗?这不是精度损失吗 谢谢您可以在输出层中选择另一个激活函数,例如g(a)=a(标识)。但是,您应该有一个具有非线性激活函数的隐藏层(tanh,logistic)最后,我发现最合理和通用的解决方案是对输入进行规范化
谢谢您可以在输出层中选择另一个激活函数,例如g(a)=a(标识)。但是,您应该有一个具有非线性激活函数的隐藏层(tanh,logistic)最后,我发现最合理和通用的解决方案是对输入进行规范化,然后对输出进行反规范化 用户必须设置输入/输出范围,然后一切正常
这是大多数神经网络框架所做的。我刚刚尝试过。如果我使用tanh或sigmoid作为隐藏层的激活函数,然后在输出层使用身份激活函数,我的权重会变得无穷大,这可能是我的反向传播算法的问题嗯。这是我能想到的解决如此简单问题的唯一原因。也许这有助于看到正确的实现,例如(函数:前向传播和后向传播;使用矩阵运算)