【问题标题】:Using nnet() weights for external prediction使用 nnet() 权重进行外部预测
【发布时间】: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


    【解决方案1】:

    我已经解决了我的问题,我忘记在每个神经元上执行一个 sigmoid 函数。

    干杯,

    【讨论】:

      猜你喜欢
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 2013-09-08
      • 2015-04-01
      • 2016-07-07
      相关资源
      最近更新 更多