如果有什么疑问或者发现什么错误,欢迎在评论区留言,有时间我会一一回复。
1、神经网络简介
神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。神经元为神经网络中的基本组成单位,
下图为单个神经元的图片,如图所示,每个神经元的输入包含多个变量x1——xn以及一个偏置值b,同时输出h(x) = f(w1*x1+w2*x2+w3*x3+b),f(x)称激活函数。激活函数是用来加入非线性因素的,因为线性模型的表达能力不够(若采用性激活函数,将网络的多层展开,会发现都只是相当于一层的结果)。
常见的激活函数有sigmoid函数,双曲正切函数
,其函数图像如下图所示。
2、神经网络模型
将许多神经元连接在一起,某些神经元的输出为另一些神经元的输入,就可以构成神经网络。如下图,为一个简单的三层神经网络。
图中每一个圆代表一个神经元的输入,写有b的圆代表偏置项。图中最左边的层称为输入层,我们图中的神经网络有三个输入单元。最右边一层成为输出层,输出层可以有一个结点,也可以有多个结点,表示整个网络的输出。其他中间的层成为隐含层。
我这里用ali表示第l层第i个单元的激活值,即a22表示第二层第二个神经元的激活值;用Wijl表示第l层第i个神经元和第l+1层第j个神经元之间的连接参数;用bl表示第l层的偏置参数。则在我们的网络中第2层的神经元可以如下公式计算。
输出层
到这里我们发现,神经网络的计算可以表示成十分整齐的矩阵乘法运算,所以在实际神经网络的运算中一般将其表示为GPU上的矩阵运算来提高运算速度。