您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > BP神经网络算法理论知识
人工神经网络算法计算机科学与技术191093张希鹏发展史初始发展时期(1940-1960)研究主流是仿生学结构主义,其动机是要用硬件来模仿人脑的结构和功能.低谷时期(1960-1980)1972年,TeuvoKohonen和JamesAnderson分别独立地提出了一种可以作为记忆器的新网络.当时由于没有功能强大的数字计算机来做大量计算是制约神经网络领域研究的一个重要原因.复兴时期(1980以来)个人计算机和工作站越来越普及,其功能越来越强大,.而且提出了一些重要的新概念.JohnHopfield:Hopfieldnetwork(1982)DavidRumelhart和JamesMcClelland(1986):Backpropagationalgorithm(反传算法,BP算法)应用其中一个成功的商业应用是:1984年,自适应信道均衡器神经网络的应用领域包括:航空,汽车,银行,国防,电子,娱乐,金融,保险,制造,医药,石油,机器人技术,通讯,运输等等生物学的神经元(Neuron)•神经元组成神经网络的基本信息处理单元.n=w1,1p1+w1,2p2+…+w1,RpR+b,n=Wp+ba=f(n)=f(Wp+b)输入:p1,p2,…,pRp=(p1,p2,…,pR)T权重:w1,1,w1,2,…,w1,RW=(w1,1,w1,2,…,w1,R)偏置:b激励函数:fp*=(1,p1,p2,…,pR)T,W*=(b,w1,1,w1,2,…,w1,R)n=W*p*,a=f(n)=f(W*p*)•多层神经元输入层隐层输出层学习律有监督(教师)的学习(SupervisedLearning)无监督(教师)的学习(UnsupervisedLearning)设()是有界单调增的连续函数,而且()不是常数,则对任意给定的n-维单位超立方体[0,1]n上的连续函数f,有:对任意给定的0,存在整数m和实常数i,bi,wij,其中i=1,…,m,j=1,…,n,使得111(,...,)mnniijjiijFxxwxb是函数f()的近似,满足|F(x1,…,xn)–f(x1,…,xn)|只要隐层神经元足够多,隐层激励函数sigmoid函数,输出层激励函数是线性函数的两层网络实质上可以逼近任意函数到任意精度.BP网络的标准学习算法•学习的过程:–神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。•学习的本质:–对各连接权值的动态调整•学习规则:–权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。•正向传播:–输入样本---输入层---各隐层---输出层•判断是否转入反向传播阶段:–若输出层的实际输出与期望的输出(教师信号)不符•误差反传–误差以某种形式在各层表示----修正各层单元的权值•网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止BP网络的标准学习算法-学习过程BP网络的标准学习算法•网络结构–输入层有n个神经元,隐含层有p个神经元,输出层有q个神经元•变量定义–输入向量;–隐含层输入向量;–隐含层输出向量;–输出层输入向量;–输出层输出向量;–期望输出向量;12,,,nxxxx12,,,phihihihi12,,,phohohoho12,,,qyiyiyiyi12,,,qyoyoyoyo12,,,qdddodBP网络的标准学习算法–输入层与中间层的连接权值:–隐含层与输出层的连接权值:–隐含层各神经元的阈值:–输出层各神经元的阈值:–样本数据个数:–激活函数:–误差函数:ihwhowhbob1,2,kmf()211(()())2qoooedkyokBP网络的标准学习算法•第一步,网络初始化–给各连接权值分别赋一个区间(-1,1)内的随机数,设定误差函数e,给定计算精度值和最大学习次数M。•第二步,随机选取第个输入样本及对应期望输出12()(),(),,()nkxkxkxkx12()(),(),,()qkdkdkdkodBP网络的标准学习算法•第三步,计算隐含层各神经元的输入和输出1()()1,2,,nhihihihikwxkbhp()f(())1,2,,hhhokhikhp1()()1,2,pohohohyikwhokboq()f(())1,2,ooyokyikoqBP网络的标准学习算法•第四步,利用网络期望输出和实际输出,计算误差函数对输出层的各神经元的偏导数。()okohoohoeeyiwyiw(())()()phohoohhhohowhokbyikhokww211((()()))2(()())()(()())f(())()qoooooooooooodkyokedkyokyokyiyidkyokyikkBP网络的标准学习算法第五步,利用隐含层到输出层的连接权值、输出层的和隐含层的输出计算误差函数对隐含层各神经元的偏导数。()ok()hk()()oohhoohoeeyikhokwyiw1()()(())()()hihhihnihihhiiihiheehikwhikwwxkbhikxkwwBP网络的标准学习算法21212111((()()))()2()()()1((()f(())))()2()()1(((()f(())))()2()()qoohohhhqoohohhqpohohohohhhdkyokehokhikhokhikdkyikhokhokhikdkwhokbhokhokhik11()(()())f(())()(())f(())()qhooohoohqohohhohokdkyokyikwhikkwhikkBP网络的标准学习算法•第六步,利用输出层各神经元的和隐含层各神经元的输出来修正连接权值。()ok()howk1()()()()()hoohhoNNhohoohewkkhokBP网络的标准学习算法•第七步,利用隐含层各神经元的和输入层各神经元的输入修正连接权。()hk1()()()()()()()hihhiihhihNNihihhieehikwkkxkwhikBP网络的标准学习算法•第八步,计算全局误差•第九步,判断网络误差是否满足要求。当误差达到预设精度或学习次数大于设定的最大次数,则结束算法。否则,选取下一个学习样本及对应的期望输出,返回到第三步,进入下一轮学习。2111(()())2qmookoEdkykm•BP算法直观解释–情况一直观表达•当误差对权值的偏导数大于零时,权值调整量为负,实际输出大于期望输出,权值向减少方向调整,使得实际输出与期望输出的差减少。whohoewe0,此时Δwho0BP网络的标准学习算法BP网络的标准学习算法•BP算法直解释–情况二直观表达•当误差对权值的偏导数小于零时,权值调整量为正,实际输出少于期望输出,权值向增大方向调整,使得实际输出与期望输出的差减少。hoewe0,此时Δwho0who反传算法(BP算法)训练数据:{p1,t1},{p2,t2},…,{pQ,tQ}均方误差:E(eTe)=E((t–a)T(t–a))均方误差可由下式近似(k)=(t(k)–a(k))T(t(k)–a(k))=eT(k)e(k)学习律:w(k+1)=w(k)–()()kwk•Log-sigmoid激励函数:1()1nafne2()(1)nndfnedne=f(n)(1–f(n))•Hyperbolictangentsigmoid激励函数:()nnnneeafnee2()1nnnndfneednee=(1–f(n))(1+f(n))反传(BP)算法总结:•初始化•给出训练数据•前向计算•反向计算•迭代通常初始权重和偏置选为小随机数选择网络结构要达到足够的性能,需要多少层,每层要多少个神经元?3()1sin2gpp–2p2隐层神经元个数增加的效果:收敛性g(p)=1+sin(p),–2p2收敛的全局最小收敛到局部极小网络确实可以逼近给定的函数,但学习算法没有收敛到使网络有良好逼近性能的网络参数.即使反传算法收敛了,我们也不能确保得到了一个最优解.可以采用不同的初始条件多试几次,以保证得到最优解.•如果要一个网络的推广性能好,那么它所含参数的个数应小于训练集中数据点的个数.学习模拟•苹果脆度色泽含水量0.80.60.10.90.70.310.80.4•梨子脆度色泽含水量0.60.20.40.30.10.90.20.71.0通过学习样本数据认识这两种水果谢谢!
本文标题:BP神经网络算法理论知识
链接地址:https://www.777doc.com/doc-3349637 .html