7»ùÓÚÉñ¾­ÍøÂçµÄģʽʶ±ðʵÑéÒªÇó ÏÂÔØ±¾ÎÄ

ʵÑéÆß »ùÓÚÉñ¾­ÍøÂçµÄģʽʶ±ðʵÑé

Ò»¡¢ÊµÑéÄ¿µÄ

Àí½âBPÉñ¾­ÍøÂçºÍÀëÉ¢HopfieldÉñ¾­ÍøÂçµÄ½á¹¹ºÍÔ­Àí£¬ÕÆÎÕ·´Ïò´«²¥Ñ§Ï°Ëã·¨¶ÔÉñ¾­ÔªµÄѵÁ·¹ý³Ì£¬Á˽ⷴÏò´«²¥¹«Ê½¡£Í¨¹ý¹¹½¨BPÍøÂçºÍÀëÉ¢HopfieldÍøÂçģʽʶ±ðʵÀý£¬ÊìϤǰÀ¡ÍøÂçºÍ·´À¡ÍøÂçµÄÔ­Àí¼°½á¹¹¡£ ¶þ¡¢ÊµÑéÔ­Àí

BPѧϰËã·¨ÊÇͨ¹ý·´Ïòѧϰ¹ý³ÌʹÎó²î×îС£¬ÆäËã·¨¹ý³Ì´ÓÊä³ö½Úµã¿ªÊ¼£¬·´ÏòµØÏòµÚÒ»Òþº¬²ã(¼´×î½Ó½üÊäÈë²ãµÄÒþº¬²ã)´«²¥ÓÉ×ÜÎó²îÒýÆðµÄȨֵÐÞÕý¡£BPÍøÂç²»½öº¬ÓÐÊäÈë½ÚµãºÍÊä³ö½Úµã£¬¶øÇÒº¬ÓÐÒ»²ã»ò¶à²ãÒþ(²ã)½Úµã¡£ÊäÈëÐźÅÏÈÏòǰ´«µÝµ½Òþ½Úµã£¬¾­¹ý×÷Óúó£¬ÔÙ°ÑÒþ½ÚµãµÄÊä³öÐÅÏ¢´«µÝµ½Êä³ö½Úµã£¬×îºó¸ø³öÊä³ö½á¹û¡£

ÀëÉ¢HopfieldÉñ¾­ÍøÂçµÄÁªÏë¼ÇÒä¹ý³Ì·ÖΪѧϰºÍÁªÏëÁ½¸ö½×¶Î¡£ÔÚ¸ø¶¨Ñù±¾µÄÌõ¼þÏ£¬°´ÕÕHebbѧϰ¹æÔòµ÷ÕûÁ¬½ÓȨֵ£¬Ê¹µÃ´æ´¢µÄÑù±¾³ÉÎªÍøÂçµÄÎȶ¨×´Ì¬£¬Õâ¾ÍÊÇѧϰ½×¶Î¡£ÁªÏëÊÇÖ¸ÔÚÁ¬½ÓȨֵ²»±äµÄÇé¿öÏ£¬ÊäÈ벿·Ö²»È«»òÕßÊÜÁ˸ÉÈŵÄÐÅÏ¢£¬×îÖÕÍøÂçÊä³öij¸öÎȶ¨×´Ì¬¡£

Èý¡¢ÊµÑéÌõ¼þ

Matlab 7.X µÄÉñ¾­ÍøÂ繤¾ßÏ䣺ÔÚMatlab 7.X µÄÃüÁî´°¿ÚÊäÈënntool£¬È»ºóÔÚ¼üÅÌÉÏÊäÈëEnter¼ü£¬¼´¿É´ò¿ªÉñ¾­ÍøÂ繤¾ßÏä¡£ ËÄ¡¢ÊµÑéÄÚÈÝ

