1 / 71

Ứng dụng mạng neuron nhân tạo vào công tác dự báo chuỗi thời gian

Ứng dụng mạng neuron nhân tạo vào công tác dự báo chuỗi thời gian. Đoàn Ngọc Bảo Đinh Kim Ngân Trần Thế Sĩ Ngô Duy Khánh Vy. Nội Dung. Giới thiệu Cấu trúc , nguyên tắc hoạt động của mạng neuron nhân tạo Giải thuật Lan truyền ngược Giải thuật RPROP

alder
Télécharger la présentation

Ứng dụng mạng neuron nhân tạo vào công tác dự báo chuỗi thời gian

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ứngdụngmạng neuron nhântạovàocôngtácdựbáochuỗithờigian ĐoànNgọcBảo Đinh Kim Ngân TrầnThếSĩ NgôDuyKhánhVy

  2. Nội Dung • Giớithiệu • Cấutrúc, nguyêntắchoạtđộngcủamạng neuron nhântạo • GiảithuậtLantruyềnngược • Giảithuật RPROP • Ứngdụngmạng neuron nhântạovàocôngtácdựbáodữliệuchuỗithờigian • Chươngtrìnhthựcnghiệm • Kếtquảthựcnghiệm • Kếtluận

  3. Giớithiệu • Ngày nay nhucầuvềdựbáongàycàngtăng. Đểđưaradựbáochínhxácvàcócơsở, người ta tiếnhànhthunhậpdữliệuvềcácvấnđềmìnhquantâm. Mộtloạidữliệuthườnggặplàdữliệuchuỗithờigian- dữliệuđượcthunhập, lưutrữvàquansáttheothờigian. • Việcdựbáodữliệuchuỗithờigianngàycàngchiếmvịtríquantrọngtronghoạtđộngcủacácđơnvịtổchức.Cơbảncóhaikỹthuậtchủyếutrongviệcdựbáochuỗithờigianlàcácphươngphápthốngkêvàphươngphápdùngmạng neuron nhântạo.

  4. Cấutrúcmạng neuron nhântạo • Mạng neuron nhântạo (Artificial Neural Network) làmộtmôhìnhtoánhọcđịnhnghĩamộthàmsốtừmộttậpđầuvàođếnmộttậpđầura • Mạng neuron nhântạolàmộtmạnggồmmộttậpcácđơnvị (unit) đượckếtnốivớinhaubằngcáccạnhcótrọngsố. Mộtđơnvịthựchiệnmộtcôngviệcrấtđơngiản: nónhậntínhiệuvàotừcácđơnvịphíatrước hay mộtnguồnbênngoàivàsửdụngchúngđểtínhtínhiệura

  5. Trongmộtmạng neuron cóbakiểuđơnvị: • Cácđơnvịđầuvào, nhậntínhiệutừbênngoài. • Cácđơnvịđầura, gửidữliệurabênngoài. • Cácđơnvịẩn, tínhiệuvàocủanóđượctruyềntừcácđơnvịtrướcnóvàtínhiệurađượctruyềnđếncácđơnvịsaunótrongmạng. Hình 2.1: Đơnvịmạng neuron

  6. Khinhậnđượccáctínhiệuđầuvào, mộtđơnvịsẽnhânmỗitínhiệuvớitrọngsốtươngứngrồilấytổngcácgiátrịvừanhậnđược. Kếtquảsẽđượcđưavàomộthàmsốgọilàhàmkíchhoạt (Activation function) đểtínhratínhiệuđầura.Cácđơnvịkhácnhaucóthểcócáchàmkíchhoạtkhácnhau

  7. Cóhailoạihìnhdạngmạngcơbản: Mạngtruyềnthẳngvàmạnghồiquy • Mạngtruyềnthẳng(Feed-forward neural network): Mộtđơnvị ở lớpđứngtrướcsẽkếtnốivớitấtcảcácđơnvị ở lớpđứngsau. Tínhiệuchỉđượctruyềntheomộthướngtừlớpđầuvào qua cáclớpẩn (nếucó) vàđếnlớpđầura • Mạnghồiquy(Recurrent neural network): Khácvớimạngtruyềnthẳng, mạnghồiquycóchứacácliênkếtngượctừmộtđơnvịđếncácđơnvị ở lớptrướcnó

  8. Chứcnăngcủamộtmạngnơronđượcquyếtđịnhbởicácnhântốnhư: hìnhdạngmạng (sốlớp, sốđơnvịtrênmỗilớp, cáchmàcáclớpđượcliênkếtvớinhau) vàcáctrọngsốcủacácliênkếtbêntrongmạng. Hìnhdạngcủamạngthườnglàcốđịnh, vàcáctrọngsốđượcquyếtđịnhbởimộtthuậttoánhuấnluyện (training algorithm). Tiếntrìnhđiềuchỉnhcáctrọngsốđểmạng “nhậnbiết” đượcquanhệgiữađầuvàovàđầuramongmuốnđượcgọilàhọc (learning) hay huấnluyện (training)

  9. Huấnluyệnmạng neuron • Ápdụngphươngphápgiảmđộdốc (gradient descent) tìmmột vector cáctrọngsốsauchomạngxấpxỉtốttậpdữliệuhuấnluyện • Ta sửdụngmộthàmđánhgiá • Mạngxấpxỉtốttậphuấnluyệnnếuhàmlỗinhỏ

  10. Phươngphápgiảmđộdốcbắtđầutìmvớimột vector trọngsốngẫunhiênvàduyệt qua cácmẫucủatậphuấnluyện, mỗilầnduyệt qua cáctrọngsốsẽđượccậpnhậptheohướnglàmgiảmgiátrịhàmlỗi. Quátrìnhnàyđượclặpđilặplạichođếnkhiđạtđượcgiátrịcựctiểucủahàmlỗi. • Hướngcậpnhậpcáctrọngsốđểlàmgiảmgiátrịhàmlỗiđượcxácđịnhtheovector độdốc (gradient) củahàmlỗiE, kýhiệulà

  11. Vềmặttoánhọc vector độdốcbiểudiễnhướnglàmtănggiátrịhàmEtrongkhônggiantrọngsố, do đósẽlàhướnglàmgiảmgiátrịhàmE

  12. Thay (2.2) vào (2.1) ta đượcgiánhậpcậpnhậptrọngsố qua từngbước ta được

  13. Hình 2.7: Hàmlỗi

  14. Phươngphápgiảmđộdốccóhaihạnchếchínhlàtốcđộhộitụđôikhikháchậmvànếucónhiềucựctiểucụcbộ (local minimum) trênbềmặtcủahàmlỗithìgiảithuậtdễrơivàocựctiểucụcbộmàkhôngđạtđượccựctiểutoàncục (global minimum). Đểgiảiquyếtcáckhókhănnàyngười ta đãpháttriểnphươngphápgiảmđộdốcthànhphươngphápgiảmđộdốctăngcường (incremental gradient descent) • Khácvớiphươngphápgiảmđộdốc ở trênphươngphápgiảmđộdốctăngcườngthựchiệnviệctínhtoánlỗivàcậpnhậpcáctrọngsốngaykhiduyệt qua mộtmẫucủatậpdữliệu. Giátrịcậpnhậpchocáctrọngsốcủaphươngphápgiảmđộdốctăngcườnglà

  15. HàmlỗicủaphươngphápgiảmđộdốctăngcườngkhôngphảilàhàmlỗitoàncụcchotoànbộdữliệuhuấnluyệnnhưphươngphápgiảmđộdốcthườngmàlàhàmlỗichotừngmẫutrongtậpdữliệuHàmlỗicủaphươngphápgiảmđộdốctăngcườngkhôngphảilàhàmlỗitoàncụcchotoànbộdữliệuhuấnluyệnnhưphươngphápgiảmđộdốcthườngmàlàhàmlỗichotừngmẫutrongtậpdữliệu

  16. Giảithuậtlantruyềnngược • Giảithuậtlantruyềnngượctìmtậpcáctrọngsốthíchhợpchomộtmạng neuron truyềnthẳngnhiềulớpbằngphươngphápgiảmđộdốc • Hàmlỗicủagiảithuậtlantruyềnngượcđượcđịnhnghĩatổngquátnhưsau

  17. Ý tưởngchínhcủagiảithuậtlàgiátrịlỗisẽđượclantruyềnngượctừtầngxuấtvềtầngnhập. Vớimỗimẫutrongtậphuấnluyện, mạng neuron đượcápdụngđểtínhđầurasauđógiátrịđộdốccủahàmlỗiđượctínhchotừngđơncủamạng. Cuốicùnggiảithuậtápdụngphươngphápgiảmđộdốcđểcậpnhậpcácgiátrịtrọngsố

  18. Đểápdụngphươngphápgiảmđộdốctrướchết ta cầnthông tin vềđạohàmriêngphầncủahàmlỗichotừngtrọngsố • Với

  19. Giátrịđượctínhtheohaitrườnghợptùytheođơnvịi làđơnvị ở tầngxuất hay tầngẩn:

  20. Nếu i làđơnvịtầngẩn

  21. Thay (2.10) và (2.6) vào (2.5) ta đượccôngthứctínhđạohàmriêngphầncủahàmlỗitheotrọngsốwijcủađơnvịẩni

  22. Mỗikhithông tin vềđạohàmriêngphầnđãbiết, bướctiếptheotronggiảithuậtlantruyềnngượclàcậpnhậpcáctrọngsốwij. Ở đâylàhệsốhọc

  23. Cơbảncóhaiphươngphápcậpnhậpcáctrọngsốphânloạitheothờiđiểmcậpnhập: họctheomẫu (learning by pattern) vàhọctheo epoch (learning by epoch). Một epoch làmộtlầnhọcduyệt qua tấtcảcácmẫutrongtậpdữliệumẫudùngđểhọc. • Trongphươngpháphọctheomẫuápdụngphươngphápgiảmđộdốctăngcường, cứmỗilầnmộtmẫutrongtậpdữliệuđượcduyệt qua thìcáctrọngsốsẽđượccậpnhập • Phươngpháphọctheo epoch thựchiệnlấytổngtấtcảthông tin vềđộdốc (gradient) chotoànbộtậpmẫu (pattern set) sauđómớicậpnhậpcáctrọngsốtheophươngphápgiảmđộdốcthôngthường, nghĩalànóthựchiệnviệccậpnhậptrọngsốsaukhiđãduyệt qua hếtcácmẫutrongtậpdữliệu

  24. Giảithuậtlantruyềnngượcbịảnhhưởngbởihệsốhọcvàđộlớncủađạohàmriêngphần.Giảithuậtlantruyềnngượcbịảnhhưởngbởihệsốhọcvàđộlớncủađạohàmriêngphần. • Đểquátrìnhhọcổnđịnhhơn, ta thêmvàohệsốquántính, cótácdụngđiềuchỉnhmứcđộảnhhưởngcủabướccậpnhậptrướclênbướccậpnhậphiệnthời

  25. Giảithuật RPROP • Giảithuậtlantruyềnngượcgặpmộtvấnđề ở chỗgiátrịcậpnhậptrọngsốkhôngnhữngphụthuộcvàodấucủađạohàmriêngphầnmàcònbịảnhhưởngbởiđộlớncủanó, điềunàylàmchoquátrìnhhọckhôngđượcổnđịnh. Việcthêmvàohệsốquántínhkhônggiảiquyếttrọnvẹnvấnđềbởivì ta khôngbiếtgiátrịtốiưuchohệsốnàylàbaonhiêu.

  26. RPROP làviếttắtcủatừ ‘resilient propagation’, nghĩalàlantruyềnđànhồilàmộtphươngphápthíchnghicụcbộ. RPROP thựchiệncậpnhậpcáctrọngsốwijdựavàothông tin vềdấucủacácđạohàmriêngphầnđiềunàygiúpnótránhđượcsựảnhhưởngcủađộlớncủacácđạohàmriêngphầnnày. Đểthựchiệnđiềunàycáctrọngsốsẽcómộtgiátrịcậpnhậpriêngchỉphụthuộcvàodấucủađạohàmriêngphần.

  27. Với

  28. Cácgiátrịcậpnhậptrọngsốtínhnhưsau

  29. Tuynhiêncómộttrườnghợpđặcbiệtđólàkhiđạohàmriêngphầnđổidấu, nghĩalàbướccậpnhậptrướcquálớnlàmchođiểmtốiưubịnhảyvượt qua. Giátrịtrọngsốphảiđượctrảvềgiátrịtrướckhithayđổi, giátrịcậpnhậpsẽđượcgiảmxuốngvà ở bướckếsau ta sẽkhôngcậpnhậpgiátrịnày. Thựctế ta cóthểlàmviệcnàybằngcáchgán

  30. Giảithuật RPROP ban đầucũngthựchiệncácbướcgiốngnhưgiảithuậtlantruyềnngược, cácthông tin vềđạohàmriêngphầncủahàmlỗitheocáctrọngsốsẽđượclantruyềnngượctừcáclớpsauđếncáclớptrước. Khicácthông tin vềcácđạohàmriêngphầnnàycóđủthìgiảithuậtsẽthựchiệnviệccậpnhậpcáctrọngsốtheocácquytắcnêu ở trên.

  31. Chuỗithờigian • Dữliệuchuỗithờigianlàdữliệuđượcthunhập, lưutrữvàquansáttheosựtăngdầncủathờigian • Ta kýkiệuchuỗithờigianlà{Xt}vớitlàcácsốtựnhiên. Xtlàcácbiếnngẫunhiên (random variable) rútratừmộtphânbốxácsuất(probability distribution) nàođó. Cácchuỗithờigianthườngđượcbiểudiễnbằngmộtđồthịvớitrụchoànhlàbiếnthờigian

  32. Trongthựctế, khi quansátchuỗithờigian ta nhậnthấybốnthànhphầnảnhhưởnglênmỗigiátrịcủachuỗithờigianđó là xuhướng(trend), chu kỳ (cyclical), mùa(seasonal), bấtquytắc(irregular). • Xuhướng: Là thànhphầnthểhiệnsựtănghaygiảmgiátrịcủachuỗithờigiantrongmộtgiaiđoạndàihạnnàođó • Chu kỳ: Là chuỗibiếnđổidạngsóngquanhxuhướng • Bấtquytắc: Là thànhphầnthểhiệnsựbiếnđổingẫunhiênkhôngthểđoánđượccủachuỗithờigian • Mùa: Là thànhphầnthểhiệnsựbiếnđổilặpđilặplạitạitừngthờiđiểmcốđịnhtheotừngnămcủachuỗithờigian

  33. Ápdụngmạng neuron vàodựbáodữliệuchuỗithờigian

  34. Mạng neuron họccấuhìnhmạngtừdữliệuchuỗithờigianbằngcáchánhxạtừmộtvectơdữliệuđầuvào sang dữliệuđầura.Mộtsốlượngdữliệuliêntiếpcủadữliệuchuỗithờigian (cửasổđầuvàoXt-s, Xt-s+1, …, Xt) đượcánhxạ sang khoảngthíchhợp (vídụ [0,1] hoặc [-1,1]) vàđượcsửdụngnhưdữliệuđầuvàocủatầngnhập. Giátrị s của “cửasổđầuvào” tươngứngvớisốđơnvị ở tầngnhập. Tronggiaiđoạntruyềntiến, nhữnggiátrịđóđượctruyền qua tầngẩnrồiđếncácđơnvịđầura.Khitruyềntớiđơnvịđầura, giátrịlỗiđượctínhtoándựavàosựkhácbiệtgiữagiátrịđầuravớigiátrịcủadữliệuchuỗithờigiantạithờiđiểm t+1. Sauđó, giátrịlỗinàyđượctruyềnngượclạitớicáckếtnốigiữatầngẩnvàtầngđầura, kếtnốigiữatầngđầuvàovàtầngẩnđểcậpnhậplạitrọngsốcủacáckếtnốinày.

  35. Quátrìnhxâydựngmạng neuron chobàitoándựbáochuỗithờigiangồm 8 bước: • Lựachọncácbiến • Thu thậpdữliệu • Tiềnxửlýdữliệu • Phân chia tậpdữliệu • Xâydựngcấutrúcmạng • Xácđịnhtiêuchuẩnđánhgiá • Huấnluyệnmạng • Dựđoánvàcảitiến

  36. Lựachọncácbiến • Xácđịnhnhữngbiếnnàocầnđượcxemxétlàđiểmmấuchốt. • Đốivớimộtbàitoáncụthểcầnthựchiệnxemxétcácvấnđềlýthuyếtmàtừđósẽxácđịnhđượccácnhântốảnhhưởngđếnbàitoán • Đểdựđoánchomộtbiếnnàođócóthểdùngcácgiátrịcũ, trongquákhứcủabiếnđó, cácchỉsốđượctínhtoántừcácgiátrịcũđóhaygiátrịcủacácbiếnkhácmàảnhhưởngđếnbiếnđangxemxét

  37. Thu nhậpdữliệu • Ta cầnphảixemxét chi phívàkhảnăngcóthểthuthậpđượcdữliệucủacácbiếnđãchọnra ở bướctrước • Sau khi đượcthuthập, cácdữliệuphảiđượckiểmtrađểđảmtínhhợplệ, tínhnhấtquánvàtránhcácdữliệubịthiếusót • Cácdữliệubịthiếusótcóthểđượcbỏ qua hoặcchúngcóthểxemnhưkhôngthayđổisovớidữliệutrướcnó, vàđượctínhtoánbằngphươngphápnộisuyhoặctrungbìnhcácgiátrịlâncận

  38. Tiềnxửlýdữliệu • Phântíchvàchuyểnđổigiátrịcácthamsốđầuvào, đầuramạngđểtốithiểuhóanhiễu, nhấnmạnhcácđặctrưngquantrọng, pháthiệncácxuhướngvàcânbằngphânbốcủadữliệu • Cácphươngphápthườngdùng: lấyhiệu, lấylogarittựnhiên, trungbình di động.

  39. Phân chia tậpdữliệu • Trongthựctế, khihuấnluyện, người ta thường chia tậpdữliệuthànhcáctập: huấnluyện, kiểmtravàkiểmđịnh (ngoàicácmẫu). Tậphuấnluyệnthườnglàtậplớnnhấtđượcsửdụngđểhuấnluyệnchomạng. Tậpkiểmtrathườngchứakhoảng 10% đến 30% tậpdữliệuhuấnluyện, đượcsửdụngđểkiểmtramứcđộtổngquáthóacủamạngsaukhihuấnluyện. Kíchthướccủatậpkiểmđịnhcầnđượccânbằnggiữaviệccầncóđủsốmẫuđểcóthểkiểmtramạngđãđượchuấnluyệnvàviệccầncóđủcácmẫucònlạichocảphahuấnluyệnvàkiểmtra. Tậpkiểmđịnhnênbaogồmcácgiátrịliêntụcmớinhất • Mộtphươngphápchặtchẽdùngđểđánhgiámạng neuron là walk-forward. Phươngpháp walk-forward chia tậpdữliệuthànhmộtchuỗicáctậpdữliệunhỏhơnhuấnluyện-kiểmtra-kiểmđịnhgốichồnglênnhau

  40. Xâydựngcấutrúcmạng • Phươngphápthựchiệnxâydựngcấutrúcmạng neuron baogồmviệcxácđịnhsựliênkếtgiữacác neuron, đồngthờixácđịnhcấutrúccủamạngbaogồmsốlớpẩn, số neuron trongtừnglớp • Nếuxâydựngmạngcóquánhiềutầngẩn, hoặcsốlượngđơnvị ở mỗitầngquánhiềusẽdẫnđếnvấnđềquákhớp. Tứclàkhiđó, cấuhìnhmạng neuron giảithíchtậpdữliệuhuấnluyệnrấttốt, nhưnglạikhôngcókhảnăngtổngquáthóa, vìthếkhôngthểdùngcấuhìnhnàyđểdựđoán. Tuynhiênsốtầnghoặcsốđơnvịtrênmỗitầngquáítthìmạng neuron khôngcókhảnănggiảithíchvàdựđoántốtcácchuỗithờigianphứctạp. • Thựctếđãchứng minh: mộtmạng neuron vớimộttầngđầuvào, mộttầngẩn, mộttầngđầuracùngvớisựthayđổisốđơnvịtạimỗitầnglàđủđểxấpxỉbấtkìmộthàmliêntụcnào. Cácmôhìnhthườngdùngtrongbàitoándựbáochuỗithờigianlà: 8-8-1, 6-6-1, 5-5-1.

  41. Xácđịnhtiêuchuẩnđánhgiá • Đểđánhgiákhảnăngxấpxỉmộtchuỗithờigiancủamạng neuron người ta thườngdùnghàmtổngbìnhphươnglỗi(sum of squared errors) sau: • Ngoàirangười ta còndùngcáchàmkháclàhàmđộlệchtuyệtđốinhỏnhất (least absolute deviation), hiệuphầntrăm (percentage differences).

  42. Huấnluyệnmạng • Huấnluyênmạngđểhọccácmẫutừdữliệubằngcáchlầnlượtđưacácmẫuvàocùngvớinhữnggiátrịmongmuốn. Mụctiêucủaviệchuấnluyệnmạngđó là tìm ra tậpcáctrọngsốcho ta giátrịnhỏnhấttoàncụccủachỉsốhiệunănghayhàmlỗi. • Cóbacáchthườngdùngđểdừngmộtquátrìnhhuấnluyện. Cáchthứnhấtnhàdựbáochỉdừngquátrìnhhọc khi khôngcómộtsựcảithiệnđángkểnàocủahàmlỗi. Điểmmàmạngneuron khôngcòncảithiệnđượcnữagọi là điểmhộitụ. Cáchthứhai là sửdụngmộtthôngsốcốđịnh là sốlầnlặptốiđa, quátrìnhhuấnluyệnsẽdừngnếusốsốlầnlặp (epoches) vượtquáthôngsốnày. Cáchthứba là ta sửdụngmộttậpdữliệungoàidữliệuhuấnluyệngọi là tậpdữliệuxácthực (validation set). Trongquátrìnhhuấnluyện, cứmỗilầnvectortrọngsốcủamạngneuronthayđổi, tậpdữliệuxácthựcnàysẽđượcđưavàomạngvàtính ra saisố. Giảithuậthuấnluyệnsẽdừng khi saisốnàynhỏhơnmộtngưỡngmànhàdựđoánmongmuốn.

  43. Dựđoánvàcảitiến • Sau khi đãthựchiệncácbướctrên, ta cóđượcmộtmôhìnhmạngneurondùngđểdựđoán. Cácgiátrịdựđoáncủamạngđượclưulạivàsosánhvớicácgiátrịthựctế khi chúngxuấthiện. Saumộtthờigian, cóthểmôhìnhmạngkhôngcònđúngnữathểhiện qua việckếtquảdựđoánngàycàngxacácgiátrịthật, ta cầnphảitiếnhànhcảitiếnmạnghoặchọclạivàxâydựngmạngmớitheocácbướctrước.

  44. Chươngtrìnhthựcnghiệm • Chươngtrìnhthựcnghiệmđượcnhómhiệnthựcbằngngônngữ C# trênnềntảng .NET framework với IDE hỗtrợlàMircrosoft Visual Studio 2010.

More Related