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