BP神经网络

     本来想写人工神经网络,但是范围太广,无法驾驭,姑且就先写BP吧,因为BP是目前应用最广泛的神经网络模型之一。

一.人工神经网络

      人工神经网络(ANN)的研究在一定程度上收到了生物学的启发,因为生物的学习系统是有相互连接的神经元(neuron)组成的异常复杂的网络。而人工神经网络与此大体相似,它是由一系列简单神经元相互密集连接构成,其中每一个神经元有一定数量的实值输入(也可以是其他神经元的输出),并产生单一的实数输出(可能成为其他很多神经元的输入)。

      下图是一个人工神经元模型,可以帮助理解:

      其中:X1~Xn是从其他神经元传来的输入信号,Wij表示从神经元j到神经元i的连接权值,θ表示阈值(threshold),f为激活函数,Yi为神经元i输出。

二.适合神经网络学习的问题

      ANN适合具有以下特征的问题:

      1.实例是用很多“属性-值”对表示的;

      2.目标函数的输出可能是离散值、实数值或者由若干实数属性或离散属性组成的向量;

      3.训练数据可能包含错误;

      4.可容忍长时间的训练;

      5.可能需要快速求出目标函数值;

      6.人类能否理解学到的目标函数是不重要的。

      与其说这些是适合ANN的问题,不如说ANN本身特征如此,适用于这些问题。

三.BP算法

      BP算法是一种按误差逆传播算法训练的多层前馈网络。前馈网络只在训练过程中会有反馈信号,而在分类过程中数据只能向前传送,直到到达输出层,层间没有向后的反馈信号。也就是说,训练时权值W会根据反馈信号不断更新,得到一个学习机net,而分类的时候直接使用net中训练好的W,不需要再更新。

1.基本原理

      利用输出后的误差来估计输出层的直接前导层的误差,再用这个误差估计前一层的误差,如此一层一层的反传下去,就获得了所有其他各层的误差估计。

2.三层BP网络模型

      根据Kolrnogorov定理,一个3层BP神经网络能够实现对任意非线性函数进行逼近,一个典型的3层BP神经网络模型如下:

3.激活函数

      激活函数必须处处可导,一般都使用S型函数。

4.算法推导

      好吧,到了最为繁琐也最为重要的一部分,这也能够区分“会使用”和“真正掌握”。

      首先给出一些定义:

      输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元;

      输入向量:x=(x1,x2,...,xn)

      隐含层输入向量:hi=(hi1,hi2,...,hip)     

      隐含层输出向量:ho=(ho1,ho2,...,hop)    

      输出层输入向量:yi=(yi1,yi2,...yiq)

      输出层输出向量:yo=(yo1,yo2,...yoq)

      期望输出向量:d=(d1,d2,...,dq)

      输入层与隐含层的连接权值:Wih

      隐含层与输出层的连接权值:Who

      隐含层各神经元的阈值:bh

      输出层各神经元的阈值:bo

      样本数据个数:k=1,2,...,m

      激活函数:S型函数

      误差函数:

       算法步骤:

      对给予的一个输入样本,计算隐含层各神经元的输入输出:

      利用网络期望输出和实际输出,计算误差函数对输出层各神经元的偏导数δo(k):

      利用隐含层到输出层的连接权值、输出层的δo(k)和隐含层的输出计算误差函数对隐含层各神经元的偏导数δh(k):

 

      利用输出层各神经元的δo(k)和隐含层各神经元的输出来修正连接权值Who(k)

      隐含层各神经元的δh(k)和输入层各神经元的输入修正连接权Wih(k)

      计算全局误差,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,进入下一轮学习。

      当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,进入下一轮学习。     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值