神经网络是不是可以拟合任何问题?
是不是任何问题,只要有实数型或整型的输入和输出,就可以用神经网络去拟合? 不行的。足够深的神经网络可以拟合的是任意“函数”,但不是所有有输入输出的问题都可以构成函数。形如y=f(x)的函数最基本的属性是一个因变量(输出y)可以对应多个自变量(输入x),但一个自变量只能对应一个因变量。然而在实际世界中存在大量的问题是同一输入x对应多种输出y(比如知乎一个问题有多个答案),这样的输入输出关系是没法表示成y=f(x)结构的函数形式的,自然也就没法用神经网络拟合。
上面提到的问题,也就是目前自然语言生成领域的最大挑战,同一个问题往往能用成千上万种表述说出,而且每种都是正确的,因此传统的函数结构是没法建模这种关系的,这也是为何目前深度学习在自然语言生成领域的效果还非常的弱。期待有人能打破函数结构的限制来更好的建模这种多对多的映射关系 理论上可以拟合任一连续函数,实际就不用说了 说可以的, 显然是不对的.
N元神经网络能拟合的网络可以拥有有穷个(即便是NP的, 比如2^N个)一阶不连续点
而数学家可以构造拥有无穷个不连续点的函数, 比如y=f(x)=tg(1/x), 那么从理论上, 有限层有限个单元,无其他特殊先验知识的神经网络就无法拟合这个函数在(0,1)范围内的数值.
而这种先验知识可以有无穷种. 以上还是一元函数, 要是多元函数的话,
不要和数学家搞事情!!!
<hr/>有人提了一篇文章:
A visual proof that neural nets can compute any function
这篇文章所具的所有例子都是连续函数, 谢邀,两层的神经网络已经可以拟合任意函数了。
--修改--
像这么基本的问题,还是应该搞搞清楚再答题。
我以为稍微学过点神经网络的,应该都有这个常识,看来我想多了。
还是花几分钟找参考文献来吧。
Neural networks and deep learning
Hornik K, Stinchcombe M, White H. Multilayer feedforward networks are universal approximators. Neural networks, 1989, 2(5): 359-366. 在路上,不好查是哪片论文了,我记得是199*年的,证明了只要网络层数够深,就可以拟合任何函数。换言之,五大基本函数都可以通过泰勒展开获得局部拟合,所以理论来说没问题的
#################2018.07.10################
修改
之前在路上随便写的,这里补充一下。
文献: Multilayer feedforward networks are universal approximators中说明了,任何Borel可测函数都可以通过一个多层networks去拟合。
Lebesgue 测度是Borel 测度的完备空间,因此限定在Borel 集合上的Lebesgue就是Borel 测度。作为例子,Cantor 集合就有非Borel的measurable子集。
所以是有函数不能用网络拟合的。这个一点有待商榷。
你只要构造一个函数f(x),对于任意a , 而f(x)<a的情况下,x都是属于cantor集合就可以。
但我到现在为止没看到有论文论证非Borel可测函数就不可以被拟合。
我开始写这段话,觉得咱么都是现实点的问题,都是现实要解决的问题,如果是现实要解决的问题,最终一定会从实际问题转为数学问题,数学语言最终变为计算机语言,最终的解可能是有偏差,将问题简化,甚至将非borel可测函数转化为borel可测。这些构成都是拟合,我知道这个拟合是丢失东西的,根据你的精准度不断改变。
我认为上面我写的是一个一个工业生产上的拟合问题。
如果一定抬杠说多么复杂的,整个定义域都是不可以测的函数,那确实要说的问题多了,精准度是无穷的,那么你们说的对,现在计算机水平是做不到。
学数学的关心的问题是函数或者问题的解存在与否,是否唯一及长时间稳定性等问题。按照下几个回答说的,解不唯一,或者长时间都是发散爆炸的问题,本身是否存在解都是问题。这样的问题不是神经网络可不可,而是人类是否能不能解决这个问题。
页:
[1]