Treenigusammude arvuks valisin 5000. Kuna sammude arvu suurendamine olulist lisatäpsust ei andnud, siis sellest piisab. Katsel toimub 200 sammu, 100-ndal sammul lisandub häiring 0,5. Katsetuste tegemiseks valisin 15 neuronit peidetud kihis, mis esimestel katsetustel (tansig ja traingd) osutus minimaalseks neuronite arvuks, et juhtimissüsteem vastaks esitatud kriteeriumitele. 5 Aktiveerimisfunktsioon tansig, treenimisalgoritm traingd: Juhtimissüsteem vastab nõuetele: Pilt 3. Aktiveerimisfunktsioon tansig, treenimisalgoritm traingd. Aktiveerimisfunktsioon logsig, treenimisalgoritm traingd: Ülereguleerimine on napilt piirides, reguleerimise aeg samuti väga napilt. Pilt 4. Aktiveerimisfunktsioon logsig, treenimise algoritm traingd. 6 Aktiveerimisfunktsioon tansig, treenimise algoritm trainlm
elementide kaupa P=[P1;P2] Loome uue närvivõrgu. net=newff([-10 10; -10 10],[25 1],{'logsig' 'purelin'}) % adaline adaptiivne lineaarne, tansig mittelineaarne % (-1..1), logsig (0..1) % purelin - lineaarne % esimesed [] näitavad, mitu sisendit ja mis vahemikus, % teised [] mitu % kihti neuroneid ja mitu neuronit on kihis, {} näitab 3 % mis on iga kihi % neuronite aktiveerimisfunktsioon. % Piisab ka 1-2 neuronist % suurendades neuronite arvu mittelineaarse akt % funktsiooniga, täpsus % kasvab. 5 neuronit on juba 10'-10, mis on piisavalt % hea. Lineaarse aktiveerimis % funktsiooniga on 1 neuron sama täpne. net.trainFcn = 'trainlm' %treenimisfunktsioon Levenberg % Marquardt teist järku tuletiste maatriksil põhinev net.trainParam.epochs=5000 %iteratsioonide arv Treenime selle loodud närvivõrgu valitud parameetritega ja algoritmiga. net=train(net,P,T)
Summatori väljund NET on nende korrutiste summa. Järelikult summatori funktsiooni võib kirjutada järgnevalt: x1 NET = W X = [w1 K wn ] M = w1 x1 + K + wn x n . (1.1) x n Mittelineaarse elemendi funktsiooni nimetatakse aktiveerimisfunktsiooniks (activation function, ). Kaalutud sisendsignaalide summast NET arvutab aktiveerimisfunktsioon neuroni väljundi OUT. OUT=f(NET) (1.2) Tavaliselt, aktiveerimisfunktsioon on pidev mittelineaarne funktsioon, aga mõnedel rakendustel võib ka lineaarne olla. Kõige levinumad aktiveerimisfunktsioonid on sigmoid funktsioonid. Sigmoid funktsioonid on ülemise ja alumise raja (0 ja 1 või -1 ja 1) vahel monotoonselt kasvavad pidevad funktsioonid. Nende funktsioonide põhiliseks eesmärgiks on hoida
Summatori väljund NET on nende korrutiste summa. Järelikult summatori funktsiooni võib kirjutada järgnevalt: x1 NET = W X = [w1 K wn ] M = w1 x1 + K + wn x n . (1.1) x n Mittelineaarse elemendi funktsiooni nimetatakse aktiveerimisfunktsiooniks (activation function, ). Kaalutud sisendsignaalide summast NET arvutab aktiveerimisfunktsioon neuroni väljundi OUT. OUT=f(NET) (1.2) Tavaliselt, aktiveerimisfunktsioon on pidev mittelineaarne funktsioon, aga mõnedel rakendustel võib ka lineaarne olla. Kõige levinumad aktiveerimisfunktsioonid on sigmoid funktsioonid. Sigmoid funktsioonid on ülemise ja alumise raja (0 ja 1 või -1 ja 1) vahel monotoonselt kasvavad pidevad funktsioonid. Nende funktsioonide põhiliseks eesmärgiks on hoida
Identifitseerimine toimub sisendi ja väljundi etalonväärtuste alusel. Õpetamisprotsessi käigus õpib närvivõrk anda õigeid väljundväärtuseid teatud etalonväärtuste hulgas. Tänu oma üldistusvõimele, annab närvivõrk õiged väärtused ka uute (õpetamisel kasutamata) sisendväärtuste hulgas. 2. Närvivõrku sobiva arhitektuuri valik: sisendite arv, väljundite arv, peidetud kihtide arv, neuronite arv peidetud kihtidel, iga kihi neuronite aktiveerimisfunktsioon. Eelpool mainitud parameetrite valik toimub tavaliselt eksperimentaalselt või empiiriliste teadmiste alusel. 3. Närvivõrgu kaalukoefitsientide ja nihete algväärtuste valik (reeglina valitakse juhuslikult). 4. Närvivõrgu väljundi arvutus etalon sisendväärtuste alusel. 5. Mudeli vea leidmine võrreldes närvivõrgu väljundeid objekti etalonväljunditega. Joonis 4.1 Identifitseerimine Joonis 4
nendele vastavaid väljundväärtusi. Identifitseerimine toimub sisendi ja väljundi etalonväärtuste alusel. Õpetamisprotsessi käigus õpib närvivõrk anda õigeid väljundväärtuseid teatud etalonväärtuste hulgas. Tänu oma üldistusvõimele, annab närvivõrk õiged väärtused ka uute (õpetamisel kasutamata) sisendväärtuste hulgas. 2. Närvivõrku sobiva arhitektuuri valik: sisendite arv, väljundite arv, peidetud kihtide arv, neuronite arv peidetud kihtidel, iga kihi neuronite aktiveerimisfunktsioon. Eelpool mainitud parameetrite valik toimub tavaliselt eksperimentaalselt või empiiriliste teadmiste alusel. 3. Närvivõrgu kaalukoefitsientide ja nihete algväärtuste valik (reeglina valitakse juhuslikult). 4. Närvivõrgu väljundi arvutus etalon sisendväärtuste alusel. 5. Mudeli vea leidmine võrreldes närvivõrgu väljundeid objekti etalonväljunditega. Joonis 4.1 Identifitseerimine Joonis 4.2 Närvivõrk
Identifitseerimine toimub sisendi ja väljundi etalonväärtuste alusel. Õpetamisprotsessi käigus õpib närvivõrk anda õigeid väljundväärtuseid teatud etalonväärtuste hulgas. Tänu oma üldistusvõimele, annab närvivõrk õiged väärtused ka uute (õpetamisel kasutamata) sisendväärtuste hulgas. 2. Närvivõrku sobiva arhitektuuri valik: sisendite arv, väljundite arv, peidetud kihtide arv, neuronite arv peidetud kihtidel, iga kihi neuronite aktiveerimisfunktsioon. Eelpool mainitud parameetrite valik toimub tavaliselt eksperimentaalselt või empiiriliste teadmiste alusel. 3. Närvivõrgu kaalukoefitsientide ja nihete algväärtuste valik (reeglina valitakse juhuslikult). 4. Närvivõrgu väljundi arvutus etalon sisendväärtuste alusel. 5. Mudeli vea leidmine võrreldes närvivõrgu väljundeid objekti etalonväljunditega. Õpetamiseks nimetatakse meetodit, mis baseerub teadaolevatel sisend- ja väljundvektori väärtuste kogumil