Izgradnja neuronske mreže korištenjem softwerskog

Sveučilište u Mostaru
Fakultet prirodoslovno-matematičkih i odgojnih znanosti
Studij Informatike
Ines Matić
Izgradnja neuronske mreže korištenjem softwerskog
paketa Rapid Minera
Diplomski rad
Mostar, 2014.
Sveučilište u Mostaru
Fakultet prirodoslovno-matematičkih i odgojnih znanosti
Studij Informatike
Izgradnja neuronske mreže korištenjem softwerskog
paketa Rapid Minera
Diplomski rad
Mentor: prof.dr.sc.Vojo Višekruna
Student: Ines Matić
Mostar, srpanj, 2014.
1
PODACI O DIPLOMSKOM RADU
I. AUTORICA
IME I PREZIME: Ines Matić
DATUM I MJESTO ROĐENJA: 16.01.1991., Čapljina
STUDIJ: Informatika
MATIČNI BROJ: 589 DS/R
II. DIPLOMSKI RAD
TEMA: Izgradnja neuronske mreže korištenjem softwerskog paketa Rapid Minera
BROJ STRANICA: 57
MENTOR:prof. dr.sc. Vojo Višekruna
Datum predaje diplomskog rada: __________________________________
Datum odbrane diplomskog rada: _________________________________
Članovi povjerenstva:
1.__________________________________
2.__________________________________
3.__________________________________
Konačna ocjena diplomskog rada: ________________________________
Potpisa članova povjerenstva:
1._________________________________
2._________________________________
3._________________________________
2
ZAHVALA
Zahvaljujem se svojim roditeljima jer su mi omogućili da ispunim
svoj san i bili mi potpora tijekom cijelog mog studija, a najviše kad mi je
bilo najteže.
3
SADRŽAJ
SAŽETAK ....................................................................................................................... 6
UVOD ............................................................................................................................... 7
1.
2.
TEORIJA UMJETNE INTELIGENCIJE ............................................................ 8
1.1.
Pojam i definicije umjetne inteligencije ............................................................. 8
1.2.
Povijesni razvoj umjetne inteligencije ............................................................. 10
1.3.
Područja umjetne inteligencije ......................................................................... 12
1.3.1.
Računalni programi za šah ....................................................................... 12
1.3.2.
Računalna lingvistika ............................................................................... 12
1.3.3.
Ekspertni sustavi ....................................................................................... 12
1.3.4.
Inteligentni agenti ..................................................................................... 13
1.3.5.
Robotika .................................................................................................... 14
1.3.6.
Računalni vid ............................................................................................ 14
1.3.7.
Optičko prepoznavanje znakova (OCR) ................................................... 14
1.3.8.
Računalne igre .......................................................................................... 14
TEORIJA NEURONSKIH MREŽA ................................................................... 16
2.1.
Pojam i definicije neuronskih mreža ................................................................ 16
2.2.
Povijesni razvoj neuronskih mreža .................................................................. 17
2.3.
Osnovna svojstva neuronskih mreža ................................................................ 19
2.4.
Vrste neuronskih mreža.................................................................................... 20
2.4.1.
Biološke neuronske mreže ......................................................................... 20
2.4.2.
Umjetne neuronske mreže ......................................................................... 22
2.5.
Prednosti i nedostaci neuronskih mreža ........................................................... 27
2.6.
Podjela neuronskih mreža ................................................................................ 28
4
3.
4.
OBUČAVANJE NEURONSKIH MREŽA ......................................................... 32
3.1.
Nadgledano obučavanje ................................................................................... 33
3.2.
Nenadgledano (samoorganizirano) učenje ....................................................... 35
3.3.
Backpropagation algoritam .............................................................................. 37
PRIMJER NEUROSNKE MREŽE ..................................................................... 38
4.1.
Predmet izgradnje neuronske mreže ................................................................ 38
4.2.
Program ............................................................................................................ 38
4.3.
Opis tijeka projekta .......................................................................................... 38
4.3.1.
Pripremanje podataka .............................................................................. 39
4.3.2.
Importiranje podataka .............................................................................. 40
4.3.3.
Obučavanje i treniranje mreže ................................................................. 45
4.3.4.
Analiza rezultata ....................................................................................... 49
4.3.4.1. Performance Vector .............................................................................. 49
4.3.4.2. Example Set Role................................................................................... 52
4.3.4.3. Improved Neural Net ............................................................................. 53
4.3.5.
Analiza uspješnosti ................................................................................... 54
4.3.5.1. Matrica grešaka .................................................................................... 54
4.3.5.2. Dodatne mjere analize uspješnosti........................................................ 55
ZAKLJUČAK ............................................................................................................... 56
LITERATURA .............................................................................................................. 57
5
SAŽETAK
Korjeni umjetne inteligencije sežu u daleku prošlost, još u antičko doba. Od
starih grčih filozofa i njihovih osnovnih pitanja iz logike, umjetna inteligencija se s
vremenom razvija do današnjih računalnih programa za šah, robotike, inteligentnih
agenata i ostalih područja.
Između njenih raznih metoda, posebno mjesto zauzimaju neuronske mreže koje
su svoje mjesto našle u mnogim područjima. Mnoga istraživanja pokazuju da neuronske
mreže bolje rješavaju probleme od tradicionalnih i statističkih metoda.
Od samog početka neuronske mreže su izučavane sa biološkog i tehnološkog
pristupa. Biološki pristup istražuje neuronske mreže kao pojednostavljene simulacije
ljudskog mozga, a drugi pristup tretira neuronske mreže kao tehnološke sustave za
složenu obradu informacija.
Vrlo važna karakteristika neuronskih mreža jest njihovo učenje na osnovu prošlih
primjera, s tim da postoje nadgledano i nenadgledano obučavanje. Kod nadgledanog
obučavanja algoritam koji nadzire obučavanje uspoređuje podatke dobivene na izlazu sa
očekivanim podacima, dok se za samoorganizirano najčešće koristi Kohonenov
algoritam.
Podaci koji će se obrađivati u neuronskoj mreži dijele se na podatke za učenje i
testiranje. Preporuka stručnjaka je da se za treniranje uzmu 2/3 podataka, a za testiranje
1/3, iako zahvaljujući napretku tehologije postoje programi kod kojih se podaci ne dijele
nego se importiraju u jednom dokumentu, a program sam i obuči i istrenira podatke,
tako da korisnik prati obučavanje i testiranje i podešava koeficijente ciklusa treniranja,
stopa učenja i dr. sve dok ne bude zadovoljan učinkom neuronske mreže.
6
UVOD
Samim razvojem ljudske inteligencije kroz tisuće godina dolazi i do razvoja umjetne
inteligencije i svakodnevnog pomicanja granica. U okviru umjetne inteligencije pojavio
se pojam „neuronske mreže“ koje su samim pojavljivanjem zainteresirale mnoge
eksperte koji su omogućili da u kratkom vremenu pronađu svoje mjesto i počnu se
primjenjivati u raznim područjima.
Svaki ekspert koji se upoznaje sa neuronskim mrežama postavlja svoju definiciju
navedene metode, a neke od najpoznatijih definicija navode se u daljnjem radu. Sve
definicije, bez obzira na svoje različitosti, svode se na isti zaključak; da se svaka od
njih sastoji od više jednostavnih procesora koji imaju lokalne memorije u kojima pamte
podatke sa obrade, te da su jedinice međusobno povezane vezama, a podaci koji se
razmjenjuju obično su numerički.
U ovom radu, nakon obrađivanja pojma i definicija umjetne inteligencije u prvom
dijelu i neuronskih mreža u drugom dijelu, navest će se i objasniti njihove vrste, podjela
s obzirom na izučavanje te prednosti i nedostaci.
U trećem dijelu obrađeno je obučavanje neuronske mreže, a četvrti dio je detaljno
opisano dizajniranje neuronske mreže.
7
1. TEORIJA UMJETNE INTELIGENCIJE
1.1.
Pojam i definicije umjetne inteligencije
Inteligencija je mentalna karakteristika koja se sastoji od sposobnosti snalaženja u
novim situacijama, prilagodljivog ponašanja u danim okolnostima, te sposobnosti
mišljenja pri rješavanju problema.
Umjetna inteligencija je naziv koji pridajemo svakom neživom sustavu koji
pokazuje sposobnost snalaženja u novim situacijama,odnosno pokazuje inteligenciju.
Postoji više definicija kojima se pokušava objasniti (definirati) pojam umjetne
inteligencije [1]:

