什么是神经网络

这里写自定义目录标题

数学背景

在高中我们学习过线性回归,假设有一堆样本,包含了六栋房子的信息,包括房屋面积和房屋价格,想用房屋面积估计房屋价格,也就是说想建立一个房屋价格y和房屋面积x之间的函数。

高中的时候怎么做的?因为只有x和y两个变量,先画个xoy坐标系,把样本点(x,y)画上去,最后观察这些点是否在一条直线的附近。如果在的话,那么我们可以进行线性回归;不在那就不能直接用线性回归了。

话说A同学就是没观察出来咋整?有个理论可以帮助你x和y适不适合建立关系,这个理论叫Pearson相关系分析,它可以根据样本数据帮你计算出自变量和因变量之间相关性程度。

PS:Pearson相关性检验也是有要求的,比如变量必须是连续性变量,符合正态分布等等。

假设我们x和y符合线性回归的条件,那么把y和x的函数关系求出来的过程就是回归,或者叫拟合。

但是,我们假设的是符合线性回归,那么不符合的呢?咋办?我们知道,数学里最简单的函数是线性函数和多项式函数,如果不满足线性回归,可以通过数学手段转换成线性回归。比如y和x的散点图有点像y = x * x这种图,我们可以进行两端取对数,即 logy = 2 * logx,可以先把(logx,logy)进行散点图,就会近似在一条直线上,那么对(logx,logy)进行线性回归,从而对(x,y) 进行拟合。

神经网络

说道神经网络必须要提到神经元,因为神经网络就是由神经元组成的。神经元说成大白话就是一个线性累加器。基本结构如下。

在这里插入图片描述
在图中,a1、a2、a3作为神经的输入,w1、w2、w3作为a1、a2、a3的权重,z节点代表累加操作。即z = w1x1 + w2x2 + w3x3 。这是最简单的神经元,也是最简单的神经网络,三个输入,一个输出。

当然神经网络可以有多个输入多个输出,但是都是一个数学模型,比如下面这个图:
在这里插入图片描述
在图中,a1、a2、a3作为神经的输入,输出有两个z1、z2,权重已经在图中标出。值得注意的是,权重的第一个下标表示第几个输出,第二个下标表示第几个输入。

向上图这种每两层之间的神经元两两相连,称之为全连接神经网络。

此外我们可以看出,以上的神经网络只是一个多元线性模型,而且仅仅是线性模型,并不是所有的模型都是线性模型,也并不是所有的问题都能用线性模型来解决。为了解决非线性问题,引入了激活函数。

现代神经网络对上述说的那些神经网络增加了非线性函数的功能,如下图所示:
在这里插入图片描述
我们称非线性函数为激活函数,用于把线性数据转变为非线性数据的函数。其中有三种常用的激活函数,分别是sigmod函数、tanh函数和relu函数,函数图像如下图所示:

在这里插入图片描述
通过激活函数让神经网络可以处理非线性问题,当然激活函数的选择还有有门路的。

注意:我们经常在输入的时候会加一个偏置项b,那么神经网络模型一般是z = w1x1 + w2x2 + w3x3 + b;当然也可以写成矩阵形式Z = AW+b,如果添加了激活函数f,那么Z = f(AW+b)

说了半天,神经网络是什么鬼,是一个数学模型。

猜你喜欢

转载自blog.csdn.net/tsfx051435adsl/article/details/86604825
今日推荐