美文网首页
神经网络实验:万能函数拟合器

神经网络实验:万能函数拟合器

作者: ddup | 来源:发表于2021-04-19 16:47 被阅读0次

概述

都说神经网络是一个万能的函数拟合器,如何理解这句话呢?让我们做一些实验,去获取更直观的理解。
为了直观与方便理解,我们用神经网络去拟合一元函数,也就是y=f(x)

实验

1. 函数y=x

训练样本

如图所示:

  • 蓝色点代表训练样本,它们都是从函数y=x中取样获得
  • 橙色的直线代表神经网络所表示的函数,目前未训练,与样本偏离较大

思路

拟合一条直线,我们需要使用什么结构的神经网络去拟合它呢?为了理解透彻,我们需要理解单个神经元。

单个神经元的形式为:y = \sigma(wx+b)

  • wb为待确定的参数
  • \sigma为激活函数

如果去掉\sigma,其形式就是y = wx+b,刚好就是一条直线。也就是说,我们使用一个不带激活函数的神经元,就可以拟合该函数。

实验

如上图所示,使用单个输出神经元,经过20步的训练,神经网络就与目标函数拟合的很好了。所得到的参数如下图所示:


对应的函数为y=1.0x+0.1,与目标函数极为接近,再多训练几步即可更为接近。

2. 函数y=|x|

训练样本

该函数是一个分段函数
y = \begin{cases} x & x \ge 0 \\ -x & x < 0 \end{cases}

思路

由于这里不是直线,这就需要用到非线性激活函数了,它可以将直线弯折。由于不涉及曲线,ReLU是比较合适的激活函数:


观察ReLU函数的曲线,一边是水平直线,另一个是一条斜线。如果能够获得2条ReLU曲线,让他们反向叠加,是不是就可以得到目标曲线了?

最终结果如下:


其中2个隐藏神经元为:

  • y_1=\mathrm{ReLU}(-x)
  • y_2=\mathrm{ReLU}(x)

输出神经元为:y=y_1 + y_2,刚好得到目标曲线。

(以上结果未经参数训练,直接通过手工设置参数获得)

3. 函数

y = \begin{cases} x+3 & -3 \le x < 0 \\ 3-x & 0 \le x < 3 \\ 0 & other \end{cases}

所需隐藏神经元上升到4个。

4. 函数y = 1.8 * \sin(3 * x) / x)

网络更加复杂,拟合的曲线也不再完美。

总结

随着目标函数变得更加复杂:

  • 对应的神经网络也更加复杂
  • 所需的训练数据量也更多
  • 训练难度越来越大
  • 越来越不直观,越来越难以解释

反过来说,更复杂神经网络、更多的数据量,可以用来拟合更复杂的函数。理论上可以拟合任意函数,当然,网络要无限大,数据量也要无限多。

参考软件

神经网络

相关文章

  • 神经网络实验:万能函数拟合器

    概述 都说神经网络是一个万能的函数拟合器,如何理解这句话呢?让我们做一些实验,去获取更直观的理解。为了直观与方便理...

  • pytorch神经网络拟合y = x^2

    pytorch神经网络拟合 在windows的环境下,使用pytorch拟合。实验中仅使用了三个神经元去拟合该函数...

  • RNN及其在NLP中的应用

    神经网络基本理论 人工神经网络本质是用机器函数拟合的过程(输入→拟合函数→输出)模拟人脑学习的过程(现象→内在规律...

  • 机器学习笔记(五)——激活函数

    激活函数区别和作用 本质:    激活函数是来向神经网络中引入非线性因素,通过激活函数,神经网络就可以拟合各种曲线...

  • pytorch中多种优化器性能比较

    此文章使用Pytorch进行多种优化器的性能比较,构建两层神经网络进行函数的拟合,使用不同的优化器进行优化,具体代...

  • 神经网络

    个人理解,神经网络要实现的任务,对应数据和目标之间的真实函数关系,我们设计神经网络即是去无限逼近拟合该函数。 神经...

  • Pytorch_第九篇_神经网络中常用的激活函数

    神经网络中常用的激活函数 Introduce 理论上神经网络能够拟合任意线性函数,其中主要的一个因素是使用了非线性...

  • 用函数拟合能力解释神经网络

    有2种思路理解神经网络:一种是函数方式,另一种是概率方式。函数方式,通过神经网络进行复杂函数的拟合,生成对象的模型...

  • 预备知识及优化器

    神经网络预备知识 目标:学会神经网络优化过程,使用正则化减少过拟合,使用优化器更新网络参数 预备知识 神经网络复杂...

  • 常用激活函数总结

    神经网络与激活函数 神经网络从数学上来说,就是用来拟合一个函数。把数据扔进去,得到一个预测结果,以此来解决分类和回...

网友评论

      本文标题:神经网络实验:万能函数拟合器

      本文链接:https://www.haomeiwen.com/subject/mtailltx.html