Umjetna inteligencija je dio znanosti o računarima koja se bavi određivanjem
inteligentnih računalnih sustava tj. sustava koji prikazuju karakteristike koje mi
dovodimo u vezu sa inteligencijom u ljudskom ponašanju-razumijevanju jezika,
učenju, zaključivanju, itd.

Umjetna inteligencija je proces pomoću kojeg mehaničke sprave mogu izvoditi
zadatke za čije izvođenje ljudska bića zahtijevaju razmišljanje.

Umjetna inteligencija je znanost o izradi strojeva koji postaju inteligentni kao
ljudi.

Umjetna inteligencija je znanstvena oblast u kojoj se istražuje kako
napraviti
računare koji bi uspješno radili stvari koje u ovom momentu rade bolje ljudi.
8
Svaka od navedenih definicija na svoj način objašnjava pojam umjetne inteligencije
i na osnovu njih može se zaključiti da će strojevi biti „inteligentni“ ako pokazuju
karakteristike vezane sa ljudskom inteligencijom.
Istraživači umjetne inteligencije zanemarivali su odnosno izbjegavali probleme:
numeričkog procesuiranja, manipuliranja tekstom zasnovano na sintaksi, sortiranja
zabilježenih podataka, kodiranje i dekodiranje informacija, proizvodnje i manipulacije
graficima (grafičko prikazivanje), a njihov rad bio je usmjeren na probleme koji
zahtijevaju zajednički smisao, dosjetljivost, ekspertizu...
Zbog toga je Geuarter svojom definicijom umjetne inteligencije dao jedan novi
pogled koji do njega nije korišten:
Umjetna inteligencija bavi se inteligentnim ponašanjem primarno s nenumeričkim
procesima koji uključuju složenost, nesigurnost i dvosmislenost i za koje ne postoje
poznata algoritmična rješenja. [1]
Postoji još čitav niz definicija umjetne inteligencije u kojima je ovisno od autora
naglasak stavljen na čovjeka ili na računar. Simons zaključuje da je glavni cilj umjetne
inteligencije da modelira, potiče, oponaša i udvostručuje psihološke fenomene.
Margaret Boden u svojoj knjizi „Umjetna inteligencija i prirodni čovjek“ piše:
Umjetna inteligencija nije znanost o računarima nego o inteligenciji u misli i djelu.
Računari su njen alat zato što su njene teorije izražene kao računarski programi koji
omogućavaju strojevima da urade stvari koje bi zahtijevale inteligenciju da ih rade
ljudi.
Za razliku od M.Boden, Haugland naglašava središnju ulogu računara u stimuliranju
razvoja spoznajne znanosti:
9
Vodeća inspiracija spoznajne znanosti je da u odgovarajućem stupnju otuđenja,
teorija o prirodnoj inteligenciji treba imati istu osnovnu formu kao teorija koja
objašnjava sofisticirane računalne sustave. Ova ideja čini umjetnu inteligenciju ne
samo mogućom nego i središnjim i čistim oblikom psiholoških istraživanja.
Ovakav opis na razmatranje stavlja ključnu ulogu umjetne inteligencije koju ona
ima u postavljanju i razvoju interdiscipliniranih izučavanja, koja su sada poznata kao
znanost o spoznaji. Glavna tema istraživanja u znanosti o spoznaji je ljudska
inteligencija, s tim da postoji interes znanstvenika za otvaranje mogućnosti prema
razvoju nove konkretizacije inteligencije, koji može imati malo ili ništa zajedničko sa
mehanizmima ljudske inteligencije.
1.2.
Povijesni razvoj umjetne inteligencije
Kroz povijest ljude privlači inteligencija, posebno sama pomisao na mogućnost
konstruiranja „inteligentnih strojeva“ koji bi mogli samostalno raditi i obavljati poslove
umjesto nas ljudi.
Umjetna inteligencija ima temelje u nekoliko znanstvenih disciplina; psihologiji,
filozofiji, matematici i mnogim drugim područjima, a svako od njih je na svoj način
utjecalo na njen razvoj.
Iako je umjetna inteligencija novija grana znanosti, njeni korjeni sežu daleko u
prošlost, još u antičku filozofiju. U staroj Grčkoj su razni filozofi, među kojima se
posebno isticao Aristotel (384.-322.), proučavali pitanja inteligencije znanja i pravilnog
zaključivanja. Aristotel je u svojoj knjizi „Logika“ ispitivao da li se za neku
pretpostavku može reći da je istinita zato što se odnosi na druge stvari za koje se zna da
su istinite. Primjer: ako se zna da su „svi ljudi smrtni“ i da je „Sokrat čovjek“, može li
se zaključiti da je „Sokrat smrtan“?
Pojam „umjetna inteligencija“ prvi je upotrijebio John McCarthy, koji je smatrao da
on označava „znanost i inženjerstvo izrade umjetnih strojeva“. Stoga se McCarthy
10
smatra i ocem umjetne inteligencije, a definirao ju je kao znanstvenu disciplinu koja se
bavi izgradnjom računalnih sustava čije se ponašanje može tumačiti kao inteligentno.
1936. godine Englez Alan Turing i Amerikanac Post neovisno jedan o drugome
objavljuju radove iz oblasti matematičke logike. Rad Alana Turinga „Računski strojevi i
inteligencija“ jedan je od prvih radova vezanih za umjetnu inteligenciju. Turingov test
za «mjerenje inteligencije» strojeva predstavlja jedini do sada priznati standard u ovom
domenu. Međutim, tek pojavom prvog računara «Electronic Numerical Integrator And
Computer» (ENIAC), kojeg su 1945.god. izmislili Mauchly i J.Presper Eckert može se
govoriti o inteligentnim strojevima.
Značajnu ulogu u razvoju umjetne inteligencije imali su Waren McColloch i Walter
Pitts u 1943. godini. Objavili su članak „Logički račun ideja karakterističkih za nervnu
aktivnost“ u kojem su postavili matematički model živčane stanice-neurona. Osim toga,
pokazali su da svaka izračunjiva funkcija može se također izračunati mrežom povezanih
neurona, s tim da prikladno definirane mreže mogu učiti.
Prvim programom umjetne inteligencije se smatra Logic Theorist (1956. Allen
Newell i Herbert Simon) koji je pokazao sposobnost otkrivanja dokaza geometrijskih
teorema. 1958. zaslugom McCarthy-a pojavljuje se programski jezik LISP koji postaje
osnovnim jezikom programiranja umjetne inteligencije.
D.W. Paterson 1990. godine:
“Umjetna inteligencija je grana računalne znanosti koja se bavi proučavanjem i
oblikovanjem računalnih sustava koji pokazuju neki oblik inteligencije. Takvi sustavi
mogu učiti, mogu donositi zaključke o svijetu koji ih okružuje, oni razumiju prirodni
jezik te mogu spoznati i tumačiti složene vizualne scene te obavljati druge vrste vještina
za koje se zahtijeva čovjekov tip inteligencije.”
11
1.3.
Područja umjetne inteligencije
1.3.1. Računalni programi za šah
Umjetna inteligencija se koristi pri izradi računalnih programa za popularnu igru
šah, a najpoznatiji od njih je „Deep Blue“, računalo tvrtke IBM koje je usavršeno za
igranje šaha. Ovo računalo je 11.svibnja 1997. godine rezultatom 2-1 pobjedilo Garija
Kasparova, ruskog šahovskog velemajstora koji je bio šahovski prvak od 1985. do
2000., a neki ga smatraju najvećim šahistom svih vremena.
1.3.2. Računalna lingvistika
Računalna lingvistika, koja se još naziva strojno jezikoslovlje, računska lingvistika,
strojna lingvistika, te računalno jezikoslovlje je znanstvena disciplina koja se
bavirazvojem kompjutorskih programa koji omogućavaju računsku obradu prirodnog
jezika. Objedinjuje rezultate iz teoretskog računarstva, jezikoslovlja, kongitivne
psihologije, umjetne inteligencije i logike.
1.3.3. Ekspertni sustavi
Ekspertni sustavi su računalni programi koji sadrže određena specifična znanja iz
jednog ili više područja znanosti. Razvijeni su 60-ih i 70-ih godina prošlog stoljeća, a
komercijalizirani su kroz 80-e godine.
Najčešće se ekspertni sustavi sastoje od seta pravila po kojima se analiziraju
informacije koje se dobivaju od korisnika o specifičnoj vrsti problema. Ovisno o
njihovom dizajnu, odnosno izvedbi, pružaju korisniku određene povratne informacije
što je potrebno preuzeti kako bi se rješio zadani problem.
12
Lujić, 1993.:
Ekspertni sustavi su inteligentni programi na računalima koji koriste znanja i
postupke zaključivanja, kako bi se riješili teški zadatci, kad oni zahtijevaju
znatnu ljudsku stručnost. Kao model znanja nužnog za tu razinu može se zamisliti
sveukupno stručno znanje najboljih praktičara na nekom polju rada. [8].
Jožef Štefan (Ljubljana):
Ekspertni sustavi su sustavi koji oponašaju znanje eksperta. [8]
1.3.4. Inteligentni agenti
Inteligentni agenti su softveri koji imaju sposobnost da fleksibilno, samostalno i bez
intervencije korisnika izvršavaju postavljeni zadatak, a korisnika obavještava o
završetku rada ili samoj pojavi događaja koji se očekuje.
Agent djeluje u interakciji sa okolinom kako bi na što precizniji način izvršio
postavljeni zadatak. U ovom slučaju inteligencija je sposobnost kako inteligentni agenti
prihvaćaju zadane ciljeve i kako ih izvršavaju. Inteligencija odražava razinu kvalitete
razmišljanja i naučenog ponašanja.
Inteligentni agenti su prije svega programske komponente koje služe kao posrednici
između korisnika i računala. Osnovno svojstvo im je samostalno djelovanje u ime
korisnika, s ciljem obrade informacija, suradnje sa ostalim agentima i rješavanja
postavljenih upita. Temelje se na umejtnoj inteligenciji, raspodjeljenom programiranju,
Internet tehnologiji i mobilnoj komunikaciji, a karakteristike koje predstavljaju svakog
inteligentnog agenta su:

