【发布时间】:2019-11-20 17:48:59
【问题描述】:
请原谅这个没有可重复的代码!
我已经使用 (nnet) 包在 NIR 光谱上创建了一个神经网络模型。我们的最终目标是在我们的仪器上实现这个模型而不保存模型,而是使用权重并在设备上重新创建逻辑;因为此设备不支持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 系数输出
任何帮助将不胜感激!
谢谢,
编辑:我现在也尝试跳过节点
【问题讨论】:
标签: r neural-network nnet