1.Õë¶Ô½Ì²ÄP243Àý8.1£¬Éè¼ÆÒ»¸öBPÍøÂç½á¹¹Ä£ÐÍ£¨63-6-9£©£¬²¢ÒԽ̲Äͼ8.5 ΪѵÁ·Ñù±¾Êý¾Ý£¬Í¼8.6Ϊ²âÊÔÊý¾Ý¡£

£¨1£©ÔËÐÐtrain_data.mºÍtest_data.mÎļþ£¬È»ºó´ÓMatlab¹¤×÷¿Õ¼äµ¼È루Import£©ÑµÁ·Ñù±¾Êý¾Ý£¨inputdata10£¬outputdata10£©ºÍ²âÊÔÊý¾Ý£¨testinputdata£¬testoutputdata£©£¬Æä´Îн¨Ò»¸öÉñ¾­ÍøÂ磨New Network£©£¬Ñ¡Ôñ²ÎÊýÈçϱí1£¬¸ø³öBPÉñ¾­ÍøÂç½á¹¹Í¼¡£

±í1 BPÍøÂç½á¹¹Ä£Ð͵ĸ÷Ïî²ÎÊýÉèÖà nn10_1 Network Name£¨Éñ¾­ÍøÂçÃû³Æ£© Network Type£¨Éñ¾­ÍøÂçÀàÐÍ£© Feed-forward backprop£¨Ç°À¡·´Ïò´«²¥£© Input ranges£¨ÊäÈëÐÅÏ¢·¶Î§£© À´×ÔѵÁ·Ñù±¾µÄÊäÈëÊý¾Ý£¨inputdata10£© Training function£¨ÑµÁ·º¯Êý£© TRAINGD(ÌݶÈϽµBPËã·¨) Performance function£¨ÐÔÄܺ¯Êý£© Number of layers£¨Éñ¾­ÍøÂç²ãÊý£© Layer1£¨µÚ1²ã£©µÄNumber of neurons (Éñ¾­Ôª¸öÊý) Layer1£¨µÚ1²ã£©µÄTransfer Function (´«µÝº¯Êý) Layer2£¨µÚ2²ã£©µÄNumber of neurons (Éñ¾­Ôª¸öÊý) Layer2£¨µÚ2²ã£©µÄTransfer Function (´«µÝº¯Êý) MSE£¨¾ù·½Îó²î£© 2 6 LOGSIG£¨SÐͺ¯Êý£© 9 LOGSIG£¨SÐͺ¯Êý£© £¨2£©ÊäÈëѵÁ·Ñù±¾Êý¾Ý£¨inputdata10£¬outputdata10£©£¬Ëæ»ú³õʼ»¯Á¬½ÓȨ£¨Initialize Weights£©£¬È»ºó½øÐÐѵÁ·£¨Train£©£¬ÑµÁ·²ÎÊýÉèÖÃÈç±í2Ëùʾ£¬²¢¹Û²ìѵÁ·Ä¿±êÖµ±ä»¯ÇúÏßͼ£¬×îºó°ÑBPÉñ¾­ÍøÂçѵÁ·³É¹¦ºó(¼´Îó²î²»Ôٱ仯ºó)µÄÎó²îÖµÌîÈë±í3¡£

±í2 BPÍøÂçѵÁ·²ÎÊý

ѵÁ·´ÎÊý£¨epochs£© ѵÁ·Ê±¼ä£¨time£© ѵÁ·Ä¿±ê£¨goal£© ѧϰÂÊ£¨lr£© ×î´óÈ·ÈÏʧ°Ü´ÎÊý£¨max_fail£© ×îСÐÔÄÜÌݶȣ¨min_grad£© Á½´ÎÏÔʾ֮¼äµÄѵÁ·²½Êý£¨show£© ±í3 BPÍøÂç¸÷ѵÁ·Ëã·¨µÄѵÁ·Ä¿±êÖµ

