我第一次学习神经网络。我试图理解如何使用单个隐藏层进行函数逼近。我在StackExchange上看到了这个例子,但在阅读了其中一个回答后,我有一些疑问。
假设我想逼近0到3.14弧度之间的正弦函数。那么我会有一个输入神经元吗?如果是的话,接下来如果我假设隐藏层中有K个神经元,每个神经元都使用Sigmoid传递函数。那么在输出神经元中(假设它只是使用隐藏层结果的线性和),输出如何能不是Sigmoid形状呢?线性和不应该也是Sigmoid吗?或者简而言之,如何使用这种神经网络架构来逼近正弦函数呢?
回答:
这是可能的,并且在通用逼近定理中正式声明。对于任何非恒定、有界且单调递增的连续激活函数都适用。
我实际上不知道正式证明,但为了直观地理解这是可能的,我推荐以下章节:神经网络可以计算任何函数的视觉证明。
它显示,通过足够的隐藏神经元和正确的参数,你可以创建隐藏层的总和输出为阶跃函数。使用阶跃函数,很容易论证如何至少粗略地逼近任何函数。现在,为了得到正确的最终输出,隐藏层的总和必须是,因为最终神经元的输出为:
。正如已经说过的,我们至少能够以某种精度逼近这一点。