radi za svog korisnika

radi s njegovom dozvolom

specijaliziran je za neko područje
Poznati su i kao softverski agenti, vodiči, roboti znanja i softverski roboti.
13
1.3.5. Robotika
Robotika je grana inženjerske znanosti i tehnologija robota, njihov dizajn,
proizvodnja, primjena. Srodna je sa elektronikom i mehanikom.
Naziv robot prvi je koristio češki pisac Karel Čapek u svom igrokazu R.U.R. koji je
objavljen 1920. Termin „robotika“ izmislio je američki pisac Isaac Asimov u naučnofantastičnoj priči „Liar!“.
1.3.6. Računalni vid
Računalni vid je područje umjetne inteligencije koje se bavi prepoznavanjem
dvodimenzionalnih i/ili trodimenzionalnih predmeta (npr. ljudskog lica). Bez razvijenog
računalnog vida robot se ne može snalaziti u prostoru, zbog čega može biti potencijalno
opasan u slučaju ljudske prisutnosti.
1.3.7. Optičko prepoznavanje znakova (OCR)
OCR, eng. Opitcal Character Recognition uključuje računalni softver koji je
organiziran tako da prevodi sliku otisnutog teksta s papira, koju obično učitavamo sa
skenera, u editabilni tekst, ili prevodi sliku sa znakovima u standardnu kodnu shemu
predstavljajući ih u ASCII ili Unicode kodu.
1.3.8. Računalne igre
Računalna igra se igra pomoću računala ili igraćih pomagala priključenih na TV ili
računalo. Postale su jedan od napopularnijih oblika zabave u svijetu. Svakodnevno se
mijenjaju, razvijaju i poboljšavaju im se tehničke karakteristike, te postaju sve važniji
14
gospodarski čimbenik mnogih zemalja. Osnovni zahtjevi računalnih igara su ulazni
grafički uređaj i izlazni grafički uređaj, najčešće monitor.
15
2. TEORIJA NEURONSKIH MREŽA
2.1.
Pojam i definicije neuronskih mreža
Neuronske mreže, kao metoda umjetne inteligencije, u današnjem poslovanju se sve
više upotrebljavaju u okviru sustava za odlučivanje. Postale su vrlo popularan model
obrade podataka jer posjeduju neke sposobnosti koje podsjećaju na ljudske. Najčešće
su realizirane u obliku računalnog programa koji mogu prepoznati uzorke u skupu
podataka i napraviti model za te podatke.
Ne postoji jedinstvena definicija neuronskih mreža. Svaki ekspert neuronskih mreža,
ovisno o svom gledištu, istraživanju i rezultatima postavlja vlastitu definiciju
neuronskih mreža, ali sa svog osobnog stajališta. Do sada nije utvrđena ni opće
prihvaćena nijedna jedinstvena definicija, ali većina bi se složila sa sljedećom
definicijom [1]:
Neuronske mreže su sustav sastavljen od više jednostavnih procesora (jedinica,
neurona) gdje svaki od njih ima lokalnu memoriju u kojoj pamti podatke koje obrađuje.
Te jedinice su povezane komunikacijskim kanalima (vezama), a podaci koji se
razmjenjuju ovim kanalima su obično numerički.
Kevin Gurney
"Neuronska mreža je međusobno povezana nakupina jednostavnih elemenata
obrade, jedinica ili čvorova, čiji se načini djelovanja otprilike temelji na neuronima kod
životinja. Sposobnost obrade mreže je posljedica jačine veza među tim jedinicama, a
postiže se kroz proces adaptacije ili učenjem iz skupa primjera za uvježbavanje."
Rezultati mnogih istraživanja pokazuju da neuronske mreže rješavaju gotovo sve
probleme bolje od tradicionalnih i statističkih metoda. Odlično rješavaju probleme
klasifikacije i predviđanja, odnosno općenito sve probleme kod kojih postoji odnos
između prediktivnih (ulaznih) i zavisnih (izlaznih) varijabli, bez obzira na visoku
složenost te veze (nelinearnost).
16
Razlog boljih rezultata neuronskih mreža u odnosu na ostale metode je u njihovoj
mogućnosti da analiziraju nedostatke u podacima, otkriju podatke sa smetnjama, imaju
sposobnost da uče na prošlim događajima, te imaju sposobnost otkrivanja složenih
skrivenih veza između ulaznih i izlaznih podataka u iterativnim postupcima.
Znanje o obradi podataka pohranjeno je kod neuronskih mreža u obliku različitih
iznosa težinskih koeficijenata. Takvo implicitno znanje teško je interpretirati i predočiti
ga čovjeku u obliku pravila (za razliku od npr. stabala odlučivanja). Zbog toga se
neuronske mreže uglavnom koriste kada nam je bitan samo rezultat klasificiranja ili
predikcije, a ne i pravilo po kojem je to ostvareno.
2.2.
Povijesni razvoj neuronskih mreža
Početak neuro-računarstva najčešće se veže za rad W. McCollocha i W. Pittsa iz
1943. godine. Na daljni razvoj neuronskih mreža važan utjecaj imao je rad Marvina
Minskija i Deana Edmondsa koji su početkom 50-ih godina prošlog stoljeća konstruirali
neuroračunalo pod imenom Snarc.
Za otkriće jednoslojne neuronske mreže zvane Perceptron zaslužan je Frank
Rosenblatt. Iako nije davao značajnije rezultate, mogao je podešavati težinske
koeficijente.
Na konferenciji Dartmouth Summer Research Project on Artifical Intelligence, koja
je održana 50-ih godina prošlog stoljeća, kao jedna od grana umjetne inteligencije,
profiliralo se neuronsko računarstvo. Na toj konferenciji najavljeno je ostvarivanje
vizije računalnog modela koji će u nekim temeljnim principima oponašati
funkcioniranje mozga. Neuronsko računarstvo se pojavljuje kao odgovor Von
Neumann-ovim računalima nastojeći simulirati ili ostvariti paralelnu obradu informacija
koju koristi ljudski mozak dok razmišlja, sjeća se i rješava probleme. Na razvoj
neuronskih mreža utjecao je velik broj događaja:
17