Training function £¨ÑµÁ·º¯Êý£© TRAINGD(ÌݶÈϽµBPËã·¨) TRAINGDM£¨ÌݶÈϽµ¶¯Á¿BPËã·¨£© TRAINLMM£¨Levenberg-Marquardt BPѵÁ·º¯Êý£© TRAINRP£¨µ¯ÐÔBPËã·¨£© TRAINSCG£¨±äÌݶÈËã·¨£© Network Name £¨Éñ¾­ÍøÂçÃû³Æ£© nn10_1 nn10_2 nn10_3 nn10_4 nn10_5 ѵÁ·´ÎÊý£¨epochs£© Performance (ѵÁ·Ä¿±êÖµ) 10000 Inf 0 0.3 5 1e-050 25 £¨3£©Ñ¡Ôñ²»Í¬µÄѵÁ·º¯Êý£¬ÀýÈçTRAINGDM£¨ÌݶÈϽµ¶¯Á¿BPËã·¨£©¡¢TRAINLMM£¨Levenberg-Marquardt BPѵÁ·º¯Êý£©¡¢TRAINRP£¨µ¯ÐÔBPËã·¨£©¡¢TRAINSCG£¨±äÌݶÈËã·¨£©£¬È»ºóÊäÈëѵÁ·Ñù±¾Êý¾Ý£¨inputdata10£¬outputdata10£©£¬ÑµÁ·²ÎÊýÉèÖÃÈç±í2Ëùʾ£¬ÉèÖÃÏàͬµÄ³õʼÁ¬½ÓȨ£¨Revert Weights£©£¬¹Û²ì²»Í¬BPѵÁ·Ëã·¨µÄѧϰЧ¹û£¬°Ñ¸÷ѵÁ·Ëã·¨µÄѵÁ·Ä¿±êÖµÌîÈëÉϱí3¡£

£¨4£©Ñ¡ÔñѵÁ·Ä¿±êÖµ×îСµÄÒ»ÖÖѵÁ·Ëã·¨£¬Ñ¡ÔñWeightsÑ¡Ïî¸ø³öÆäѵÁ·ºóµÄÁ¬½ÓȨֵºÍÆ«Öã¬È»ºóÊäÈë²âÊÔÊý¾Ý£¨testinputdata£¬testoutputdata£©½øÐзÂÕæ£¨Simulate£©£¬²¢°ÑѵÁ·ºÍ²âÊԵĽá¹û¶¼µ¼³ö£¨Export£©µ½¹¤×÷¿Õ¼ä£¬¸ø³öѵÁ·ºóµÄÊä³ö½á¹ûºÍÊä³öÎó²î£¬ÒÔ¼°²âÊÔºóµÄÊä³ö½á¹ûºÍÊä³öÎó²î¡£

£¨5£©¶Ô²½Ö裨4£©ËùÑ¡ÔñµÄѵÁ·Ëã·¨£¬ÔÙÔö¼Ó30×éÑù±¾£¬È»ºóн¨Ò»¸öÉñ¾­ÍøÂ磨New Network£©µÄ½á¹¹Îª63-16-4£¬ÉèÖÃNetwork Name£¨Éñ¾­ÍøÂçÃû³Æ£©Îªnn40,²¢ÖØÐ°´ÕÕ²½Ö裨2£©½øÐÐѵÁ·£¨Train£©£¬¼´ÊäÈëѵÁ·Ñù±¾Êý¾Ý£¨inputdata40£¬outputdata8421_40£©£¬ÑµÁ·²ÎÊýÉèÖÃÈç±í2Ëùʾ£¬Ëæ»ú³õʼ»¯Á¬½ÓȨ£¨Initialize Weights£©¡£Æä´ÎÊäÈë²âÊÔÊý¾Ý£¨testinputdata£¬testoutputdata8421£©½øÐзÂÕæ£¨Simulate£©£¬²¢°ÑѵÁ·ºÍ²âÊԵĽá¹û¶¼µ¼³öµ½¹¤×÷¿Õ¼ä£¬¸ø³öѵÁ·ºóµÄÊä³ö½á¹ûºÍÊä³öÎó²î£¬ÒÔ¼°²âÊÔºóµÄÊä³ö½á¹ûºÍÊä³öÎó²î¡£

