- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
Widrow-Hoff神经网络学习规则的应用研究
摘要:基于线性神经网络原理,提出线性神经网络的模型,并利用Matlab实现Widrow-Hoff神经网络算法。分析Matlab人工神经网络工具箱中有关线性神经网络的工具函数,最后给出线性神经网络在系统辨识中的实际应用。通过对线性神经网络的训练,进一步验证Widrow-Hoff神经网络算法的有效性,以及用其进行系统辨识的高精度拟合性。
关键词:Widrow-Hoff学习规则;线性神经网络;Matlab;系统辨识
1 引言
利用神经网络解决实际问题时,必定涉及大量数值计算。为了解决数值计算与计算机仿真间的矛盾。美国MathWorks公司推出的集数学计算、图形计算、语言设计、计算机仿真于一体的Matlab具有非线性适应性信息处理功能,克服传统人工智能方法对于直觉,如模式、语言识别、非结构化信息处理方面的缺陷,使之在神经专家系统、模式识别、智能控制、组合优化、预测等领域获得成功,具有极高的编程效率。神经网络工具箱是以神经网络理论为基础,用Matlab语言构造的典型神经网络工具函数。Matlab中大量有关线性神经网络的工具函数可为线性神经网络研究和应用提供强有力的工具。
2 线性神经网络原理
2.1 线性神经网络的模型
图1是具有R个输入的单层(有S个神经元)线性神经网络结构,其权值矩阵为w,阈值向量为b,这种网络也称为Madaline网络。
2.2 线性神经网络的学习规则
线性神经网络是基于线性神经网络算法。线性神经网络采用Widrow-Hoff学习规则,利用learnwh()函数修正网络的权值和阈值。使用Widrow-Hoff学习规则训练网络某一层的权值和阈值,使其线性逼近一个函数式。
首先定义一个线性网络的误差函数:
通过式(1)可知,线性网络具有抛物面型的误差曲面,因此只有一个误差最小值。由于该值取决于网络的权值和目标矢量,于是可通过调整权值使误差达到最小。Widrow-Hoff学习规则是通过沿着相对于误差平方和的最速下降方向,连续调整网络的权值和阈值,根据梯度下降法,权值矢量的修正正比于当前位置上的e(w,b)的梯度,对于第i个输出节点:
式中,η是学习率。
当η较大时,学习过程加速,网络收敛较快,但η过大时,学习过程变得不稳定,且误差增大;δ(i)=t(i)-a(i)。
以上各式为Widrow-Hoff学习规则最小均方误差算法(LMS)。Widrow-Hoff学习规则的权值变化量正比于网络的输出误差及网络的输入矢量。该算法无需求导,因此较简单,并具有收敛速度快和精度高的优点。由于学习率与学习过程比较密切,因此学习率的取值非常关键。
采用Widrow-Hoff规则训练的线性网络,该网络能够收敛的必要条件是被训练的输入矢量必须是线性独立的,且应适当选择学习率。
3 线性神经网络设计
Matlab神经网络工具箱中含有易于构建的神经网络函数。以下详细说明线性神经网络设计。
3.1 线性神经网络的Matlab设计
3.1.1 线性神经网络初始化
初始化是对连接权值和阈值进行初始化。initwb()初始化函数是对网络的某一层的权值和阈值进行初始化,其格式为:net=initwb(net,i)。其中,i表示网络的第i层。函数返回为第i层的权值和阈值都更新的网络。
3.1.2 训练网络
线性神经网络初始化后,就可对其训练。设置参数,诸如学习步长、误差目标等,同时在网络训练过程中,图形显示网络误差随学习次数的变化而变化。
其格式为:
式中,Pd为延迟输入;T为每一层的目标向量;Ai为初始输入条件;Q为输入向量个数;TS为时间步长;VV为空矩阵或确定的向量结构。
3.1.3 网络仿真
仿真甬数sim()用来网络仿真。其格式为:[Y,Pf,Af]=sim(net,{Q TS},Pi,Ai)。其中,Y为训练好的线性神经网络的实际输出;Pf为最终输出延迟;Af为最终的层延迟。
3.2 训练步骤
(1)根据给定的输入矢量计算网络的输出矢量a=wxp+b,并计算与期望输出之间的误差e=t-a;
(2)将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练以达到事先设定的最大训练次数,则终止训练;否则,继续训练;
(3)采用Widfrow-Hoff学习规则计算新的权值和阈值,并返回至(1)。
4 线性神经网络在系统辨识中的应用
4.1 工作原理
线性神经网络用于线性系统辨识必须遵循系统辨识的3个基本构成原则:(1)选择在满足给定的误差准则下逼近系统的最简单模型;(2)输入信号的频谱必须足以覆盖系统的频谱;(3)误差准则由误差的泛函表示。
对于一个具有m个输入和n个输出的r阶离散线性系统,可由n个差分方程来描述,其中第l个差分方程的一般形式表示为:
式中,aij和bij是方程右边各项系数,如果某项系数为零,则该项与y1(k)无关,去掉该项。
从式(5)可以看出,线性系统k时刻的输出可以由前面时刻有关输入输出线性表示,这种关系类似于单层线性神经网络输入输出之间的关系。根据上述原则(1),建立线性神经网络以辨识线性系统,神经网络的输入由系统输入输出信号的时延序列组成,网络的输入个数与系统阶数有关,神经网络的输出代表系统输出的估计值,网络的输出个数等于系统输出个数。网络建立后,根据基本构成原则(2),运用Widrow-Hoff学习规则训练神经网络,反复调节网络的权值和阈值,使网络输出y(k)和系统输出Y(k)之间的输出误差不断减小,直至达到规定精度要求。
4.2 应用实例
设系统传递甬数为用线性神经网络辨识其脉冲响应。设置如果迭代次数大于10 000或误差小于0.001时,训练结束。
采用其工作原理及Widrow-Hoff规则训练给定系统。训练过程中,当迭代的次数大于10 000或误差小于目标误差时,训练结束。图2为训练后的训练误差及步数曲线,由图2看出,经过7 766步训练后误差达到0.000 999 252小于误差目标e=0.001,训练结束。
图3为训练后的结果与期望结果的比较,图中,“ ”表示训练值,连续曲线表示理论值。由图3可见,训练值和理论值基本拟合。
需要注意的是,在训练过程中发现,由于权值的初始值是随机的,经多次训练,每次的训练结果都不一样,有时训练到10 000步时仍然收敛不到0.001。由此可见,初始权值的选取对训练是有一定影响的。选取初始值时应要根据具体要求而定,不能随意而定。
5 结语
论述的Widrow-Hoff学习规则算法可实现,仿真结果表明Widrow-Hoff学习规则无需求导,算法比较简单,收敛速度快。采用线性神经网络辨识系统,无需建立实际系统的辨识模式,因为线性神经网络本身已作为一种辨识模型,可达到很高的辨识速度且拟合精度较高。该方法还可推广至其他本质非线性系统。
射频工程师养成培训教程套装,助您快速成为一名优秀射频工程师...
闂傚倸鍊搁崐宄懊归崶顒夋晪鐟滃繘骞戦姀銈呯疀妞ゆ棁妫勬惔濠囨⒑瑜版帒浜伴柛鐘冲浮瀹曟垿骞橀幇浣瑰兊濡炪倖鍔戦崹鍦矈椤曗偓濮婃椽妫冨☉娆樻闂佺ǹ锕ら…鐑界嵁閹达箑绀嬫い鎺戝€婚幊婵嗩渻閵堝棛澧痪鏉跨Т閳诲秵绻濋崶銊㈡嫽婵炴挻鍩冮崑鎾寸箾娴e啿娲﹂弲顒勭叓閸ャ劎鈽夐柣鎺戠仛閵囧嫰骞掗幋婵愪患闂佽棄鍟伴崰鏍蓟閺囥垹閱囨繝鍨姈鏁堥梻浣呵归鍐礉瀹ュ桅闁告洦鍨伴崘鈧梺闈涒康婵″洤鈻撻妶鍡欑瘈闁冲皝鍋撻柛鏇ㄥ墰椤︿即姊洪崫鍕効缂傚秳绶氶悰顔嘉熼崗鐓庢瀭闂佸憡娲﹂崢褰掑焵椤掆偓閿曨亜顫忓ú顏呭仭闁哄瀵т簺婵$偑鍊栭崹鐢杆囬悽绋课ュù锝呭濞笺劑鏌嶈閸撶喖鐛崘顔碱潊闁靛牆鎳庣粣娑欑節閻㈤潧孝閻庢凹鍘奸埢鎾活敊閸撗咃紳闂佺ǹ鏈懝楣冨焵椤掑嫷妫戠紒顔肩墛缁楃喖鍩€椤掑嫨鈧線寮介鐐殿吅闂佹寧娲嶉崑鎾剁磼閻欌偓閸ㄥ爼寮婚妸鈺傚亞闁稿本绋戦锟� | More...
闂傚倸鍊搁崐宄懊归崶顒夋晪鐟滃繘骞戦姀銈呯疀妞ゆ棁妫勬惔濠囨⒑瑜版帒浜伴柛鐘冲浮瀹曟垿骞橀幇浣瑰兊濡炪倖鍔戦崹鍦矈椤曗偓濮婃椽妫冨☉娆樻闂佺ǹ锕ら…鐑界嵁閹达箑绀嬫い鎺戝€婚幊婵嗩渻閵堝棛澧痪鏉跨Т閳诲秵绻濋崶銊㈡嫽婵炴挻鍩冮崑鎾寸箾娴e啿娲﹂弲顒勭叓閸ャ劎鈽夐柣鎺戠仛閵囧嫰骞掗幋婵愪患闂佽棄鍟伴崰鏍蓟閺囥垹閱囨繝鍨姈鏁堥梻浣呵归鍐礉瀹ュ桅闁告洦鍨伴崘鈧梺闈涱槶閸庮噣宕戦幘璇插唨妞ゆ劗鍠庢禍鐐叏濡厧浜鹃悗姘炬嫹濠电姷鏁告慨鐑藉极閹间礁纾婚柣鎰惈閸ㄥ倿鏌涢锝嗙缂佺姴缍婇弻宥夊传閸曨剙娅i梺绋胯閸旀垿寮婚敐澶婄疀闂傚牊绋戦埛鎺戔攽閻愯尙澧旂紒顔界懇瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛鎾茬劍閸忔粓鏌涢锝嗙闁汇倗鍋撶换婵嬫濞戝崬鍓梺閫炲苯鍘搁柣鎺炲閹广垹鈹戠€n亞鍊為梺鑲┣归悘姘枍閹剧粯鈷掑ù锝呮啞閸熺偞绻涚拠褏鐣电€规洘绮岄埥澶愬閳锯偓閹稿啴姊洪崨濠冨闁稿繑绋撻幑銏ゅ幢濞戞瑧鍘梺鍓插亝缁诲啴宕崇憴鍕╀簻闊洦鎸鹃幗鐘睬庨崶褝韬い銏℃礋椤㈡鎷呴崜韫处
闂傚倸鍊搁崐宄懊归崶顒夋晪鐟滃繘骞戦姀銈呯疀妞ゆ棁妫勬惔濠囨⒑瑜版帒浜伴柛鐘冲浮瀹曟垿骞橀幇浣瑰兊濡炪倖鍔戦崹鍦矈椤曗偓濮婃椽妫冨☉娆樻闂佺ǹ锕ら悘婵嬫偩闁垮闄勭紒瀣仢瀹撳棝姊虹紒妯哄妞ゆ梹鐗曞嵄婵炲樊浜濋悡鐔兼煟閺傛寧鎲搁柣顓炶嫰椤儻顦虫い銊ョ墦瀵偊顢氶埀顒勭嵁閹烘绫嶉柍褜鍓熷鍐测堪閸喓鍘甸梺璇″灡濠㈡ǹ顣块梻浣虹帛閹搁箖宕伴幇鏉课﹂柛鏇ㄥ灱閺佸啯銇勯幇鈺佺仼缂佺姾宕电槐鎾存媴閻ゎ垰鍘¢梺绋跨箲閿曘垹顕f繝姘櫜濠㈣埖蓱閺咃綁姊虹紒妯哄缂佷焦鎸抽獮鎰板礃椤旇В鎷洪梺鑽ゅ枑濠㈡ê危缂佹ǜ浜滈柟瀛樼箥濡偓闂佺粯渚楅崳锝夌嵁鐎n喗鏅濋柍褜鍓涚划璇测槈閵忊檧鎷婚梺鍓插亞閸犳捇鍩婇弴銏$厱濠电姴鍊块崣鍕叏婵犲嫮甯涢柟宄版嚇閹煎綊鐛惔鎾充壕濠电姴娲﹂悡娑㈡煕濞戝崬鏋ょ紒鐘靛仱閺屾洟宕遍弴鐘插缂備胶绮换鍫濈暦閸洘鍤嬮柛顭戝亝閻濓箓姊婚崒娆戭槮闁规祴鈧秮娲晝閸屾艾鍋嶉梺浼欑到婢跺洭宕戦幘鎰佹僵妞ゆ挾鍋涢幗鐢告⒑閸濆嫭婀伴柣鈺婂灦閻涱喖螣娓氼垱瀵岄柣鐘叉穿瀵挻绔熼弴銏♀拻濞达絽鎲¢幆鍫ユ煟椤撶儐妯€妤犵偛绻橀弫鎾绘晸閿燂拷
闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗ù锝堟缁€濠傗攽閻樻彃鈧绱撳杈ㄥ枑闁哄啫鐗勯埀顑跨窔瀵粙顢橀悙鑼垛偓鍨攽閿涘嫬浠х紒顕呭灦瀵偊鎮╃紒妯锋嫼闂備緡鍋嗛崑娑㈡嚐椤栨稒娅犳い鏂款潟娴滄粍銇勯幘璺轰沪闁稿鍎抽埀顒冾潐濞叉粓骞婇幘璇茬叀濠㈣泛艌閺嬪酣鏌熼柇锕€鏋涚紒鎻掓健濮婂宕掑▎鎴濆闂佽鍠栭悥鐓庣暦閹版澘鍗抽柣蹇氼嚙缂嶅﹪骞冨⿰鍫熷癄濠㈣泛鐭堥崬鐢告⒑鐠囨彃鍤辩紓宥呮瀹曚即寮介銈勭瑝闂佸搫琚崕鏌ユ偂濞嗗緷褰掓偂鎼达絾鎲煎┑鐐村毆閸ャ劎鍘靛銈嗘瀹曠數绮i弮鈧幈銊︾節閸涱噮浠╅梺鍛婄墬閻楃姴顕i幘顔藉亜闁告縿鍎辩徊鍨攽閿涘嫬浜奸柛濠冨灴瀹曠銇愰幒鎾存珖濡炪倕绻愰悧鍕焵椤戣法顦﹂柍璇查叄楠炴ê鐣烽崶鑸敌у┑锛勫亼閸婃牠骞愭ィ鍐ㄧ獥閹兼番鍔嶉崑鐔访归悡搴f憼闁抽攱鍨块弻娑樷槈濮楀牊鏁鹃柣搴$仛閻熲晠寮诲鍫闂佸憡鎸鹃崰搴敋閿濆棛绡€婵﹩鍘藉▍銏ゆ⒑鐠恒劌娅愰柟鍑ゆ嫹
濠电姷鏁告慨鐑藉极閸涘﹥鍙忓ù鍏兼綑閸ㄥ倻鎲搁悧鍫濈瑲闁稿﹤鐖奸弻娑㈩敃閻樻彃濮庨梺姹囧€楅崑鎾舵崲濠靛顥堟繛鎴濆船閸撲即姊洪崨濠呭缂傚秴锕悰顕€寮介妸锔剧Ф闂佸憡鎸嗛崥閿嬪灦缁绘繂鈻撻崹顔句哗闂侀潧鐗婇幃鍌氼嚕婵犳碍鍋勯柣鎴灻弸鍌炴⒑閸涘﹥澶勯柛瀣椤ゅ倿姊婚崒娆戭槮闁硅绻濆畷娲礃椤旇偐锛涢梺鐟板⒔缁垶鎮¢悢鐓庣婵烇綆鍓欓埀顑惧€曞玻鍧楀箛閻楀牏鍘靛銈嗘閸嬫劙宕洪敐鍥e亾鐟欏嫭绀冩繛鑼枛閻涱喗鎯旈妸锕€鐧勬繝銏f硾閼活垶鐛幒妤佲拻濞达絿枪閹垹绱掓担瑙勫唉鐎殿喗褰冮オ浼村醇濠靛洩绶㈡繝鐢靛Т閿曘倝鎮ф繝鍥ㄥ亗闁哄洨鍠嗘禍婊堟煙閺夊灝顣抽柟顔垮亹缁辨帡鎮╃粵纭呪偓鍧楁煛鐏炲墽鈽夋い顐g箞椤㈡﹢鎮╅崘鍙夌彴闂傚倷娴囬鏍窗濞戭澁缍栧璺虹灱缁犳棃鏌i弮鍌氬付闁绘劕锕﹂幉绋款吋閸モ晙绗夐梺鑽ゅ枛閸嬪﹤銆掓繝姘厪闁割偅绻傞弳娆忊攽閿涘嫭娅曠紒杈ㄥ浮椤㈡瑦绺界粙鍨強婵°倗濮烽崑娑⑺囬婵堜簷闂備礁鎲℃笟妤呭窗濡も偓閳诲秹濮€閵堝棌鎷洪柣鐘充航閸斿苯鈻嶉幇鐗堢厵闁告垯鍊栫€氾拷