神经网络是否可以在给定足够隐藏神经元的情

Ess*_*uri 45 machine-learning neural-network

我理解具有任意数量隐藏层的神经网络可以近似非线性函数,但是,它可以近似:

f(x) = x^2
Run Code Online (Sandbox Code Playgroud)

我想不出它怎么可能.这似乎是神经网络的一个非常明显的限制,可能会限制它能做什么.例如,由于这种限制,神经网络可能无法正确逼近统计中使用的许多函数,如指数移动平均线,甚至方差.

说到移动平均线,反复神经网络可以恰当地近似吗?我理解前馈神经网络甚至单个线性神经元如何使用滑动窗口技术输出移动平均值,但如果没有X个隐藏层(X是移动平均大小),递归神经网络如何做到呢?

另外,让我们假设我们不知道原始函数f,它恰好得到最后500个输入的平均值,然后如果它高于3则输出1,如果不是则输出0.但是一时间,假装我们不知道,这是一个黑盒子.

复发神经网络如何接近?我们首先需要知道它应该有多少次步,而我们却不知道.也许LSTM网络可以,但即便如此,如果它不是一个简单的移动平均线,那么它是一个指数移动平均线?我不认为即使是LSTM也能做到.

更糟糕的是,如果我们试图学习的f(x,x1)是简单的话

f(x,x1) = x * x1
Run Code Online (Sandbox Code Playgroud)

这似乎非常简单明了.神经网络可以学习它吗?我不知道怎么样.

我在这里遗漏了一些巨大的东西,还是机器学习算法非常有限?除了神经网络之外还有其他学习技术可以实际做到吗?

Pan*_*agi 46

理解的关键点是紧凑:

神经网络(如任何其他近似结构,如多项式,样条曲线或径向基函数)只能在紧凑集合中逼近任何连续函数.

换句话说,该理论指出:

  1. 连续函数f(x),
  2. 输入x的有限范围,[a,b]
  3. 期望的近似精度ε> 0,

然后存在一个神经网络近似f(x),其近似误差小于ε,在[a,b]内到处都是.

关于你的f(x)= x 2的例子,是的,你可以用任何有限范围内的神经网络来近似它:[-1,1],[ 0,1000]等.为了想象这一点,想象你近似于f (x)[-1,1]范围内,带有阶梯函数.你能用纸做吗?请注意,如果您使步骤足够窄,则可以达到任何所需的精度.神经网络近似f(x)的方式与此没有太大的不同.

但同样,有具有有限数量的,可以近似参数没有神经网络(或者任何其他近似结构)F(X)= X 2为所有X[-∞,+∞] .

  • 您将多项式列为近似结构.当然这些可以"近似"x ^ 2? (3认同)
  • @EssamAl-Mansouri我想纠正我的陈述:没有任何近似结构**具有有限数量的参数**,对于[-∞,+中的所有x,它可以近似x <sup> 2 </ sup> ∞]到任意精度.您可能能够找到尽可能接近它的表示(例如,傅里叶级数),但是您需要无限的参数来完成它.我将尝试发布一个实际的例子. (2认同)

小智 30

这个问题是非常合理的,不幸的是,很多答案都表明,从业者似乎对神经网络理论知之甚少.关于神经网络逼近不同类型函数的能力存在的唯一严格定理是通用逼近定理.

UAT指出紧凑域上的任何连续函数可以通过仅具有一个隐藏层的神经网络来近似,只要所使用的激活函数是有界的,连续的和单调增加的.现在,有界函数的有限和受限于定义.

多项式不受限制,因此我们能做的最好的事情就是在R ^ n的紧致子集上提供该多项式的神经网络近似.在这个紧凑的子集之外,随着多项式将无限制地增长,近似将失败.换句话说,神经网络在训练集上运行良好,但不会一概而论!

问题既不是偏离主题也不代表OP的意见.

  • 在这个答案中存在对术语的基本误解.激活函数不是神经网络近似的函数.它们完全在节点内实现,用于在训练NN之后通过在反向传播中精确地区分它们来逼近来自输入集的输出.激活函数通常是S形的,特别是在分类NN时,尽管不必如此.近似的函数一般必须与定理的普遍性有关; 激活函数不必受限于欧几里德空间的任何可确定的紧致子集. (2认同)
  • @viceriel是的,x ^ 2是连续的.然而,UAT声明我们可以为任何函数选择欧几里德空间的紧致子集,例如x ^ 2,作为边界或边界集.例如,我们可以创建和训练神经网络,以便在有界区间(1,1000)中逼近x ^ 2; 我们只需要很多训练样本和足够的隐藏神经元.原始功能不一定是固有的; 我们的训练样本定义了界限. (2认同)

Mar*_*ite 21

我不确定为什么会有这样的内心反应,我认为这是一个很难找到的合法问题,即使我认为它被广泛赞赏并且重复出现.我认为在这种情况下,您正在寻找实际引用,表明神经网络可以逼近任何函数.在我看来,这篇最近的论文很好地解释了这一点.他们还引用了巴伦从1993年开始的原始论文,证明这是一个不那么普遍的结果.结论:在某些(看似非限制性)条件下,双层神经网络可以表示任何有界度多项式.

为了防止链接不起作用,Andoni等人将其称为"使用神经网络学习多项式",2014年.

  • 谢谢您的注意,我已修复了链接并添加了评论。我还将查看其他推荐的做法。 (2认同)

Nik*_*iki 12

我理解具有任意数量隐藏层的神经网络可以近似非线性函数,但是,它可以近似:

f(x) = x^2

我能理解这个问题的唯一方法就是你在谈论外推.因此,例如,给定范围内的训练样本,-1 < x < +1神经网络可以学习正确的值x > 100吗?你是这个意思吗?

如果您有先验知识,那么您尝试近似的函数可能是低阶多项式(或任何其他函数集),那么您肯定可以构建一个可以表示这些函数的神经网络,并x^2在任何地方进行推断.

如果您没有先验知识,那么事情就会变得更加困难:有无限多的平滑函数完全适合x^2该范围-1..+1,并且我们没有充分的理由期望x^2提供比任何其他函数更好的预测.换句话说:如果我们对我们试图学习的功能没有先验知识,我们为什么学习x -> x^2呢?在人工训练集的领域,x^2可能是一个可能的功能,但在现实世界中,它可能不是.

举个例子:假设星期一(t = 0)的温度是0°,星期二的温度是1°,星期三的温度是4°.我们没有理由相信温度表现得像低阶多项式,因此我们不希望从该数据推断下周一的温度可能在49°左右.

另外,让我们假设我们不知道原始函数f,它恰好得到最后500个输入的平均值,然后如果它高于3则输出1,如果不是则输出0.但是一时间,假装我们不知道,这是一个黑盒子.

复发神经网络如何接近?

我认为这有两个问题:首先,神经网络可以代表这个功能吗?即是否有一组权重可以给出这种行为?它显然取决于网络架构,但我认为我们可以提出可以代表(或至少近似)这种功能的架构.

问题二:如果有足够的训练样本,它能学习这个功能吗?好吧,如果您的学习算法没有陷入局部最小值,请确保:如果您有足够的训练样本,任何不接近您的函数的权重集都会给出大于0的训练误差,而一组权重则为适合您尝试学习的功能有一个训练错误= 0.因此,如果您找到全局最优,网络必须适合该功能.