【问题标题】:Neural nets as universal approximators神经网络作为通用逼近器
【发布时间】:2018-08-24 21:44:21
【问题描述】:

universal approximation theorem 的正式声明指出,具有单个隐藏层的神经网络可以逼近任何在 m 维单位超立方体上连续的函数。 但是不连续的函数呢,是否知道它们是否总是可以被神经网络逼近?

例如,使用一个计算数字 pi 的第 n 位的函数。 如果我在这些数据上训练一些单隐藏层神经网络:(n,pi 的第 n 位),它最终是否能够为看不见的 n 返回正确的值? 多隐藏层神经网络怎么样?

【问题讨论】:

  • 我不认为你可以使用神经网络来预测 PI 的数字,因为 PI 的数字不遵循模式。我认为您可能可以使用机器学习来提出一种近似 PI 的算法......
  • 嗯,有一个公式:math.hmc.edu/funfacts/ffiles/20010.5.shtml,所以我想也许神经网络最终会解决这个问题?
  • @ffriend ANN 不能模拟可变度数的多项式?但是根据通用逼近定理它应该可以,因为它们可以是连续函数。比如f(x) = x^(x+1)在[0,1]上是连续的,所以应该可以表示出来。
  • @ffriend “但最终的近似函数将是一个固定次数多项式” 那怎么可能?如果我们将 sigmoid 作为激活函数(我相信这是标准做法),神经网络输出值将是 1/(1+e^t) 的形式,在我看来这不像多项式。
  • 如果你训练你的网络来逼近连续有界函数2 * arcsin(x)然后在x=1处评估它,你将生成pi的数字。你让你的网络发展得越广,你就会产生越多的数字。

标签: machine-learning neural-network


【解决方案1】:

普遍逼近定理的正式陈述表明 具有单个隐藏层的神经网络可以逼近任何函数 在 m 维单位超立方体上是连续的。但是怎么样 不连续的函数,是否知道 它们总是可以被神经网络逼近吗?

是的,大多数非连续函数都可以通过神经网络来近似。事实上,函数只需要是可测的,因为根据 Lusin 定理,任何可测函数在其几乎所有域上都是连续的。这对于通用逼近定理来说已经足够了。

但是,请注意,该定理仅表明函数可以由神经网络表示。它没有说这种表示是否可以学习或者它是否有效。事实上,对于一个逼近高度变化函数的单层网络,其大小会随着函数的复杂度呈指数增长。

例如,使用一个计算数字 pi 的第 n 位的函数。 如果我在这些数据上训练一些单隐藏层神经网络:(n, n'th pi 的位数),它最终是否能够返回正确的值 看不见的?多隐藏层神经网络怎么样?

没有。有无数个函数返回 π 的任何数字子序列。网络永远不会知道你想让它学习哪一个。神经网络利用函数的平滑性进行泛化,但你希望它学习的序列根本不平滑。

换句话说,您需要一个精确的表示。近似值对于预测 π 的位数没有用处。普遍逼近定理只保证一个逼近的存在。

【讨论】:

  • “不。有无数个函数返回 π 的任何数字子序列。网络永远不会知道你想让它学习哪一个。”这个原因对我来说似乎很奇怪,因为不是总是有无限多的函数代表任何输入输出数据吗?然而,神经网络可以解决这些问题,但不能解决这个问题?
  • 神经网络解决了这些问题,其中函数平滑且近似表示很有帮助。这不是数字序列的情况。
  • 抛开易学性不谈,这个定理保证了 $ sup_{x \in X} |f(x) - g(x)| 内的近似值的存在。 否,而应该是,因为您不需要精确的表示。
【解决方案2】:

好吧,考虑到pi的第n位公式是存在的,那么它可以用一个NN来表示(1个HL表示连续函数,2HL表示不连续)。

唯一的问题是学习过程 - 很可能几乎不可能逃脱浅局部最小值(这是我的猜测)。

【讨论】:

    猜你喜欢
    • 2018-09-10
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2011-04-16
    • 2017-04-01
    • 2020-12-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多