通用近似原理及证明-为什么神经网络可以拟合任意函数

​ 通用近似定理(Universal Approximation Theorem)表明:

​ 一个至少有一个隐藏层的神经网络【输入层-隐藏层-输出层】,同时要求激活函数有挤压性质,如 Sigmoid 函数、ReLU 函数,且输出层是线性的。这样的神经网络在隐藏层神经元足够多的情况下,能以任意的精度去近似任何连续函数。

证明:

Step1. 问题定义:设F是一个定义在n维单位立方体 [ 0 , 1 ] n [0,1]^n [0,1]n上的连续函数族, C ( [ 0 , 1 ] n ) C([0,1]^n) C([0,1]n)表示上的连续函数空间,对于 f ∈ F f \in F f∈F,我们希望用一个神经网络来逼近这个函数。

Step2. 构造单层前馈神经网络:输入 x = ( x 1 , x 2 , ⋯   , x n ) ∈ [ 0 , 1 ] n x = (x_1, x_2, \cdots, x_n) \in [0, 1]^n x=(x1,x2,⋯,xn)∈[0,1]n,输出为y,隐藏层有m个神经元,激活函数为 σ \sigma σ,输出层为线性函数y, w i w_i wi是输出权重, v i , j v_{i,j} vi,j是输入权重, b i b_i bi是偏置,则输出函数可表示为,其实 w i w_i wi是我们的要学习的参数
y = ∑ i = 1 m w i σ ( ∑ j = 1 n v i j x j + b i ) y = \sum_{i = 1}^{m} w_{i} \sigma \left( \sum_{j = 1}^{n} v_{ij} x_{j}+b_{i} \right) y=i=1∑mwiσ(j=1∑nvijxj+bi)

Step3. 构造损失函数:
E = ∫ [ 0 , 1 ] n ( y − f ( x ) ) 2 d x E = \int_{[0,1]^n} (y - f(x))^2 dx E=∫[0,1]n(y−f(x))2dx

Step4. Weierstrass 逼近定理表明对于任意给定的在闭区间上连续的函数,可以用 多项式函数 来逼近。由于激活函数 σ \sigma σ是连续的, ∀ ϵ > 0 , ∃ p ( x ) , s.t. ∣ σ ( x ) − p ( x ) ∣ < ϵ , ∀ x ∈ R \forall \epsilon > 0, \exists p(x) \text{ }, \text{ s.t. }|\sigma(x)-p(x)|<\epsilon, \forall x\in\mathbb{R} ∀ϵ>0,∃p(x) , s.t. ∣σ(x)−p(x)∣<ϵ,∀x∈R

​ 进而化简误差函数和目标函数:
y = ∑ i = 1 m w i p ( ∑ j = 1 n v i j x j + b i ) E = ∫ [ 0 , 1 ] n ( ∑ i = 1 m w i p ( ∑ j = 1 n v i j x j + b i ) − f ( x ) ) 2 d x y = \sum_{i = 1}^{m} w_{i}p(\sum_{j = 1}^{n} v_{ij}x_{j}+b_{i}) \\ E = \int_{[0,1]^n} \left( \sum_{i = 1}^{m} w_{i}p \left( \sum_{j = 1}^{n} v_{ij}x_{j}+b_{i} \right) - f(x) \right)^2 dx y=i=1∑mwip(j=1∑nvijxj+bi)E=∫[0,1]n(i=1∑mwip(j=1∑nvijxj+bi)−f(x))2dx

Step5. 由于 f f f是连续函数, p p p是多项式函数,所以函数 ∑ i = 1 m w i p ( ∑ j = 1 n v i j x j + b i ) − f ( x ) \sum_{i = 1}^{m} w_{i}p\left(\sum_{j = 1}^{n} v_{ij}x_{j}+b_{i}\right)-f(x) ∑i=1mwip(∑j=1nvijxj+bi)−f(x)是连续函数。根据连续函数在闭区间上的性质(Weierstrass逼近定理),对于任意的 ϵ > 0 \epsilon > 0 ϵ>0,存在一个正数 M M M,使得对于所有的 x ∈ [ 0 , 1 ] n x\in [0, 1]^{n} x∈[0,1]n
∣ ∑ i = 1 m w i p ( ∑ j = 1 n v i j x j + b i ) − f ( x ) ∣ < ϵ 2 \left|\sum_{i = 1}^{m} w_{i}p\left(\sum_{j = 1}^{n} v_{ij}x_{j}+b_{i}\right)-f(x)\right| < \frac{\epsilon}{2} i=1∑mwip(j=1∑nvijxj+bi)−f(x) <2ϵ

​ 绝对值小于,则去绝对值号可得到 ∫ [ 0 , 1 ] n ( f ( x ) − f ( x ′ ) )   d x < ϵ 2 \int_{[0,1]^n} (f(x) - f(x')) \, dx < \frac{\epsilon}{2} ∫[0,1]n(f(x)−f(x′))dx<2ϵ 得证。其实本质就是根据微分法将定义域区间划分为若干的小立方体,那么在每个小立方体上都可以用一个多项式函数 p i p_i pi来逼近 f ( x ) f(x) f(x)在该小立方体的上取值,将这些多项式函数组合即可得到y。

Step6. 最终可以使得对于所有的 x ∈ [ 0 , 1 ] n x \in [0, 1]^n x∈[0,1]n,有 ∣ y − f ( x ) ∣ < ϵ \vert y - f(x) \vert < \epsilon ∣y−f(x)∣<ϵ,其中 ϵ \epsilon ϵ是一个任意小的正数,表示逼近的精度。得证神经网络可以以任意精度逼近任意非线性函数。

相关推荐
老蒋新思维几秒前
创客匠人峰会深度解析:知识变现的 “IP 资产化” 革命 —— 从 “运营流量” 到 “沉淀资产” 的长期增长逻辑
大数据·人工智能·网络协议·tcp/ip·创始人ip·创客匠人·知识变现
瀚岳-诸葛弩4 分钟前
对比tensorflow,从0开始学pytorch(三)--自定义层
人工智能·pytorch·tensorflow
测试人社区-小明6 分钟前
AI在金融软件测试中的实践
人工智能·测试工具·金融·pycharm·机器人·github·量子计算
小哲慢慢来7 分钟前
机器学习基本概念
人工智能·机器学习
张较瘦_9 分钟前
[论文阅读] AI + 软件工程 | 叙事的力量+专家智慧:解锁定性软件工程研究的过去、现在与未来
论文阅读·人工智能·软件工程
算法与编程之美11 分钟前
机器学习测试模型的性能评估与探索
人工智能·机器学习
小毅&Nora14 分钟前
【人工智能】【深度学习】 ⑩ 图神经网络(GNN)从入门到工业落地:消息传递、稀疏计算与推荐/风控实战
人工智能·深度学习·图神经网络gnn
zhangfeng113315 分钟前
大语言模型Ll M 这张图的核心信息是:随着模型规模变大,注意力(attention)层消耗的 FLOPs 占比越来越高,而 MLP 层占比反而下降。
人工智能
你那是什么调调17 分钟前
大语言模型如何“思考”与“创作”:以生成一篇杭州游记为例
人工智能·语言模型·chatgpt
老蒋新思维18 分钟前
创客匠人峰会洞察:IP 信任为基,AI 效率为翼,知识变现的可持续增长模型
大数据·网络·人工智能·网络协议·tcp/ip·创始人ip·创客匠人