了解函数是线性的还是非线性的神经网络



我有来自模拟的数据,这些数据是限制输入范围的组合,这可能是一个例子:

Y=(X1*X2)^2+X3
X1=[1,2]
X2=[2,5]
X3=[10,20]

Y 函数是一个非线性函数,但是,有了所有组合的结果(使用这些 X(,我能够训练一个没有隐藏层的回归神经网络,并且不使用任何激活函数,如线性函数。

我的问题是我不知道我的函数是线性的还是非线性的,但我可以用上面的例子来表示,在神经网络中这个有限的输入范围内,函数的结果是线性的。这是正常和正确的吗?如果是,为什么?

你在这里真正要问的是:

是什么使函数线性?

我不是数学家,但我相信:如果你的函数可以画成一条直线,它确实是线性的(见:链接(。否则,您将需要一些非线性函数来绘制它。

我对您所询问的功能X有点困惑。但是,如果您所做的只是将非线性函数的输出Y组合在一起,那么是的,您的函数是线性的,并且基于非线性函数的结果进行操作。这在神经网络和降维情况下经常完成,在这些情况下,输入被转换为可以线性分离的空间。

我假设输入意味着你为函数的每个自变量给出两个值。由于三重(X1, X2, X3)只有两个输入,因此可以保证具有线性关系。您需要提供额外的输入才能确定非线性。

Y 是输入 X 的回归函数,在这里,X 是 x1、x2 和 x3 的向量。仅当 Y=AX+b 时,它才是一个线性函数,其中 A 是某个矩阵,b 是向量。在您的情况下,它不是线性函数。由于函数中的平方项。更具体地说,在您的情况下,只有 Y=a x1+b x2+c*x3+d(Y 是标量(是线性回归,其中 a、b、c、d 是您可能想要学习的参数。

最新更新