非线性函数的神经网络

时间:2012-10-02 12:37:10

标签: machine-learning neural-network

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

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

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

感谢。

2 个答案:

答案 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,这是线性的