学习机器学习——神经网络

目录

0.神经网络是干嘛的?

1.神经元

2.神经元的学习

(1)学习方式

<1>监督学习

<2>非监督学习

<3>再励学习

(2)学习算法

<1>误差纠正学习

<2>海伯(Hebb)学习

<3>竞争学习

3.激活函数

4.BP神经网络

5.BP网络的训练学习过程


0.神经网络是干嘛的?

神经网络作为一种非线性的网络模型怼非线性科学进行研究,是一种模仿人类神经网络行为特征的分布式并行信息处理算法结构的动力学模型。它用于接收多路输入刺激,按加权求和超过一定阈值时产生“兴奋”输出,来模仿人类神经元的工作方式,并通过这些神经元相互连接的结构和反映关联强度的权系数,使其具有各种复杂的信息处理能力。其不是由于元性能不断改进,而是通过复杂的互联关系得以实现。所有它是一种联接机制模型,具有复杂系统的许多重要特征。

其实质反映了输入转化为输出的一种数学表达式,这种数学关系是由网络的结构决定的,网络的结构必须根据具体问题进行设计和训练。神经网络特别适宜结算模式事别的相邻模式聚类问题。而神经系统具有以下的特点:(1)神经元及其连接(2)神经元之间的连接强度是可以随训练而改变的(3)信号可以是起刺激作用,也可以起抑制作用(4)一个神经元接收的信号的累计效果决定该神经元的状态(5)神经元之间的连接强度决定信号传递的强度(6)每一个神经元都有一个阈值。

1.神经元

神经元是构成神经网络的最基本的单元,每个神经元都有一个胞体、连接其他神经元的轴突和树突组成。轴突负责将本神经元的输出信号传递给别的神经元,其末端的许多神经末梢可以同时将输出信号传给多个神经元,树突的功能是接受来自其他神经元的信号,神经元胞体将接受的所有信号进行简单地处理后输出。人工神经元模型(不带激活函数)如下图,其中X是其他神经元的信息,W是连接权值,该神经元表示对不同输入取权系数后求和输出。

2.神经元的学习

通过向环境学习获取信息并改进自身性能是人工神经元的一个重要特点。

(1)学习方式

按环境提供信息的多少,网络学习方式可以分为下面三种。

<1>监督学习

这种学习方式需要外界存在一个指导,指导的作用是对一组给定的输入提供应有的输出结果,学习系统可以根据已知输出与实际输之间的差值来调节系统参数。

<2>非监督学习

学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构。

<3>再励学习

外部环境对系统输出结果只给出评价,而不是输出结果,学习系统通过强化那些受奖励的动作来改善自身的性能。

(2)学习算法

学习算法也分为三种。

<1>误差纠正学习

最终目的是使某一基于误差信号的目标函数达到最小,网络中输出单元的实际输出在某种统计意义上最逼近应有输出,一旦选定了目标函数的形式,误差纠正学习就成为一个典型的最优解问题。最常用的目标函数是均方误差判据。

<2>海伯(Hebb)学习

由于学习过程中有关的突触发生变化,导致突触连接的增强和传递效能的提高。Hebb学习规则成为连接学习的基础,当某一突触两端的神经元激活同步时,该连接的强度应增强,反之则减弱。

<3>竞争学习

网络多个输出单元相互竞争,最后达到只有一个最强激活。

3.激活函数

将人工神经元的基本模型和激活函数合在一起才是神经网络的处理单元。

