我知道如何构建非线性分类模型,但我的当前问题涉及连续输出。我一直在寻找关于神经网络回归的信息,但遇到的都是关于线性回归的信息,没有关于非线性情况的。这很奇怪,因为为什么有人会用神经网络来解决简单的线性回归问题呢?这不就像用核弹打苍蝇吗?
所以我的问题是:是什么让神经网络成为非线性的?(隐藏层?非线性激活函数?)还是我对“线性”这个词的理解完全错误——线性回归神经网络能准确地模拟比y=aX+b更复杂的数据集吗?“线性”这个词只是作为“逻辑”的对立面使用吗?
(我计划使用TensorFlow,但TensorFlow线性模型教程使用的是二元分类问题作为示例,所以对我也没有帮助。)
回答:
首先,神经网络可以模拟任何函数(不仅仅是线性函数)。请看这里 – http://neuralnetworksanddeeplearning.com/chap4.html。
神经网络具有非线性激活层,这正是神经网络非线性元素的来源。
输入和输出的关系函数由神经网络及其训练量决定。如果您提供两个具有线性关系的变量,那么只要您不过度拟合,您的网络就会学会这一点。同样,足够复杂的神经网络可以学习任何函数。