1943 - McCullock i Pitts postavljaju temelje za razvoj neuronskih mreža
objavom članka „Logički račun ideja karakterističkih za nervnu aktivnost“ i
tako što prvi dokazuju da neuroni mogu imati dva stanja (pobuđujuće i
umirujuće) i da njihova aktivnost ovisi o nekom pragu vrijednosti.

1949 – Donald Hebb objavljuje knjigu „Organizacija ponašanja“ i prvi predlaže
pravilo kojim se opisuje proces učenja (Hebb-ovo pravilo). Pravilo je
predstavljalo određen zakon učenja za sinapse, odnosno pravilo za mijenjanje
jačine veza među neuronima.

Marvin Minsky i Dean Edmonds konstruiraju prvo neuroračunalo pod imenom
Snarc, koji je koristio vakuumske cijevi za simulaciju neuronske mreže od 40
neurona.

1956 - Dartmouth Summer Conference na kojoj su Rochester i skupina autora
predstavili prvu simulaciju Hebb-ovog modela

1958 – Frank Rosenblatt razvio prvu neuronsku mrežu perceptron, koja je
dvoslojna i nije mogla rješavati probleme klasifikacije koji nisu linearno djeljivi.
Rosenblatt i Charles Wightmann su sa svojim suradnicima izumili računalo
Mark1 koje predstavlja prvo neuroračunalo.

1960 – Bernard Windrow poboljšava Hebbovu metodu učenja i razvija praktičnu
uporabu neuronskih mreža. Sa svojim studentima razradio je jednostavni tip
„neurona“ kojeg naziva ADALINE (ADAptive Linear Neuron) i odgovarajući
tip učenja.

1969 – Minsky i Papert objavljuju knjigu „Perceprtons“ u kojoj se kritički
osvrću na Perceptron i iznose matematički dokaz da neuronska mreža ne može
rješiti XOR problem ni dodavanjem više slojeva neurona, a rezultat je prestanak
financiranja u istraživanju neuronskih mreža.

1974 - razvijena višeslojna perceptron mreža - MLP (Paul Werbos), kao preteča
Backpropagation mreže, koja prevladava nedostatak perceptrona uvođenjem
učenja u skrivenom sloju

1986 - Backpropagation mrežu usavršuju Rumelhart, Hinton i Williams, ona
vraća ugled neuronskim mrežama, jer omogućuje aproksimiranje gotovo svih
funkcija i rješavanje praktičnih problema
18

… - otada do danas se razvijaju brojni algoritmi za neuronske mreže koji s
pomoću različitih pravila učenja, ulaznih i izlaznih funkcija rješavanju probleme
predviđanja, klasifikacije i prepoznavanja uzoraka.
2.3.
Osnovna svojstva neuronskih mreža
U nastavku su navedena i objašnjena neka od najvažnijih svojstava neuronskih
mreža:

Paralelno raspodijeljena obrada informacija.
Za razliku od ostalih računskih modela, neuronske mreže prihvaćaju više ulaza
paralelno i dobivene informacije obrađuju na raspodijeljen način. Drugim riječima,
informacija spremljena u neuronsku mrežu raspodijeljena je na više računskih
jedinica, što je suportno od spremanja podataka kod običnih metoda gdje je svaka
posebna informacija (podatak) spremljena u svoj vlastiti memorijski prostor.
Svojstvo raspodijeljenog spremanja informacija ima više prednosti. Jedna od njih je
redudantnost, odnosno otpor na kvar. Redudantnost se može postići i kod klasičnih
metoda, ali kod neuronskih mreža i ako dođe do uništenja nekog njenog dijela, ona
će i dalje raditi.

Učenje i adaptacija. Svojstvo učenja i adaptacije neuronske mreže čini
sposobnima obrađivati neprecizne i loše sačuvane podatke u nestrukturiranom i
neodređenom okruženju. Na odgovarajući način naučena neuronska mreža ima
svojstvo poopćavanja kada se na njenom ulazu pojave podaci koji nisu bili u
uzorku na osnovi kojeg je mreža naučena.

Univerzalni apoksimator. Svojstvo neuronskih mreža da apoksimiraju
proizvoljnu kontinuiranu nelinearnu funkciju do željene točnosti njihovo je
najvažnije svojstvo sa stajališta modeliranja, identifikacije i upravljanja
nelinearnim procesima.

Viševarijabilni sustavi. Neuronske mreže su po svojoj strukturi viševarijabilne
što ih čini lako primjenjivim za modeliranje, identifikaciju i upravljanje
viševarijabilnim procesima.
19

Sklopovska implementacija. Više je proizvođača razvilo specijalizirane sklopove
za implementaciju neuronskih mreža koji omogućavaju paralelnu raspodjeljenu
obradu u stvarnom vremenu.

Neuronske mreže su računski vrlo zahtjevne. Izlaz svakog rezultat je zbrajanja
više umnožaka i izračunavanja nelinearne aktivacijske funkcije.

Računska brzina neuronske mreže određena je brojem matematičkih operacija
pojedinog sloja, a ne čitave mreže. Svaki sloj može imati paralelnu građu,
odnosno svaki se neuron u sloju može promatrati kao lokalni procesor koji radi
paralelno s ostalim neuronima.

Neuronske mreže zahtijevaju veliki memorijski prostor. Svaki pojedini neuron
ima više sinaptičkih veza, a svakoj od njih je pridružen težinski koeficijent koji
mora biti spremljen u memoriju. Povećanjem broja neurona u mreži memorijski
zahtjevi rastu s kvadratom broja neurona.
2.4.
Vrste neuronskih mreža
Od samog početka svoje prisutnosti u znanosti ispitivane su sa dva različita pristupa;
biološkog i tehnološkog. Iako su umjetne neuronske mreže nastale po uzoru na biološke
neuronske mreže, ova dva modela se međusobno razlikuju.
Biološki pristup istražuje neuronske mreže kao pojednostavljene simulacije ljudskog
mozga, a drugi pristup tretira neuronske mreže kao tehnološke sustave za složenu
obradu informacija.
2.4.1. Biološke neuronske mreže
„Predstavnik“ bioloških neuronskih mreža je živčani sustav živih bića, odnosno
ljudski mozak je primjer biloške neuronske mreže. Ljudski mozak je previše složen da
bi se postojećim poznatim metodama mogao potpuno opisati i razumjeti način njegova
20
djelovanja. Sastoji se od oko 1011 osnovnih živčanih stanica (neurona) koji su
međusobno povezani u složenu mrežu sa oko 1015 međusobnih veza.
Slika 1.: Mozak-središnji dio živčanog sustava čovjeka [13]
Neuron je osnovna jedinica živčanog sustava koja prima i obrađuje informacije od
drugih neurona i/ili osjetnih organa, te šalje impuls drugim neuronima u mreži. Njegovi
dijelovi koji mu pomažu u primanju informacija i proslijeđivanju impulsa su:

ulazni dio ćelije

tijelo ćelije

izlazni dio ćelije