激发函数:y=f\sum_{t=0}^{n-1}W_{t}X_{t}-\Theta,其中f称为激活函数或作用函数,该输出为1或0取决于其输入之和大于或小于内部阈值\Theta,即f函数的定义如下:f=\left\{\begin{matrix} 1&\sigma > 0\\ 0&\sigma < 0 \end{matrix}\right.,1表示神经元被激活,0表示神经元被抑制。激励函数需要具有非线性的特点。常见的激活函数如下表:

函数名称 函数表达式 函数应用
阶跃函数 f(x)=\left\{\begin{matrix} 1&x\geq 0\\ 0&x\leq 0 \end{matrix}\right.f(x)=\left\{\begin{matrix} 1&x\geq 0\\ -1&x\leq 0 \end{matrix}\right. 离散型神经网络
分段线性    
S型函数 f(x)=\frac{1}{1+e^{-x}} 连续型神经网络
双曲正切函数 f(x)=tanh(x)=\frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}  
高斯型函数 f(x)=e^{-\frac{1}{2\sigma _{i}^{2}\sum_{j}^{ }(x_{j}-W_{ij})^{2}}} 径向基神经网络

4.BP神经网络

BP神经网络,又称误差逆传播神经网络或多层前馈神经网络。它是单向传播的多层前向神经网络,第一层是输入结点,最后一层是输出结点,其间有一层或多层隐含层结点,隐层中的神经网元均采用S型函数,输出层的神经元采用纯线性变换函数。

其输入输出关系是一个高度非线性映射关系,如果输入结点数为n,输出结点数为m,则网络是从n维欧式空间到m维空间的映射。其存在下面两个基本定理:(1)给定任一连续函数f:[0,1]^{n}\rightarrow R^{m},f可以用一个三层前向神经网络实现,输入层有n个神经元,中间层有2n+1个神经元,输出层有m个神经元。(2)给定任意\varepsilon > 0,对于任意的连续函数f:[0,1]^{n}\rightarrow R^{m},存在一个三层BP网络,在任意\varepsilon^{2}精度内逼近f。

增大网络层数可以降低误差,提高精度,但增大网络层数的同时使网络结构变得复杂,网络权值的数目急剧增大,从而使网络的训练时间增大。精度的提高也可以通过调整隐藏层中的结点数目实现,训练结果也更容易观察,所有通常考虑采用较少隐层的网络结构。网络中隐层结点较少,则学习过程可能不收敛,但是隐层结点数过多,则会出现长时间不收敛的问题,还会由于过拟合,造成网络的容错、泛化能力的下降。

BP神经网络的最终性能不仅由网络结构绝对,还与初始点、训练数据的学习顺序等有关,因而选择网络的拓扑结构是否具有最佳的网络性能,从函数拟合的角度看,BP网络具有插值功能。

5.BP网络的训练学习过程

假设BP网络每层有N个处理单元,则隐藏层第i个神经元所接收达的输入为:net_{i}=x_{i}w_{1i}+x_{2}w_{2i}+\cdots+x_{n}w_{ni},激励函数通常选用S型函数或双曲正切函数,则输出为:o=f(net)=\frac{1}{1+e^{-net}}

在前向传播阶段,从样本集中取一个样本输入网络计算相应输出

在向后传播阶段,计算实际输出与相应理想输出的差,按极小化误差的方式调整权矩阵,则网络对于第p个样本的误差测度为:E_{p}=\frac{1}{2}\sum_{j=1}^{m}(y_{pj}-o_{pj})^{2},对于整个样本集的误差测度为:E=\sum_{p}^{ }E_{p}。利用\delta学习规则,即利用梯度最速下降,使权值沿误差函数的负梯度方向改变。则有:\Delta w_{ji}\propto -\frac{\partial E_{p} }{\partial w_{ij}}

在误差传播分析过程,输出层权的调整为:w_{pq}=w_{pq}+\Delta w_{pq},w_{pq}表示输出层第q个神经元与隐含层第p个神经元之间的连接权值,而\Delta w_{pq}=\alpha f_{n}^{,}(net_{q})(y_{q}-o_{q})o_{p};隐藏层权值的调整与输出层相同,但\Delta v_{hq}=\alpha f_{k-1}^{,}(net_{p})(w_{p1}\delta _{1k}+w_{p2}\delta _{2k}+\cdots+w_{pm}\delta _{mk})oh_{k-2}

 

 

猜你喜欢

转载自blog.csdn.net/qq_35789421/article/details/113785701