我试图找到一个合适的神经网络结构来学习以下形式的函数:F(x1,x2,x3,x4,x5)= a * x1 + b *(x2-x4)/(x3- x4)+ c * x5。
我正在使用matlab的神经网络工具箱来创建一个feedforwardnet,但没有任何运气。
甚至可以使用神经网络学习这种功能吗? 如果是,那么什么是合适的结构呢? 如果不是,还有其他模型可以学习这种功能吗?
感谢。
答案 0 :(得分:2)
我建议您首先准备一份训练数据集,其中包含以下内容:
1-数据集
x1,x6,x5; x6 =(x2 - x4)/(x3 - x4)
2-目标标签Y
Y = f(x1,x6,x5);你可以假设a,b,c
的某些值因此,您有3个输入变量或具有一个目标变量Y的特征。
然后,您将ANN定义为只有一个单层(单层Perceptron),并确保输出函数是线性的。
最后,训练人工神经网络,并根据x1,x5和amp;给它新的值。 x6并进行比较 与实际功能。
答案 1 :(得分:1)
如果我理解正确,您正在尝试估算a,b和c的值。尽管该函数相对于其输入不是线性的,但它相对于a,b和c是线性的。所以你应该能够用线性回归来解决你的问题。
更确切地说,如果定义x6 =(x2 - x4)/(x3 - x4),那么得到F(x1,x5,x6)= a * x1 + b * x6 + c * x5,这是线性的