sinapse
Na sljedećoj slici (Slika 2.) prikazan je model biološkog neurona. Ulazni dio ćelije
(B) sastoji se od mnoštva razgranatih niti koji se nazivaju „dendriti“. Tijelo ćelije (C)
obrađuje siginale koje mu proslijede dendriti, nakon čega se dobiva izlazni impuls koji
se proslijeđuje aksonu (A), koji je ujedno i izlazni dio ćelije. Mjesto dodira aksona
21
jednog neurona i dendrita nekog drugog neurona naziva se sinapsa, i služi
kao
poveznica preko koje se impulsi prenose iz jednog u drugi neuron.
Slika 2.: Model biološkog neurona [14]
2.4.2. Umjetne neuronske mreže
Inspirirane biološkim neuronskim mrežama i njihovim sustavom, nastale su umjetne
neuronske mreže. Po samoj svojoj strukturi, funkciji kao i obradi informacija slične su
22
biološkim neuronskim mrežama, s tim da se radi o umjetnim tvorevinama. Dizajnirane
su tako da oponašaju funkcije bioloških neuronskih mreža.
Koriste ograničen broj koncepata iz bioloških neuronskih sistema. Ključni element
ove paradigme je neuobičajena struktura procesa obrade informacija, sastavljena od
velikog broja međusobno povezanih elemenata procesiranja koji zajednički rade na
rješenju problema.
Ove mreže, kao i ljudi, uče na osnovu primjera tj. povijesnog iskustva, one nisu
programirane eksplicitnim instrukcijama, već uče da izvrše zadatak koristeći primjere iz
stvarnog života. U stanju su da prepoznaju smisao u kompliciranim ili nepotpunim
podacima, da prepoznaju obrasce koji su neprepoznatljivi ljudima zbog 9 svoje
složenosti i koji se ne mogu dobiti korištenjem drugih kompjuterskih tehnika.
Slika 3.: Model umjetnog neurona [1]
Umjetni neuron (Slika 3.) dobio je naziv po svojim autorima McCulloch – Pittsov
neuron. Nastaje tako što se tijelo biološkog neurona zamjenjuje se sumom, ulogu
dendrita preuzimaju ulazi (ulazne varijable) u sumu, izlaz (izlazna varijabla) sume je
akson umjetnog neurona, a uloga praga osjetljivosti bioloških neurona preslikava se iz
tzv. aktivacijske funkcije. Veza umjetnog neurona s okolinom ostvaruje se po modu
funkcijske sinaptičke veze biološkog neurona. Težinski faktori mogu biti pozitivan ili
negativan broj, a imaju istu funkciju kao i sinapse kod biološkog neurona: povezuju
izlaze (izlazne varijable) iz okoline neurona tj. izlaze drugih neurona (aksone) s ulazima
23
sume (dendriti). Intenzitet te veze ovisi o iznosu (modulu), a vrsta veze o predznaku
težinskog faktora.
U sljedećoj tablici (Tablica 1.) predstavljena je konkretna usporedba biološke i
umjetne neuronske mreže:
Tablica 1.: Usporedba biološke i umjetne neuronske mreže
Biološka mreža
Umjetna mreža
Dendriti
Ulazni dio ćelije
Tijelo ćelije
Čvor (sumator)
Akson
Izlazni dio ćelije
Sinapsa
Težinski koeficijenti
Iz navedenog se vidi da umjetni neuron funkcionira slično kao biološki neuron.
Izlazi iz drugih neurona u okruženja promatranog neurona, koji se upućuju
promatranom neuronu množe se težinskim faktorima i dovode do sume. U sumi se
dobiveni produkti sumiraju, a njihova suma se odvodi na ulaz aktivacijske funkcije,
koja će na svom ulazu dati izlaz neurona.
Aktivacijske funkcije dijele se na linearne i nelinearne.
 Linearne aktivacijske funkcije – izlaz sume množi se s nekim faktorom
(pojačanjem) i tako dobiva izlaz neurona.
 Nelinearne aktivacijske funkcije – mogu poprimiti različite oblike, a
najrasprostranjenije su : funkcije praga osjetljivosti, sigmoidne, hiperbolične i
harmoničke funkcije. Nelinearne aktivacijske funkcije prevode izlaz sume na
izlaz neurona preko nelinearnog pojačanja. Na taj način funkcija praga
osjetljivosti daje na izlazu neurona 1, ako je izlaz sume veći od zadanog broja
24
(prag osjetljivosti), što odgovara ispaljivanju impulsa kod biološkog neurona.
Ukoliko neuron nije aktivan, onda je na izlazu neurona 0.
Signali u umjetnom neuronu su opisani numeričkim iznosom i na ulazu u neuron množe
se težinskim koeficijentom koji opisuje jakost sinapse; signali pomnoženi težinskim
koeficijentima zatim se sumiraju, a ako je dobiveni iznos iznad definirana praga, neuron
daje izlazni signal.
Slika 5. Izlaz iz neurona
Umjetni neuron u općenitom slučaju, umjesto funkcije praga može imati prijenosnu
funkciju (transfer funkcija, aktivacijska funkcija). Najčešća je sigmoidalna (ili Sfunkcija) koju se nekad zove i logističkom funkcijom.
Slika 6. Sigmoidalna funkcija [15]
25
Svaka mreža sastoji se od neurona grupiranih u slojeve. Razlikuju se ulazni i izlazni
sloj, s tim sa mreža može imati jedan ili više skrivenih slojeva. Svaki od slojeva prima
ulaze od prethodnog sloja i šalje dalje sljedećem sloju. Prvi sloj se naziva ulazni,
posljednji se naziva izlazni, a ostali su skriveni slojevi.
Slika 4.: Mreža sa jednim skrivenim slojem [1]
Najčešća arhitektura neuronskih mreža je sa tri sloja koja je prikazana na
prethodnoj slici (Slika 4.), od kojih je jedan skriveni. Prvi sloj (ulazni) je jedini sloj koji
prima signale iz okruženja te ih prenosi drugim (skriveni) slojevima koji obrađuju
informacije te izdvajaju osobine i sheme primljenih signala. Oni podaci (informacije)
koje se smatraju važnima procesuiraju se do izlaznog sloja kao posljednjeg u mreži. Na
tom trećem (izlazni) sloju dobivamo rezultate obrade. Postojanje više skrivenih slojeva,
petlji i elemenata za odlaganje vremena imaju tzv. složene neuronske mreže koje i jesu
dizajnirane tako s razlogom, da bi mogle što efikasnije i kvalitetnije odvojiti važne
osobine ili sheme sa ulaznog nivoa.
26
2.5.
Prednosti i nedostaci neuronskih mreža
Na sljedećoj slici (Slika 7.) je prikazan dijagram zavisnosti moći predviđanja i
objašnjavanja. Neuronske mreže odlično predviđaju a slabo objašnjavaju, potpuno
suprotno od npr. stabala odlučivanja. Neuronska mreža ne može korisniku da objasni
kako je došla do određenog rešenja jer je u neurosnkoj mreži znanje o obradi podataka
pohranjeno u obliku različitih težinskih koeficijenata koje je teško predstaviti čovjeku
obliku pravila. Zato se neuronske mreže koriste samo kada je bitan rezultat klasifikacije,
a nije bitno pravilo po kojem se došlo do rezultata.
Slika 7. Dijagram zavisnosti moći predviđanja i objašnjavanja
Prednosti neuronskih mreža:

uče na osnovu primjera, za razliku od klasičnih sustava koji moraju biti
programirani
27

odlična moć predviđanja

bez obzira na složenost veze odlično rješavaju sve probleme kod kojih postoji
odnos između ulaznih i izlaznih podataka

mogućnost tolerancije nedostataka i smetnji (funkcionira i ako dođe do oštećenja
dijela mreže)

sposobnost generalizacije (ako dobiju nekompletan skup podataka, mreža će
ipak dati izlaz)

rješavaju gotovo sve probleme bolje nego tradicionalne metode i statističke
metode

točnije su od ostalih statističkih tehnika (posebno ako je problem slabo definiran
ili nerazumljiv)
Nedostaci neuronskih mreža:

uspješno učenje zahtjeva velik broj podataka

imaju slabu moć objašnjavanja

nisu pogodne za aritmetičke proračune i zadatke obrade podataka

ne mogu davati odgovore izvan raspona u kojem uče

teškoće u korištenju (vrijeme treniranja)

skupe su za proizvesti
2.6.
Podjela neuronskih mreža
Postoji veliki broj različitih realizacija neuronskih mreža, a samim tim postoji i mnogo
podjela. Neuronske mreže možemo klasificirati prema:
1. Broju slojeva
Prema broju slojeva mreže možemo podijeliti na jednoslojne i višeslojne. Danas se
uglavnom izučavaju i primjenjuju višeslojne koje pored ulaznih i izlaznih slojeva sadrže
neurone na srednjim (skrivenim) slojevima.
28
2. Vrsti veza između neurona
Neuronske mreže se mogu podijeliti prema vrstama veza tj. arhitekturi na:
 slojevite - Neuroni su raspoređeni tako da formiraju slojeve. Na ulaz
jednog neurona se dovode izlazi svih neurona sa prethodnog sloja, a
njegov izlaz se vodi na ulaze svih neurona na narednom sloju. Neuroni sa
prvog (ulaznog) sloja imaju samo po jedan ulaz. Izlazi neurona sa
zadnjeg (izlaznog) sloja predstavljaju izlaze mreže. Predstavnik:
backpropagation algoritam.
 potpuno povezane - Izlaz jednog neurona se vodi ka ulazu svih neurona
u mreži. Predstavnik: Hopfildova neuronska mreža.
 celularne - Međusobno su povezani samo susjedni neuroni. Bez obzira
na lokalnu povezanost, signali se prostiru i na neurone i van susjedstva
zbog indirektnog prostiranja informacija.
3. Vrsti obučavanja neuronskih mreža
Razlikujemo nadgledano, ne nadgledano i djelomično obučavanje.
4. Prema smjeru prostiranja informacija
Mogu se podijeliti i prema smjeru prostiranja informacija kroz mrežu:
 Feed-forward (ne rekurzivne, ne rekurentne ili nepovratne) - Viši slojevi ne
vraćaju informaciju u niže slojeve. Vrše prostiranje signala samo u jednom
smjeru (od ulaza prema izlazu) odnosno propagaciju signala. Predstavnici:
Višeslojni perceptron sa primijenjenim backpropagation algoritmom. Feedfoward mreža je prikazana na sljedećoj slici (Slika 8):
29
Slika 8. Feed – forward mreža
 Feedback (rekurzivne ili rekurentne ili povratne) – Slika 9. Viši slojevi
vraćajuinformacije nazad u niže slojeve. Izlaz iz neurona se vraća u niže slojeve
ili u isti sloj. Predstavnici: Hopfildove, Celularne NM, Kohonenove NM,
dvostrukoasocijativne NM. Feed - back mreže imaju mnogo veće procesne
sposobnosti od Feed - forward mreža.
Slika 9. Feed – back mreža
30
5. Prema vrsti podataka
Prema vrsti podataka koje obrađuju NM se mogu podijeliti na analogne i diskretne. Ova
podjela se rijetko koristi pošto su gotovo sve neuronske mreže diskretne.
31
3. OBUČAVANJE NEURONSKIH MREŽA
Najjednostavnije objašnjena uloga težinskih koeficijenata u neuronskoj mreži jest da
su oni potrebni da se pomnože sa vrijednostima koje su dovedene na ulaz neurona kako
bi se dobili ulazni podaci.
Kako bi se neuronska mreža obučavala, potrebno je napraviti model sa ulaznim i
izlaznim podacima, odnosno prikupiti podatke iz prošlosti na osnovu kojih će se
neuronska mreža obučavati.
Podatke dijelimo na dvije vrste:

podaci za učenje (treniranje mreže)

podaci za testiranje (validaciju mreže)
Podaci za učenje i podaci za testiranje moraju biti stratificirani, znači moraju biti
izabrani slučajno i nezavino, te u oba skupa mora biti približno jednak broj podataka.
Što se tiče same veličine skupa za učenje i testiranje nema nekog posebnog pravila,
osim što se preporuča veći dio podataka ostavit za učenje modela (npr. 2/3 podataka
ostaviti za učenje, a 1/3 za testiranje).
Sam proces obučavanja neuronskih mreža započinje zadavanjem slučajnih
vrijednosti težinskih koeficijenata koji opisuju jakost sinapse i dovođenejm signala na
ulazni sloj. Signali su opisani numeričkim iznosom i na ulazu u neuron se množe sa
težinskim koeficijentom. Dobiveni iznosi se sumiraju; ako je dobiveni iznos iznad
definiranog praga neuron daje izlazni signal. Mreža aktivira i uspoređuje izlazni i zadani
(onaj koji treba da se dobije) izlazni oblik. Postupak se ponavlja na taj način da se
ažuriraju težinski koeficijenti tako da se u svakom sljedećem ponavljanju dobije izlaz
koji je najbliži zadanoj vrijednosti. U trenutku kada je mreža sposobna da daje izlaze sa
zadovoljavajućom točnosti obučavanje se prekida i mreža se može upotrijebiti za
rješavanje raznih problema.
Zbroj ulaznih vrijednosti neurona pomnoženih sa odgovarajućim težinskim
koeficijentima se propušta kroz aktivacijsku funkciju i ta vrijednost predsavlja izlaz iz
32
neurona. Iako neuroni imaju poprilično jednostavne (linearne) funkcije, kada se povežu
u višeslojnu mrežu, u stanju su da obrade i višeslojne (nelinearne) funkcije.
Slika 10. Težinski koeficijent [1]
u1..n–ulazni podaci
w1..n – težinski koeficijenti
( ) – aktivacijska funkcija
i – izlazni podatak
Teoretski gledano, imamo dva načina obučavanja neurosnkih mreža:

nadgledano obučavanje

