人工神经网络等价于具有多项式特征的线性回归?

机器算法验证 回归 机器学习
2022-02-11 02:19:12

与其他机器学习算法相比,我想加深对神经网络及其优势的理解。我的理解如下,我的问题是:

你能纠正和补充我的理解吗?:)

我的理解:

(1) 人工神经网络 = 一个函数,它根据输入值预测输出值。根据通用逼近定理(https://en.wikipedia.org/wiki/Universal_approximation_theorem),只要有足够的神经元,您通常可以拥有任何可能的(尽管它应该表现良好)预测函数。

(2) 线性回归也是如此,通过将输入值的多项式作为附加输入值,因为您可以通过多项式很好地逼近(比较泰勒展开)每个函数。

(3) 这意味着(在某种意义上,就可能的最佳结果而言)这两种方法是等价的。

(4) 因此,它们的主要区别在于哪种方法适合于更好的计算实现。换句话说,根据训练示例,您可以使用哪种方法为最终定义预测函数的参数找到更快的好值。

我欢迎对其他链接或书籍提出任何想法、评论和建议,以改善我的想法。

4个回答

这是交易:

从技术上讲,您确实编写了真实的句子(两个模型都可以在给定足够参数的情况下逼近任何“不太疯狂”的函数),但这些句子根本无法让您获得任何帮助!

这是为什么?好吧,仔细看看通用逼近理论,或者任何其他形式证明,如果有足够的神经元,神经网络可以计算任何 f(x)。

我见过的所有这些证明都只使用一个隐藏层。

快速浏览一下http://neuralnetworksanddeeplearning.com/chap5.html以获得一些直觉。有工作表明,从某种意义上说,如果你只使用一层,所需的神经元数量会呈指数增长。

所以,虽然理论上你是对的,但在实践中,你并没有无限量的记忆,所以你真的不想训练一个 2^1000 个神经元网络,对吗?即使您确实有无限量的内存,该网络也肯定会过拟合。

在我看来,ML 最重要的一点是实用点!让我们对此进行一些扩展。这里真正的大问题不仅仅是多项式在训练集之外如何快速增加/减少。一点也不。举个简单的例子,任何图片的像素都在一个非常特定的范围内(每种 RGB 颜色为 [0,255]),因此您可以放心,任何新样本都将在您的训练集值范围内。不,最重要的是:这种比较一开始就没有用(!)。

我建议您使用 MNIST 进行一些实验,并尝试查看仅使用单个层可以得出的实际结果。

实际的网络使用不止一个隐藏层,有时是几十个(嗯,Resnet 甚至更多......)层。因为某种原因。这个原因没有得到证实,一般来说,为神经网络选择架构是一个热门的研究领域。换句话说,虽然我们仍然需要了解更多信息,但对于许多数据集,您比较的两个模型(线性回归和只有一个隐藏层的 NN)都没有任何用处!

顺便说一句,如果你会进入 ML,还有另一个无用的定理,它实际上是当前的“研究领域”——PAC(可能近似正确)/VC 维度。作为奖励,我将对此进行扩展:

如果通用逼近基本上表明给定无限数量的神经元,我们可以逼近任何函数(非常感谢?),那么 PAC 实际上所说的是,给定(实际上!)无限数量的标记示例,我们可以尽可能接近想要我们模型中的最佳假设。当我计算出实际网络所需的实际示例数量以某种正常的概率处于某个实际所需的错误率范围内时,这绝对是一件非常有趣的事情:)它超过了宇宙中的电子数量。增强它的 PS 还假设样本是 IID(这永远不会是真的!)。

确实,任何函数都可以通过算作神经网络的东西和算作多项式的东西任意逼近。

首先,请记住,这对于许多构造都是正确的。您可以通过组合正弦和余弦(傅立叶变换)来近似任何函数,或者简单地通过添加许多“矩形”(不是真正的精确定义,但我希望你明白这一点)。

其次,就像 Yoni 的回答一样,每当您训练网络或拟合具有大量幂的回归时,神经元的数量或幂的数量都是固定的。然后你应用一些算法,可能是梯度下降之类的,并找到最好的参数。参数是网络中的权重,以及大型多项式的系数。您在多项式中获得的最大功率或使用的神经元数量称为超参数。在实践中,您将尝试其中的几个。您可以确定参数是参数的情况,当然,但实际上并非如此。

不过,关键是,通过机器学习,您并不真正想要一个完全适合您的数据的函数。这实际上并不难实现。您想要一些适合的东西,但也可能适用于您尚未看到的点。例如,请参见这张图片,取自scikit-learn.

一条线太简单了,但最好的近似不在右边,它在中间,尽管右边的函数最适合。右边的函数会对新数据点做出一些非常奇怪(并且可能不是最佳)的预测,尤其是当它们落在左边的摆动位附近时。

具有几个参数的神经网络运行良好的最终原因是它们可以拟合某些东西,但不会真正过度拟合。这也与他们的训练方式有很大关系,与某种形式的随机梯度下降有关。

由于尚未提供答案(尽管我会接受 user1952009 的评论是否将其作为答案发布),所以让我分享一下我在此期间学到的知识:

(1) 在我看来,我的理解大体上是对的,但魔鬼在细节中。

(2) “我的理解”中遗漏的一件事:参数化假设对训练集之外的数据的泛化效果如何?神经网络预测的非多项式性质可能比简单的线性/多项式回归更好(请记住多项式在训练集之外如何快速增加/减少)。

(3) 进一步说明能够快速计算参数的重要性的链接:http ://www.heatonresearch.com/2017/06/01/hidden-layers.html

也许这篇论文可以帮助你:

多项式回归作为神经网络的替代方案

摘要说:

尽管神经网络 (NN) 取得了成功,但许多人仍然担心它们的“黑匣子”性质。他们为什么工作?在这里,我们提出了一个简单的分析论点,即 NN 实际上本质上是多项式回归模型。这种观点将对神经网络产生各种影响,例如解释为什么神经网络会出现收敛问题,并为避免过度拟合提供粗略的指导。此外,我们使用这种现象来预测和确认以前没有在文献中报道过的 NN 的多重共线性特性。最重要的是,鉴于这种松散的对应关系,人们可以选择常规使用多项式模型而不是 NN,从而避免后者的一些主要问题,例如必须设置许多调整参数和处理收敛问题。我们提出了一些实证结果;在每种情况下,多项式方法的准确性都匹配或超过 NN 方法的准确性。提供了一个功能丰富的开源软件包 polyreg。