请原谅在这个问题上没有可重复的代码!
我已经用NIR光谱上的(nnet)包创建了一个神经网络模型。我们的最终目标是在不保存模型的情况下将此模型实现到我们的仪器上,而是使用权重并在设备上重新创建逻辑;因为此设备不支持Python、R等软件。
神经网络结构是103-5-1,即103个输入,5个隐藏神经元和单个线性输出。
提取权重后,每个神经元有103个输入系数(103 * 5),每个神经元有5个偏差,神经元有5个系数,输出有一个偏差。
我一直在尝试用下面的逻辑在excel中复制我在R中执行的预测:
(i)将输入(N)乘以系数(N),对每个神经元求和并加偏置。
(ii)将神经元系数乘以(i)。
(iii)对所有神经元求和(ii)并添加输出偏差。
我没有成功,我尝试了其他方法,这些方法可能也是不正确的,但同样不成功,例如在(i)处对每个输入变量添加偏差,并将(ii)中的系数视为偏差。我分别尝试了这两种方法,然后将它们组合在一起。
隐藏层的函数应该是线性的,因为nnet()文档将公式列出为~ x1 + x2 + ...我保留了公式的默认设置。如上所述,我使用的是线性输出。此外,对于任何输入或神经元,都没有跳过逻辑。
我是不是错误地解释了nnet()模型中的权重?
b->h(n) =偏置到隐藏层n
i(n)->h(n) =向隐藏层n输入n个系数
b->o =输出偏置
h(n)->o =隐藏层n系数输出
任何帮助都将不胜感激!
谢谢,
编辑:我现在也尝试跳过nodes <=0,但仍然没有成功。
发布于 2019-07-12 09:40:39
我已经解决了我的问题,我忘记了在每个神经元上执行sigmoid函数。
干杯,
https://stackoverflow.com/questions/56981908
复制相似问题