原文:https://mp.weixin.qq.com/s/XA1zS9bvgAfRkmTh_e-78g
阅读本文,你可以理解:能逼近(拟合)任何函数只是个分段线性函数,让你深刻理解神经网络能力的边界,消除你对神经网络的神秘感。
需要你具备的知识:
1)一次函数(线性函数)一般形式y=kx+b(k不为0) 【人教社初中二年级】
2)分段函数 【人教社初中二年级】
3)异或函数 【 数字电路课本或任何编程语言的课本】
有两个原因导致人们对神经网络的强大能力充满神秘感和顶礼膜拜。第一,很多讲解神经网络的文章,都会列很多公式,或者讲动物的神经元的特性,让人觉得很深奥。第二,当提到神经网络可以逼近任何函数时,往往只提到结论,并说有人已经证明[1],但说不清原理,这让人觉得很高深,让人不明觉厉。
其实,神经网络能逼近任何函数的原理很简单,分段线性函数能逼近任何函数,激活函数让神经网络具备了“分段函数”的能力,所以神经网络能逼近任何函数。本文首次通过一个具体的实例,让大家快速理解。
没有激活函数,神经网络是线性函数
线性函数在二维空间(输入和输出的数量都为1),表现为一条直线。一条直线不能解决任何线性不可分的问题,也不能很好的拟合曲线。
图1 线性函数,可以解决线性可分的问题
图2 线性函数,不能解决线性不可分的问题
如图2所示,在"异或"问题上找不到一条直线能把X和O分开,就是说这是一个不能用直线分类的问题,这类问题叫非线性问题。
类推到多维空间,即输入的数量从1个变成多个时,线性函数也不能解决多维空间的非线性问题。
如果不用激活函数,神经网络每一