这是交易:
从技术上讲,您确实编写了真实的句子(两个模型都可以在给定足够参数的情况下逼近任何“不太疯狂”的函数),但这些句子根本无法让您获得任何帮助!
这是为什么?好吧,仔细看看通用逼近理论,或者任何其他形式证明,如果有足够的神经元,神经网络可以计算任何 f(x)。
我见过的所有这些证明都只使用一个隐藏层。
快速浏览一下http://neuralnetworksanddeeplearning.com/chap5.html以获得一些直觉。有工作表明,从某种意义上说,如果你只使用一层,所需的神经元数量会呈指数增长。
所以,虽然理论上你是对的,但在实践中,你并没有无限量的记忆,所以你真的不想训练一个 2^1000 个神经元网络,对吗?即使您确实有无限量的内存,该网络也肯定会过拟合。
在我看来,ML 最重要的一点是实用点!让我们对此进行一些扩展。这里真正的大问题不仅仅是多项式在训练集之外如何快速增加/减少。一点也不。举个简单的例子,任何图片的像素都在一个非常特定的范围内(每种 RGB 颜色为 [0,255]),因此您可以放心,任何新样本都将在您的训练集值范围内。不,最重要的是:这种比较一开始就没有用(!)。
我建议您使用 MNIST 进行一些实验,并尝试查看仅使用单个层可以得出的实际结果。
实际的网络使用不止一个隐藏层,有时是几十个(嗯,Resnet 甚至更多......)层。因为某种原因。这个原因没有得到证实,一般来说,为神经网络选择架构是一个热门的研究领域。换句话说,虽然我们仍然需要了解更多信息,但对于许多数据集,您比较的两个模型(线性回归和只有一个隐藏层的 NN)都没有任何用处!
顺便说一句,如果你会进入 ML,还有另一个无用的定理,它实际上是当前的“研究领域”——PAC(可能近似正确)/VC 维度。作为奖励,我将对此进行扩展:
如果通用逼近基本上表明给定无限数量的神经元,我们可以逼近任何函数(非常感谢?),那么 PAC 实际上所说的是,给定(实际上!)无限数量的标记示例,我们可以尽可能接近想要我们模型中的最佳假设。当我计算出实际网络所需的实际示例数量以某种正常的概率处于某个实际所需的错误率范围内时,这绝对是一件非常有趣的事情:)它超过了宇宙中的电子数量。增强它的 PS 还假设样本是 IID(这永远不会是真的!)。