【问题标题】:Neural Network For a Non-Linear Function非线性函数的神经网络
【发布时间】:2012-10-04 21:51:50
【问题描述】:

我正在尝试找到一个合适的神经网络结构来学习以下形式的函数:F(x1,x2,x3,x4,x5)= a*x1+b*(x2-x4)/(x3- x4) + c*x5。

我正在使用 matlab 的神经网络工具箱来创建一个前馈网络,但没有任何运气。

甚至可以使用神经网络来学习这种功能吗? 如果是,什么是合适的结构? 如果没有,有没有其他模型可以学习这种功能?

谢谢。

【问题讨论】:

  • 谢谢,我可以用别的东西,但是 NN 为这种功能建立专家吗?

标签: machine-learning neural-network


【解决方案1】:

我建议您首先准备一个训练数据集,其中包含以下内容:

1- 数据集

x1,x6,x5; x6 = (x2 - x4) / (x3 - x4)

2- 目标标签 Y

Y = f(x1, x6, x5);你可以假设 a,b,c 的一些值

因此,您有 3 个输入变量或特征和一个目标变量 Y。

然后,您将 ANN 定义为只有一个单层(单层感知器)并确保输出函数是线性的。

最后,训练 ANN 并根据 x1、x5 和 x6 为其赋予新值并进行比较 与实际功能。

【讨论】:

  • 谢谢,这正是我打算做的。
  • 请注意,这个答案和我的完全一样:单层感知器是线性回归。
  • 不完全是。具有 sigmod 激活函数的单层感知器不是线性回归模型。因此,输出函数应该是线性的,您的答案中没有明确说明。另外,您在帖子中没有提到培训部分。
【解决方案2】:

如果我理解正确,您正在尝试估计 a、b 和 c 的值。尽管函数相对于其输入不是线性的,但它相对于 a、b 和 c 是线性的。所以你应该能够用线性回归解决你的问题。

更准确地说,如果你定义 x6 = (x2 - x4) / (x3 - x4),那么你得到 F(x1, x5, x6) = a * x1 + b * x6 + c * x5,这是线性的.

【讨论】:

  • 您没有正确理解。对于给定的 a、b、c,我想创建一个神经网络来预测 F。
  • @fudge 那么您的 F(x1,x2,x3,x4,x5) 符号具有误导性。
猜你喜欢
  • 2017-04-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-20
  • 2018-06-04
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 2010-09-23
相关资源
最近更新 更多