为什么神经网络能拟合出任何函数
1、神经元的模型是基于线形回归方程的,可以简单理解为一条直线,如果要拟合出任何函数,那么就要具备直线变曲线的能力,所以导致了激活函数的产生。
2、我们以最常见的激活函数:sigmod/ReLu激活函数为列,进行讲解.
3、今天我们主要讲解ReLU函数,因为sigmode函数已经有人讲解了,而且讲的非常好。
4、英文原版:
5、翻译文章:
6、首先我们直接说结论:
7、如果我们有一条曲线,那么可以按照什么样的方式去进行拟合呢?
8、接下来我们要介绍区间拟合的方法,有种类似积分,用无数的小区间去把复杂的曲线进行拆分,当区间无数多的时候,拟合的效果是最接近的.
9、那么到了划分区间的时候了,我们有2种方式来进行区间的划分 。
10、第一种区间划分方式:
11、这种方式是选用激活函数为sigmode对拟合方式,让我们看看sigmod激活函数的原型.
12、注意上面这个是关于y 和 z的函数关系图,z = wx + b ,我们最终要看的是关于y和x的函数关系图,通过不断的调整w和b我们可以得到下面的图:
13、不断的调整w和b的过程其实是运用梯度下降的方式来进行的,通过梯度下降会确保我们调整的方向永远是梯度下降的方向。
14、当我们有2给这样的曲线,通过曲线一+曲线二的方式,我们就可以得到什么?
15、这些是一些很简单明了的能接受的定理,也就是再复杂的曲线,只要有足够数量的s1 ,s2,s3,s4,s5........ ,在复杂的曲线也能拟合的出来.
16、上面是sigmod函数拟合的原理,下面我们重点讲点ReLu的拟合原理.
17、sigmod是通过类似门框这样的曲线来拟合曲线,ReLu是按照下图这样的方式来进行拟合的.
18、sigmod是一条一条门框线,ReLU是一条一条的直线进行拟合,当这些直线足够多的时候,同样可以拟合出很好的效果.
19、ReLU的函数原型如下:
20、这个函数怎么理解?比如一条直线y = ax + b ; 调用ReLU后,就会变形为:
21、神经元是以回归方程为基本模型的,经过一个ReLU后,还是一条直线,但是如果一条直线,经过2个ReLU函数处理后呢?
22、按照上图的方式 1 + 2 = 3 ,3是一条弯曲的折线,是由1和2相加后拟合出来的,同sigmod一样,只要1 2 足够多,也同样可以拟合出一条无限逼近的曲线.
23、结论是:
24、要拟合效果越好,那么隐含层的神经元的数量要越多越好,只有数量足够多,切分的区间才能足够小,才能达到尽可能好的拟合效果.
25、如果是三维的,那么门状的就会变为柱体,直线就会一个平面。
26、超过三维就超出我能理解的范畴了。
27、题外话:
28、隐含层神经元的数量多了,经常会出现过拟合的情况?过拟合就是在训练数据上表现良好,但是在实际的测试数据中表现数据很糟糕。
29、原因在于训练数据多了不够pure,所以要drop out一些数据,或者对数据进行层层的预处理,大名鼎鼎的卷积神经玩过其实直白点说,就是净化数据的。
【#为什么神经网络能拟合出任何函数#】到此分享完毕,希望对大家有所帮助。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
- 08-15
- 08-15
- 08-15
- 08-15
- 08-14
- 08-14
- 08-14
- 08-14
最新文章
- 08-15
- 08-15
- 08-15
- 08-15
- 08-15
- 08-15
- 08-15
- 08-15