nenadgledano obučavanje
3.1.
Nadgledano obučavanje
Dok traje obučavanje mreže, algoritam koji nadzire obučavanje uspoređuje podatke
koji su dobiveni na izlazu sa očekivanim podacima, a razlika između dobivenih i
očekivanih podataka šalje se proceduri za učenje koja korigira težinske koeficijente.
Najpopularniji algoritmi za nadgledano obučavanje su back-propagation i
perceptron algoritam.
Ideja je da se izabere slučajan par ulaznih i izlaznih rezultata. Mreži se prosljeđuje
ulazni skup signala, tako što se na svaki ulazni neuron dovodi po jedan signal. Zatim ovi
33
signali propagiraju dalje kroz mrežu, u skrivene slojeve, da bi se poslije izvjesnog
vremena na izlazu pojavio rezultat. Kako se to događa?
Za svaki neuron se računa ulazna vrijednost, na već objašnjeni način: signali se
množe sinaptičkim težinama pridruženim dendritima, zbrajaju se, i zatim se na
dobivenu vrijednost primjenjuje prijenosna funkcija neurona. Signal na isti način
propagira dalje kroz mrežu, sve dok ne dođe do izlaznih dendrita. Tada se još jednom
vrši transformacija i dobivaju se izlazne vrijednosti. Slijedeći korak je poređenje
dobivenih signala na izlaznim aksonskim ograncima sa očekivanim vrijednostima za
zadati test primjer. Za svaki izlazni ogranak se računa vrijednost pogreške. Ako su sve
greške jednake nuli, daljnja obuka nije potrebna – mreža je u stanju obavljati traženi
zadatak. Međutim, u najvećem broju slučajeva će greška biti različita od nule. Tada se
mora obaviti modifikacija sinaptičkih težina pojedinih čvorova. Ta operacija se vrši
primjenom delta pravila [1], na slijedeći način:
D pWij = hdLpiOLpi
gdje su:
DpWij - vrijednost za koju treba promijeniti sinaptičku težinu Wij u odnosu na zadati
ulazno-izlazni par p
h - stupanj učenja
dLpi – greška na i-tom neuronu u sloju L za ulazno-izlazni par p
OLpi – vrijednost dobivena primjenom prijenosne funkcije u L-tom sloju neurona:
OLpi = 1 / (1 + e-UlazLpi)
Stupanj učenja se bira tako da bude između 0 i 0.9. On određuje veličinu koraka
kojom se neuronska mreža približava optimalnom stanju.
Ideja cijelog back-propagation algoritma je da se mreža kreće niz krivu greške u
potrazi za globalnim minimumom funkcije. Izbor vrijednosti za stupanj učenja je veoma
kritičan.
34
Ako se uzme prevelika vrijednost, vrlo lako se izbjegavaju lokalni minimumi, ali
sustav tada može upasti u režim oscilacija tako što će skakati preko globalnog
minimuma, ali ga nikad neće otkriti. Sa druge strane, ako izaberemo suviše malu
vrijednost za stupanj učenja, mreža može pogrešno identificirati lokalni minimum i
ostati u stanju koje nije optimalno. Situacija je prikazana na Slika 11. [1]:
Slika 11. Izbor vrijednosti za stupanj učenja [1]
Kada se izvrši skup svih test primjera, određuje se da li je mreža obučena. To se
radi procjenom da li je vrijednost greške ispod nekog dozvoljenog praga. Ako jeste,
potrebno je izvršiti i validaciju. Mreži se dostavljaju drugačiji ulazni podaci za isti
problem i promatraju se izlazi, ali i performanse. Ako mreža zadovoljava i te kriterije,
proglašava se za obučenu i dalje se u sustavima može koristiti kao crna kutija – za
određene ulaze se garantira da će mreža dati korektne izlaze. Na pitanje što se
konkretno dešava u skrivenim slojevima mreže je veoma teško odgovoriti.
3.2.
Nenadgledano (samoorganizirano) učenje
Kod nenadgledanog učenja mreža daje određene izlazne podatke na osnovu
određenih skupina ulaznih podataka. Mreža otkriva statističke pravilnosti u skupu
35
ulaznih podataka i automatski razvija različite režime ponašanja u zavisnosti od ulaza.
Za ovaj tip učenja najčešće se koristi Kohonenov algoritam.
Mreža ima samo dva sloja neurona; ulazni i izlazni. Izlazni sloj se zove još i
kompetitivni sloj. U ovakvim mrežama svaki ulazni neuron je povezan sa svakim
neuronom u izlaznom sloju, a neuroni u izlaznom sloju su organizirani u
dvodimenzionalnu matricu.
Ulazni sloj u ovakvim mrežama ima istu funkciju kao i u dosadašnjim mrežama, ali
neuroni u izlaznom sloju imaju potpuno drugačiju funkciju. Oni su u stanju kalsificirati
ulazne podatke, odnosno izdvojiti ih u klase ovisno o tome koliko neurona je aktivno.
Stoga se ovakve mreže nazivaju samoorganizirane (Slika 12.).
Slika 12. Mreža sa 2 ulazna i 25 izlaznih neurona
Ovakve mreže polaze od slučajno izabrane topološke mape i na kraju daju mapu
koja odražava prirodne veze između ulaznih podataka. Topološko mapiranje senzornih i
motornih fenomena postoji i u kori ljudskog mozga. Međutim, ne treba zaboraviti da se
mehanizam funkcioniranja mozga razlikuje od samoorganiziranih neuronskih mreža.
Osim što je struktura mozga drugačija, razlikuje se i način obrade podataka, kao i sami
ulazni podaci. Biološki živčani sustav mnogo je kompleksniji u odnosu na neuronske
mreže što se tiče topologije i broja neurona.
36
3.3.
Backpropagation algoritam
U procesu učenja backpropagation model neuronske mreže prolazi kroz svaki od
ulaznih slučajeva pojedinačno, s nastojanjem minimizacije ukupne pogreške modela,
korigirajući težinske koeficijente u modelu. Računajući pogrešku svakog neurona,
algoritam propagira pogrešku od izlaznog sloja ka ulaznome, dakle unazad kroz mrežu.
Zbog toga i naziv – backpropagation algoritam.
Backpropagation algoritam ili u prijevodu algoritam mreže „širenje unatrag“ bio je
presudan za široku upotrebu neuronskih mreža te ih je učinio široko upotrebljivanom i
popularnom metodom u različitim područijima. Njezin tvorac bio je Paul Werbos 1974., a
proširena je od strane Rumelhart – a, Hinton – a i Williams – a 1986. To je bila prva mreža
s jednim ili više skrivenih slojeva.
Ova mreža propagira input kroz mrežu od ulaznog do izlaznog sloja, a zatim određuje
grešku te tu grešku propagira unazad sve do ulaznog sloja ugrađujući je u formulu za
učenje.
Glavni nedostatak algoritma je problem čestog pronalaženja lokalnog umjesto
globalnog minimuma greške, zbog toga novija istraživanja uključuju njegovo unapređivanje
nekim drugim determinističkim ili stohastičkim metodama.
Slika 13. Backpropagation algoritam
37
4. PRIMJER NEURONSKE MREŽE
Inspiracija za ovim projektom javila se zbog realnosti koja, iako nastojeći se
promijeniti na bolje, iz dana u dan izgleda kao da samo nazaduje.
4.1.
Predmet izgradnje neuronske mreže
U nastavku će biti dizajnirana neuronska mreža koja će davati rezultate o
financijskoj mogućnosti obitelji. Neovisno o činjenici koliko članova radi, gledat će se
niihov cjelokupni prihod kao prihod obitelji, koji će predstavljati ulazne varijable
neuronske mreže.
4.2.
Program
Neuronska mreža će se graditi u programu RapidMiner 5. Program je preuzet sa
web stranice http://rapidminer.com/.
Slika 14. RapidMiner 5
4.3.
Opis tijeka projekta
38
4.3.1. Pripremanje podataka
U kompleksim istraživanjima podaci su najčešće već spremljeni u t.z.v. skladište
podataka (eng. DataWarehuose), jer se i samo istraživanje najčešće provodi zbog
traženja interesantnih struktura, sličnosti ili neočekivanih veza među podacima.
U ovom projektu podaci nisu prethodno nigdje spremljeni, nego su prikupljani kroz
dulje vremensko razdoblje, analizirani i spremani za korištenje. Nakon prikupljanja
podataka uslijedilo je njihovo unošenje u Microsoft Excel kako bi se mogli pravilno
koristiti u RapidMineru.
Prikupljeni podaci razvrstani su u sljedeće kategorije:

visina prihoda obitelji

trošak na djecu do 7 godina starosti

trošak učenika

trošak studenata

režije

hrana

ostali troškovi (ukoliko obitelj ima kredite i sl.)

ukupni troškovi

da li su prihodi obitelji dovoljni
Pri korištenju starijih programa koji su dizajnirani za izgradnju neuronskih mreža,
potrebno je razvrstati podatke u dvije skupine; podatke za obučavanje neuronske mreže
i posebno podatke za testiranje neuronske mreže. Pri tome su eksperti uvijek predlagali
korištenje 2/3 podataka za obučavanje, a 1/3 za testiranje.
Zahvaljujući napretku tehologije pojavili su se i programi koji samostalno
obučavaju i treniraju neuronsku mrežu, tako da se podaci ne moraju razdvajati.
RapidMiner također ima „sposobnost“ da samostalno i obučava i trenira neuronsku
mrežu, zbog čega je svih 1100 podataka spremljeno u jedan Microsoft Excel dokument
nazvan Podaci. Na sljedećoj slici (Slika 15.) prikazan je dio podataka.
39
Slika 15. Prikaz podataka u Microsoft Excel-u
4.3.2. Importiranje podataka
Prikupljene podatke sada je potrebno importirati u program, a postupak je prikazan
na sljedećim slikama (Sika 16. - Slika 21.).
Prvi korak je odabir vrste dokumenta u kojoj su spremljeni podaci koji će se
importirati.
40
Slika 16. Odabir vrste dokumenta
Slijedi odabir dokumenta sa pripremljenim podacima, u ovom slučaju
spremljeno je kao xlsx dokument i gumbom „Next“ se prelazi na sljedeći korak.
41
Slika 17. Pronalazak i odabir dokumenta
Nakon toga prikazuju se podaci koji su učitani.
Slika 18. Prikaz učitanih podataka
42
Slika 19. Obavijest o anotaciji pojedinih polja
U 4.koraku potrebno je odabrati inačicu „label“ jer se radi o tekstualnim
podacima i u suprotnom će javljati grešku pri radu programa te program neće moći doći
do rezultata.
43
Slika 20. Odabir label-a
44
Slika 21. Imenovanje i spremanje podataka
4.3.3. Obučavanje i treniranje mreže
45
Slika 22. Otvaranje novog bloka
Pošto se u ovom projektu radi o neuronskoj mreži, zadano stablo odlučivanja je
potrebno ukloniti što je prikazano na sljedećoj slici (Slika 23.).
46
Slika 23. Uklanjanje stabla odlučivanja
RapidMiner je jedan od programa koji sam i obučava i testira mrežu, što se vidi
na sljedećoj slici.
Slika 24. Odabir neuronske mreže
47
S obzirom da program sam obučava i trenira mrežu, ako korisnik nije zadovoljan
rezultatom, podešavanjem broja skrivenih slojeva, ciklusa treniranja, stopa učenja i
momenata učenja. Ovisno o razlici između rezultata programa i željenom rezultatu,
korisnik podešava navedene postavke sve dok ne dobije željeni rezultat, odnosno
dok se mreža ne obuči i istrenira.
Slika 25. Podešavanje postavki obučavanja i treniranja
Slika 26. Odabir podataka
48
Ako među podacima postoje prazna polja, ubacuje se tablica koja ta polja
programu predstavlja kao polja sa vrijednostima jednakim nuli.
Slika 27. Ubacivanje zamjene za prazna polja
4.3.4. Analiza rezultata
Dobiveni rezultati neuronske mreže prikazani tumače se na nekoliko načina koji su
objašnjeni u nastavku.
4.3.4.1.
Performance Vector
Performance Vector se prikazuje na tri načina:

