为什么两层网络能够拟合任意函数

最近在上CMU深度学习系统算法与实现的在线课程,里面有一页PPT讲解了为什么两层网络能够拟合任意函数。

神经网络由于强大的拟合能力以及数据驱动的方式,被广泛运用到不同的领域。但是为什么神经网络有这么强的拟合能力,我还一直没有深究过,只知道是线性和非线性的叠加。闲话不多说

 首先这个问题在1D情况,如图所示。对于任意的平滑函数,在封闭集合D范围内,我们都可以构建两层网络,让D内任意的数据的误差小于\epsilon,显然如果误差越小,网络的节点就需要越高

简单证明如下

 在封闭集合D中采样密集的数据点。我们能够构造2层网络通过所有的这些数据点(后面会详细证明),并且网络是分段的线性函数,同时被拟合的函数是连续函数,通过采样尽量多的点实现无线的逼近。

 首先说明网络为什么是分段线性。2层网络结构如下图所示,其中x是一维向量,W1,W2是网络权重,这里非线性函数选择RELU, h_\theta(x)=ReLU(XW_1)W_2=\sum_{i,j} w_{2j}max(0,w_{1i}x+b_i)+b_j

可以简化为

 函数可以由\pm max(0,w_ix+b),线性组合叠加,\pm max(0,w_ix+b)

形状如图所示 

 

由于relu存在引入了非线性,当你尝试用分段函数去表示的时候,你就会发现,我们实现下面的效果,

 

 

 每个数据点可以拟合一个分段,从而实现对所有集合的拟合

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值