给定足够多的隐藏神经元,神经网络能否近似任何功能?
machine-learning
neural-network
5
0

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

f(x) = x^2

我想不到怎么办。看起来神经网络有一个非常明显的局限性,它可能会限制其功能。例如,由于这个限制,神经网络可能无法正确地近似统计中使用的许多函数,例如指数移动平均值,甚至方差。

说到移动平均线,递归神经网络可以适当地近似吗?我了解前馈神经网络甚至单个线性神经元如何使用滑动窗口技术输出移动平均值,但是递归神经网络如何在没有X层隐藏层(X为移动平均值大小)的情况下做到这一点?

另外,让我们假设我们不知道原始函数f ,该函数恰好获得最后500个输入的平均值,如果大于3,则输出1,如果不大于3,则输出0。但是有一秒钟,我们假装不知道,那是一个黑匣子。

递归神经网络如何近似呢?我们首先需要知道应该有多少个时间步长,而我们没有。也许LSTM网络可以,但是即使那样,如果它不是简单的移动平均线,而是指数移动平均线怎么办?我认为即使LSTM也无法做到。

更糟糕的是,如果我们要学习的f(x,x1)仅仅是

f(x,x1) = x * x1

这看起来非常简单明了。神经网络可以学习吗?我不知道如何。

我是否在这里错过了很多东西,或者机器学习算法非常有限?除了神经网络以外,还有其他学习技术可以实际做到这些吗?

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

要理解的关键是紧凑

神经网络(如多项式,样条曲线或径向基函数之类的任何其他近似结构)只能在一个紧凑集合内近似任何连续函数。

换句话说,该理论指出,给定:

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

然后在[a,b]内各处都存在一个神经网络,它以小于ε的近似误差近似f(x)

关于f(x)= x 2的示例,是的,您可以使用以下任何有限范围内的神经网络对其进行逼近: [-1,1][ 0,1000]等。为直观起见,假设您逼近f (x)的[-1,1]阶跃函数 。你能在纸上做吗?请注意,如果将步幅缩小得足够小,则可以达到所需的精度。神经网络近似f(x)的方式与此没有太大不同。

但是同样,没有神经网络(或任何其他近似结构)具有有限数量的参数,它们对于[-∞,+∞]中的所有x都可以近似f(x)= x 2

收藏
评论

我不确定为什么会有这种内在的反应,我认为这是一个合法的问题,尽管我认为它受到广泛的赞赏和反复强调,但通过谷歌搜索很难找到。我认为在这种情况下,您正在寻找表明神经网络可以近似任何功能的实际引用。我认为最近的这篇论文很好地解释了它。他们还引用了巴伦(Barron)于1993年提出的原始论文,事实证明,该论文不太普遍。结论:在某些(看似非限制性)条件下,两层神经网络可以表示任何有界度多项式。

万一该链接无法正常工作,Andoni等人在2014年将其称为“使用神经网络学习多项式”。

收藏
评论

这个问题非常合理,不幸的是,许多答案表明从业者似乎很少了解神经网络理论。关于神经网络逼近不同种类函数的能力的唯一严格的定理是通用逼近定理。

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

多项式不受限制,所以我们能做的最好的事情就是在Rn的紧子集上提供该多项式的神经网络近似。在这个紧凑子集之外,由于多项式将无限制地增长,因此逼近将惨遭失败。换句话说,神经网络将在训练集上很好地工作,但不能一概而论!

这个问题既不是题外话,也不代表OP的意见。

收藏
评论

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

f(x) = x^2

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

如果您具有先验知识,则要近似的函数很可能是低阶多项式(或任何其他函数集),那么您肯定可以构建一个神经网络来表示这些函数,并外推x^2无处不在。

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

举个例子:假设星期一(t = 0)的温度为0°,星期二为1°,星期三为4°。我们没有理由相信温度的行为类似于低阶多项式,因此我们不希望从该数据推断下周一的温度可能约为49°。

同样,让我们假设我们不知道原始函数f,它恰好获得了最后500个输入的平均值,如果大于3,则输出1,如果不大于3,则输出0。但是有一秒钟,我们假装不知道,那是一个黑匣子。

递归神经网络如何近似呢?

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

问题二:如果有足够的训练样本,它可以学习此功能吗?好吧,如果您的学习算法没有陷入局部最小值,请确保:如果您有足够的训练样本,那么任何与您的函数不相近的权重集都会产生大于0的训练误差,而一组权重适合您要学习的功能,训练错误= 0。因此,如果找到全局最优值,则网络必须适合该功能。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号