我试图找到一个合适的神经网络结构来学习以下形式的函数: F(x1,x2,x3,x4,x5)= a*x1+b*(x2-x4)/(x3-x4) + c*x5。
我正在使用 matlab 的神经网络工具箱来创建一个前馈网络,但没有任何运气。
甚至有可能使用神经网络来学习这种功能吗?如果是,什么是合适的结构?如果没有,还有其他模型可以学习这种功能吗?
谢谢。
我试图找到一个合适的神经网络结构来学习以下形式的函数: F(x1,x2,x3,x4,x5)= a*x1+b*(x2-x4)/(x3-x4) + c*x5。
我正在使用 matlab 的神经网络工具箱来创建一个前馈网络,但没有任何运气。
甚至有可能使用神经网络来学习这种功能吗?如果是,什么是合适的结构?如果没有,还有其他模型可以学习这种功能吗?
谢谢。
我建议您首先准备一个训练数据集,其中包含以下内容:
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 为其赋予新值,并与实际函数进行比较。
如果我理解正确,您正在尝试估计 a、b 和 c 的值。尽管函数相对于其输入不是线性的,但它相对于 a、b 和 c 是线性的。所以你应该能够用线性回归解决你的问题。
更准确地说,如果定义 x6 = (x2 - x4) / (x3 - x4),则得到 F(x1, x5, x6) = a * x1 + b * x6 + c * x5,这是线性的。