Cuprins
- Cuprins 3
- Introducere 7
- 1 INTELIGENŢA ARTIFICIALĂ ŞI PROBLEMA PROGNOZEI 9
- 1.1 Noţiuni generale 9
- 1.2 Scurt istoric şi direcţiile de dezvoltare 10
- 1.3 Reţele Neurale Artificiale 12
- 1.3.1 RNA noţiuni generale 12
- 1.3.2 Analogia între structura sistemului nervos şi reţelele neuronale artificiale 16
- 1.3.3 Arhitectura reţelelor neuronale artificiale 17
- 1.3.4 Antrenarea reţelelor neuronale 21
- 1.4 Prognoza 23
- 1.4.1 Importanţa prognozei 23
- 1.4.2 Tipurile de reţele folosite pentru prognoză 23
- 1.5 Enunţul problemei 24
- 2 MIJLOACE DE ELABORARE A SISTEMULUI DE PROGNOZĂ 25
- 2.1 Reţele neuronale de tip Perceptron Multistrat 25
- 2.2 Ajunsurile şi neajunsurile ale RNA cu propagare înapoi 27
- 2.3 Algoritmul standard Back-propagation pentru antrenarea PMS 28
- 2.4 Programarea Orientată pe Obiecte 31
- 2.4.1 Obiecte 31
- 2.4.2 Încapsularea informaţiilor în interiorul obiectelor 34
- 2.4.3 Clase de obiecte 35
- 2.4.4 Derivarea claselor de obiecte 38
- 2.4.5 Interfeţe spre obiecte 40
- 2.5 Mediul de programare 42
- 3 DESCRIEREA SISTEMULUI DE PROGNOZĂ 43
- 3.1 Noţiuni generale despre sistem 43
- 3.2 Interfaţa programului 44
- 3.3 Cum lucrează reţeaua neurală utilizată în program 48
- 3.4 Proiectarea claselor C++ pentru reţele neurale 50
- 3.5 Implementarea unei clase de reţea neurală în limbajul C++ 51
- 3.6 Clasele utilizate în „NePro” 52
- 4 PARTEA ECONOMICĂ 53
- 4.1 Dezvoltarea etapelor elaborării proiectului de prognoză 53
- 4.2 Evaluarea economică a proiectului 57
- 4.3 Calculul eficienţei economice 60
- 5 PROTECŢIA MUNCII 62
- 5.1 Aprecierea pericolului la monitor 62
- 5.2 Calcularea iluminării artificial în încăpere 66
- 5.3 Analiza condiţiilor de muncă. Factorii dăunători la locul de lucru 67
- Concluzii 68
- Bibliografie 69
- Anexa 1 (Listingul programului) 70
- Anexa 2 (Exemplu de conţinut al unui fişier RNA) 95
- Anexa 3 (Graful-Reţea) 97
Extras din proiect
Introducere
Preocuparea specialiştilor de a crea programe pentru calculatoarele "inteligente" - sisteme care prezintă caracteristici asociate cu inteligenţa umană (înţelegerea vorbirii, recunoaşterea formelor, învăţarea, judecata şi rezolvarea problemelor) - a condus la apariţia unui domeniu cu aplicaţii practice nebănuite, cu denumirea generică de inteligenţă artificială (IA).
De la începutul cercetărilor în domeniul IA s-au conturat două direcţii rivale: modelul logico-simbolic şi modelul conexionist. Modelul logico-simbolic presupune mecanisme de reprezentare simbolică a cunoştinţelor şi utilizarea diferitelor modele logice pentru a deduce noi cunoştinţe din faptele memorate în baza de cunoştinţe. Modelul conexionist a introdus un nou concept de calcul - calculul neuronal - şi a generat reţelele neuronale artificiale (RNA), care au capacitatea de a învăţa din exemple, fiind capabile să sintetizeze în mod implicit un anumit model al problemei.
RNA sunt sisteme dinamice de prelucrare a informaţiei, formate dintr-un număr mare de elemente neuronale de prelucrare, interconectate. RNA se caracterizează prin procesare paralelă, învăţare din exemple, comportare bună în regim de date parţial perturbate, iar problema analizată nu trebuie formalizată prin reguli clare.
Un domeniu de utilizare a RNA este prognoza care poate fi definită ca o aproximare a unor evenimente viitoare necunoscute. Justificarea acesteia este dată de existenţa unor evenimente care nu se cunosc, dar care sunt importante pentru luarea unor decizii; evident nu va fi posibilă eliminarea incertitudinilor. Prognoza este un instrument care încearcă să minimizeze aceste incertitudini.
Un domeniu concret al prognozei este prognoza cursului valutar care se realizează, în principal, pornind de la datele retrospective privind variaţia cursului, ce se înregistrează sistematic şi se prelucrează prin metode specifice. Pentru rezolvarea acestei probleme sunt mai multe metode dar una din cele mai flexibile şi universală este metoda reţelelor neurale artificiale (RNA).
Această lucrare şi-a pus problema creării unui program ce utilizând RNA să prognozeze cursul valutar al leu-lui moldovenesc faţă de alte valute. Pentru rezolvarea acestei probleme s-a utilizat programarea orientată pe obiecte creându-se în mediul de programare Microsoft Visual C++ 6.0 clase ce implementează o RNA de tip Perceptron Multistrat cu propagarea regresiva de erori (numite şi reţele back-prop sau reţele cu regulă delta) cu antrenarea supervizată: reţeaua este antrenată folosind atât datele de intrare cât şi datele dorite de la ieşire.
1 INTELIGENŢA ARTIFICIALĂ ŞI PROBLEMA PROGNOZEI
1.1 Noţiuni generale
Preocuparea specialiştilor de a crea programe pentru calculatoarele "inteligente" - sisteme care prezintă caracteristici asociate cu inteligenţa umană (înţelegerea vorbirii, recunoaşterea formelor, învăţarea, judecata şi rezolvarea problemelor) - a condus la apariţia unui domeniu cu aplicaţii practice nebănuite, cu denumirea generică de inteligenţă artificială (IA).
A defini complet şi precis inteligenţa este imposibil, aspectele acesteia fiind inepuizabile. Există numeroase definiţii ale conceptului de inteligenţă artificială. N. Findler, cercetător cunoscut în acest domeniu, arată că „un sistem este considerat a avea proprietatea de inteligenţă, pe baza observării comportării sistemului, dacă se poate adapta singur la noi situaţii, are capacitatea de a raţiona, de a înţelege legăturile dintre fapte, de a descoperi înţelesuri şi de a recunoaşte adevărul. De asemenea, ne aşteptăm ca un sistem inteligent să înveţe, cu alte cuvinte, să-şi îmbunătăţească nivelul performanţelor pe baza experienţei trecute”.
O altă definiţie dată de J. McCarty şi P.J. Hayes consideră că "o entitate este inteligentă dacă ea are un model adecvat al lumii (inclusiv lumea intelectuală a matematicii, înţelegerea obiectivelor sale proprii şi alte procese mentale), dacă este destul de înzestrată pentru a răspunde unei largi varietăţi de întrebări pe baza acestui model, dacă poate să-şi procure informaţiile din lumea exterioară când are nevoie şi poate să realizeze anumite operaţii în mediul înconjurător, cerute de obiectivele sale şi permise de posibilităţile sale fizice". Deci, inteligenţa unui sistem se defineşte nu prin modul în care este el construit, ci prin modul în care se comportă.
Preview document
Conținut arhivă zip
- Utilizarea Retelelor Neurale in Prognozarea Cursului Valutar
- NePro
- res
- bmp00001.bmp
- icon2.ico
- NePro.ico
- NePro.rc2
- NeProDoc.ico
- Toolbar.bmp
- toolbar1.bmp
- toolbar2.bmp
- ChartDlg.cpp
- ChartDlg.h
- Config.cpp
- Config.h
- euro.set
- font.cpp
- font.h
- Info.cpp
- Info.h
- MainFrm.cpp
- MainFrm.h
- matrix.cpp
- matrix.h
- mschart.cpp
- mschart.h
- NePro.clw
- NePro.cpp
- NePro.dsp
- NePro.dsw
- NePro.h
- NePro.ini
- NePro.ncb
- NePro.opt
- NePro.plg
- NePro.rc
- NeProDoc.cpp
- NeProDoc.h
- NeProView.cpp
- NeProView.h
- Neuro.cpp
- Neuro.h
- NeuroNet.cpp
- NeuroNet.h
- NNFile.cpp
- NNFile.h
- ODialog.cpp
- ODialog.h
- Option.cpp
- Option.h
- ReadMe.txt
- resource.h
- StdAfx.cpp
- StdAfx.h
- TAntrenare.cpp
- TAntrenare.h
- Timp.cpp
- Timp.h
- TPrognozare.cpp
- TPrognozare.h
- TRNA.cpp
- TRNA.h
- usd.rna
- usd.set
- Util.cpp
- Util.h
- vcaxis.cpp
- vcaxis.h
- vcaxisgrid.cpp
- vcaxisgrid.h
- vcaxisscale.cpp
- vcaxisscale.h
- vcaxistitle.cpp
- vcaxistitle.h
- vcbackdrop.cpp
- vcbackdrop.h
- vcbrush.cpp
- vcbrush.h
- vccategoryscale.cpp
- vccategoryscale.h
- vccolor.cpp
- vccolor.h
- vccoor.cpp
- vccoor.h
- vcdatagrid.cpp
- vcdatagrid.h
- vcdatapoint.cpp
- vcdatapoint.h
- vcdatapointlabel.cpp
- vcdatapointlabel.h
- vcdatapoints.cpp
- vcdatapoints.h
- vcfill.cpp
- vcfill.h
- vcfont.cpp
- vcfont.h
- vcfootnote.cpp
- vcfootnote.h
- vcframe.cpp
- vcframe.h
- vcintersection.cpp
- vcintersection.h
- vclabel.cpp
- vclabel.h
- vclabels.cpp
- vclabels.h
- vclcoor.cpp
- vclcoor.h
- vclegend.cpp
- vclegend.h
- vclight.cpp
- vclight.h
- vclightsource.cpp
- vclightsource.h
- vclightsources.cpp
- vclightsources.h
- vclocation.cpp
- vclocation.h
- vcmarker.cpp
- vcmarker.h
- vcpen.cpp
- vcpen.h
- vcplot.cpp
- vcplot.h
- vcplotbase.cpp
- vcplotbase.h
- vcrect.cpp
- vcrect.h
- vcseries.cpp
- vcseries.h
- vcseriescollection.cpp
- vcseriescollection.h
- vcseriesmarker.cpp
- vcseriesmarker.h
- vcseriesposition.cpp
- vcseriesposition.h
- vcshadow.cpp
- vcshadow.h
- vcstatline.cpp
- vcstatline.h
- vctextlayout.cpp
- vctextlayout.h
- vctick.cpp
- vctick.h
- vctitle.cpp
- vctitle.h
- vcvaluescale.cpp
- vcvaluescale.h
- vcview3d.cpp
- vcview3d.h
- vcwall.cpp
- vcwall.h
- vcweighting.cpp
- vcweighting.h
- vector.cpp
- vector.h
- Year.cpp
- Year.h
- README.TXT
- tot.doc