£¨6£©Õë¶ÔTraining function£¨ÑµÁ·º¯Êý£©ÎªTRAINGDµÄBPÍøÂ磨nn10_1£©£¬È»ºóÉèÖò»Í¬µÄѧϰÂÊ£¨lr£©£¬ÀýÈç0.01¡¢0.1¡¢0.5¡¢1£¬°´ÕÕ²½Ö裨2£©½øÐÐѵÁ·£¬¹Û²ìTRAINGDѵÁ·Ëã·¨µÄѧϰЧ¹û£¬°Ñ¸÷ѧϰÂÊϵÄѵÁ·Ä¿±êÖµÖµÌîÈë±í4¡£

±í4 BPÍøÂç¸÷ѵÁ·Ëã·¨µÄѵÁ·Ä¿±êÖµ

TRAINGDѵÁ·Ëã·¨µÄѧϰÂÊ 0.01 0.1 0.5 1 Performance (ѵÁ·Ä¿±êÖµ)

2?2ģʽ£¬Á½×éѵÁ·Êý¾ÝΪ 2. ÒÑÖª×Ö·ûµãÕóΪ

T a(1)??1011?(´óд×ÖĸL£©a(2)??0101?(Сд×Öĸl£©

T

ͼ1 ѵÁ·Êý¾Ý

´óд×ÖĸL Сд×Öĸl

Éè¼ÆÒ»¸öÄܹ»´æ´¢ÕâÁ½¸ö×Ö·ûµÄÀëÉ¢HopfieldÉñ¾­ÍøÂ磬ҪÇó£º £¨1£©¸ø³öÏàÓ¦µÄÀëÉ¢HopfieldÉñ¾­ÍøÂç½á¹¹Í¼£» £¨2£©¼ÆËãÁ¬½ÓȨֵ¼°ãÐÖµ£¨ãÐÖµ¿ÉÉèΪ 0£©£»

£¨3£©ÊäÈëÏÂÁвâÊÔÊý¾Ý

t(1)??1101?TTt(2)??0011? ͼ2 ²âÊÔÊý¾Ý

¸ø³öÍøÂç×îÖÕÊä³öµÄÎȶ¨×´Ì¬¡£ Î塢ʵÑ鱨¸æÒªÇó£º

1£® °´ÕÕʵÑéÄÚÈÝ£¬¸ø³öÏàÓ¦½á¹û¡£

2£®·ÖÎö±È½Ï²ÉÓÃÌݶÈϽµÑµÁ·Ëã·¨µÄBPÍøÂçѧϰÂʵı仯¶ÔÓÚѵÁ·½á¹ûµÄÓ°Ïì¡£ 3. ·ÖÎö±È½ÏBPÍøÂçºÍÀëÉ¢HopfieldÍøÂçÔÚģʽʶ±ð·½ÃæµÄÒìͬµã¡£

ÏÂÃæÊÇʵÑ鱨¸æµÄ»ù±¾ÄÚÈݺÍÊéд¸ñʽ¡£(10165956@qq.com)

ʵÑéÃû³Æ

°à¼¶£º ѧºÅ£º ÐÕÃû£º

Ò»¡¢ÊµÑéÄ¿µÄ ¶þ¡¢ÊµÑéÔ­Àí Èý¡¢ÊµÑé½á¹û

°´ÕÕʵÑéÄÚÈÝ£¬¸ø³öÏàÓ¦½á¹û¡£ ËÄ¡¢ÊµÑé×ܽá

1. Íê³ÉʵÑ鱨¸æÒªÇó2¡£ 2. ×ܽáʵÑéÐĵÃÌå»á

¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª