NS Zadanie 1g Odovzdanie:

------------------------------------------------------------------------------------------------------------------------

Binárny perceptrón

Binárny perceptrón je dobrý na lineárne separovateľnú klasifikáciu objektov. Vďaka tomu, že jeho prechodová funkcia sa vyznačuje tvrdou nelinearitou (binárny výstup), môže byť vhodný aj na vykonávanie jednoduchých logických funkcií.

(a) Naprogramujte binárny perceptrón s 3 vstupmi. Pomocou pravidla pre učenie sa perceptrónu natrénujte perceptrón na vykonávanie logických funkcií AND a OR. V každom trénovacom kroku zaznamenajte evolúciu stavov perceptrónu, t.j. hodnoty vstupov, hodnoty synaptických váh, a hodnoty skutočných a želaných výstupov. Pomocou tohoto budete dokumentovať konvergenciu systému. Sami si budete musieť nájsť vhodnú rýchlosť učenia. Trénujte perceptrón dvakrát (s rozličnými počiatočnými hodnotami synaptických váh) pre každú logickú funkciu. Okomentujte rozdiely v rýchlosti konvergencie pre rozdielne počiatočné hodnoty váh.

Poznámka: AND je pravdivý ak všetky 3 vstupy su pravdivé.

OR je pravdivý ak aspoň jeden zo vstupov je pravdivý.

(b) Skúmanie použitia perceptrónu na klasifikáciu objektov (geometrických útvarov) prichádzajúcich zo "sietnice oka" rozmerov 5 x 5:

0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1

0 1 0 1 0 0 1 1 1 0 0 0 0 1 1 1 1 0 0 0 1 0 1 0

0 1 0 1 0 0 1 0 1 0 0 0 1 0 1 1 0 1 0 0 0 1 0 0

0 1 0 1 0 0 1 1 1 0 0 1 0 0 1 1 1 0 0 0 0 0 0 0

0 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 0

Naprogramujte perceptrón s 25 vstupmi, ktorý klasifikuje tieto útvary ako pravouholníky alebo trojuholníky. Trénujte perceptrón dvakrát, s rozdielnymi počiatočnými hodnotami synaptických váh. V oboch prípadoch zaznamenajte evolúciu stavov perceptrónu (t.j. písmeno na vstupe, želaný a skutočný výstup) a dokumentujte tak jeho konvergenciu.

(c) Vyskúšajte schopnosť “zovšeobecňovania” perceptrónu. Po natrénovaní mu dajte na vstup mierne posunuté alebo inak modifikované verzie vzorov než tie, na ktorých bol natrénovaný, napr. pre jeden z trojuholníkov

1 0 0 0 0

1 1 0 0 0

1 1 1 0 0

1 1 0 0 0

1 0 0 0 0

a pozrite sa na to aký dáva výstup, či správne klasifikuje aj inak nakreslené útvary.