Table/Plot view (t.z.v. Konfuzijska matrica)

Text view

Annotations
49
4.3.4.1.1. Table/Plot view
Table/Plot view, odnosno t.z.v. Konfuzijska matrica sadrži podatke o djelovanju
klasifikatora nad testnim skupom podataka, odnosno rezultat klasifikatora i podatke o
stvarnim razredima kojima podaci pripadaju.
Broj točno klasificiranih podataka nalazi se nizduž dijagonale konfuzijske matrice:
560 + 540 = 1000,
a svi ostali podaci (kojih u ovom slučaju nema) su broj primjera koji su neispravno
klasificirani kao neki od preostalih razreda.
Slika 28. Konfuzijska matrica
4.3.4.1.2. Text view
Text view, kao što i sam naziv kaže, sadrži tekstualne rezultate. U ovom dijelu
program automatski računa točnost i preciznost neuronske mreže (objašnjeno u
poglavlju 4.3.5.2.) na osnovu Konfuzijske matrice.
50
Slika 29. Performance Vector
4.3.4.1.3. Annotations
Anotacije se dodaju po potrebi.
Slika 30. Annotations
51
4.3.4.2.
Example Set Role
Example Set Role se prikazuje kao:

Data View

Meta Data View;
koji se najčešće koriste, dok se samo u posebnim pregledima koriste i :

Plot view

Advanced Charts

Annotations
4.3.4.2.1. Data View
Data View predstavlja pojedinačne rezultate klasifikatora za svaki podatak.
Slika 30. Data View
4.3.4.2.2. Meta Data View
52
Slika 31. Meta Data View
4.3.4.3.
Improved Neural Net
Improved Neural Net je grafički prikaz neuronske mreže. Jasno se vidi ulazni sloj,
broj skrivenih slojeva i izlazni sloj, po kojem se vidi da su bila dvije izlazne varijable, te
veze među neuronima, s tim da nijedna veza nije jednake jačine, što je također
prikazano na Slika 30.
Slika 30. Improved Neural Net
53
4.3.5. Analiza uspješnosti
Na osnovu konfuzijske matrice moguće je izračunati uspješnost neuronske mreže.
Točnost (accuracy) se definira kao omjer broja ispravno klasificiranih primjera
prema ukupnom broju klasificiranih primjera.
Pogreška (error rate) se definira kao omjer broja neispravno klasificiranih primjera
prema ukupnom broju klasificiranih primjera.
U ovoj neuronskoj mreži točnost je 100%, a pogreška 0%, iz čega se zaključuje da
je neuronska mreža zaista uspješna.
4.3.5.1.
Matrica grešaka
Matrica grešaka u ovom slučaju je matrica grešaka za klasifikacijski problem sa
dva razreda (Slika 29.).
54
Slika 29.: Matrica grešaka za klasifikacijski problem sa dva razreda
Stvarno pozitivni (TP) & Stvarno negativni (TN) = Ispravna klasifikacija
Krivo pozitivni (FP) & Krivo negativni (FN) = Greške klasifikacije
4.3.5.2.
Dodatne mjere analize uspješnosti
55
ZAKLJUČAK
Neuronska mreža obrađuje podatke distribuiranim paralelnim radom svojih
čovorova. Pri tome je obradbena moć mreže pohranjena u snazi veza između pojedinih
neurona, odnosno težinama do kojih se dolazi postupkom prilagodbe, tj. učenjem iz
skupa podataka za obučavanje.
Neuronske mreže odlično rješavaju probleme klasifikacije i predviđanja i sve
probleme kod kojih postoji odnos između prediktivnih (ulaznih) i zavisnih (izlaznih)
varijabli, bez obzira na visoku složenost složenost te veze (nelinearnost).
Znanje o obradi podataka kod neuronskih mreža pohranjeno je u obliku različitih
iznosa težinskih koeficijenata. Takvo implicitno znanje teško je interpretirati i predočiti
čovjeku u obliku pravila, kao npr. stabla odlučivanja. Zbog toga se neuronske mreže
uglavnom koriste kada nam je bitan samo rezultat klasificiranja ili predikcije, ali ne i
pravilo po kojem je ostavren rezultat.
56
LITERATURA
1) dr.sc. VIŠEKRUNA, Vojo: Inteligentni sustavi, Umjetna inteligencija2
(predavanja), kolegij Umjetna inteligencija, akademska godina 2009/2010.
2) MAČKIĆ, Kenan: Primjena neuronskih mreža u fizici i informatici, diplomski
rad, 05.04.2014., http://www.phy.hr/~planinic/diplomski/Kenan_Mackic.pdf
3) MATIĆ, Ines: Neuronske mreže, završni rad, 2012.
4) Wikipedija: Umjetna inteligencija, 05.04.2014.
<http://hr.wikipedia.org/wiki/Umjetna_inteligencija#Tipi.C4.8Dna_podru.C4.8
Dja_primjene>
5) Wikipedija: Deep Blue, 05.04.2014. <http://hr.wikipedia.org/wiki/Deep_Blue>
6) Wikipedija: Računalna lingvistika, 06.04.2014.
<http://hr.wikipedia.org/wiki/Ra%C4%8Dunalna_lingvistika>
7) Wikipedija: Gari Kasparov, 06.04.2014.
<http://hr.wikipedia.org/wiki/Gari_Kasparov>
8) Wikipedija: Ekspertni sustavi, 06.04.2014.
<http://hr.wikipedia.org/wiki/Ekspertni_sustavi>
9) Wikipedija: Inteligentni agenti, 06.04.2014.
<http://hr.wikipedia.org/wiki/Inteligentni_agenti>
10) Wikipedija: Robotika, 06.04.2014. <http://hr.wikipedia.org/wiki/Robotika>
11) Wikipedija: Robotika, 07.04.2014.
<http://hr.wikipedia.org/wiki/Ra%C4%8Dunalni_vid>
12) Wikipedija: Optičko prepoznavanje znakova, 07.04.2014.
<http://hr.wikipedia.org/wiki/Opti%C4%8Dko_prepoznavanje_znakova>
13) <https://www.google.ba/search?q=slika+mozga&espv=2&source=lnms&tbm=is
ch&sa=X&ei=boSyU5qyKoKp0QW_sYGIAg&ved=0CAYQ_AUoAQ&biw=1
252&bih=579> 07.04.2014.
14) <https://www.google.ba/search?q=biolo%C5%A1ki+neuron&espv=2&source=l
nms&tbm=isch&sa=X&ei=MYWyU5boM7Cz0QXJ5ICwAg&ved=0CAYQ_A
UoAQ&biw=1252&bih=579> 07.04.2014.
57