- Collect data.
- Create the network.
- Configure the network.
- Initialize the weights and biases.
- Train the network.
- Validate the network.
- Use the network.
Nulladik lépés összegyüjteni az adatokat... Vegyünk egy fiktív példát. Azt szeretnénk, hogy a számítógép meg tudja különböztetni a gonosz embereket a jó emberektől... (ez egy igen hasznos tulajdonság... :P ) Meg kell határozni pár tulajdonságot, ami mérhető is, illetve amik alapján a számítógép majd dönteni tud.
A tulajdonságok legyenek a következők : morcos nézés (mennyire néz morcosan? 1 - nagyonnagyon morcosan néz, 0 - aranyos kiskutya nézés), testtartás (1 - "pofánverlek" támadó pozíció, 0 - "állva elalszom" pozíció), fegyverzet (1 - boxer, nuncsaku, rakétavető, kevlár) (közben befejeződött az én tanítási ciklusom is... 10^-6.-on pontosság, vagyis hamis találati arány 1 az 1000000-ból...) (illetve 0 - ha csak egy fehér zászló van nála), szemöldöktávolság (köztudott, hogy a gonosz embereknek összenő a szemöldökük :P vagyis 1 - a teljesen összenőtt sövény, 0 - normális másfél ujjnyi távolság...
Van tíz emberünk. Az első öt jó ember, az utolsó öt pedig rossz ember... Mind a tíznek megvan a tulajdonságtáblázata, ami a következőképpen néz ki :
A hovatartozás azért szükséges, hogy mi előre megmondjuk, hogy melyik tulajdonságkombináció milyen eredményhez vezet... Nagy vonalakban meg lehet figyelni bizonyos szabályosságot, viszont nem minden esetben egyértelmű... A tanítás arról szól, hogy a neuronháló sulyzóit behangolja a tanítóadatoknak megfelelően... Mert ebben a példában is látszik, hogy a szemöldöktávolság valószínűleg nem olyan mérvadó (nem annyira súlyos), mint például a fegyverzet... Mert ha valaki egy duplacsövűt nyom az arcodba, annak lehet akármilyen
nézése, és akármilyen szedett szemöldöke, attól még nem fogjuk szeretni...
Komolyra fordítva a szót... A következő lépés az adatok bevitele matlabba... Ennek a részleteire most nem térnék ki... (közben kis szünet, összeszedem a házat, mert lehet, hogy este átjönnek Szabiék...) Miután ezzel megvagyunk, elmentjük mind a tulajdonságokat, mind a hovatartozást leíró táblázatot, egy mat fájlba. Az adatok elrendezésénél fontos arra vigyázni, hogy a bemeneti adatoknál annyi sor legyen, ahány tulajdonság van vizsgálva és annyi oszlop, ahány szereplője van a történetnek... A hovatartozási táblázat meg lehet ennél sokkal bonyolultabb is... (Ilyen jellegű információért lásd a kortárs szakirodalmat :P).
Következő lépés bepötyögni a matlabba, hogy "nprtool" . Erre megjelenik egy grafikus felület, ahol kiválaszthatjuk, hogy melyik a bemeneti állományunk illetve melyik a hovatartozási táblázat... Kell párszor nyomkodni a next-et, majd figyelni, ahogy a matlab megtanítja a neuronhálónak, hogy melyik rossz ember és melyik nem... A végén meg lehet nézni, hogy mennyire volt hatékony a tanítás...
Ebből a rajzból egyedül a jobb alsó sarokban lévő eredményt emelném ki, miszerint a tanítás végső eredménye 97.9%os hatékonyság. Ennek a részleteire most nem térek ki... (S ahogy azt Bea mondaná ---> Szerintem ez elég korrekt... )
Ugyanitt lehetőségünk van kirajzolni pár (számomra még nem érthető) grafikont, illetve a későbbiek folyamán elmenteni a tanítás eredményét... Röviden ennyire jutottam... Mindenképp még foglalkozom a témával, mert ez a kezdeti siker nagyon felcsigázta az érdeklődésemet...
0 megjegyzés:
Megjegyzés küldése