Kunstmatige intelligentie
Programmeeropgave 4, 2015 — Neurale netwerken

De vierde programmeeropgave (in het voorjaar van 2015) behorende bij het vak Kunstmatige intelligentie gaat over Neurale netwerken.
Het is de bedoeling een eenvoudig Neuraal netwerk (NN) te programmeren met één verborgen laag dat simpele Booleaanse functies, zoals XOR, kan leren.

Maak een netwerk voor 2-inputs (X)OR- en AND-problemen. Gebruik het skelet-programma en bekijk deze hints. Zorg er hierbij voor dat de voorbeelden in random volgorde worden aangeboden.
Bestudeer de verschillen, gebruik verschillende leersnelheden, aantallen verborgen knopen, epochs, etcetera. Wanneer gaat het fout? Is er verschil tussen OR en XOR?

Voor gnuplot zie de eerste opgave.

Leg in het verslag ook kort BackPropagation uit, met de formules, en uiteraard een referentie naar Russell en Norvig.
In te leveren: geprint verslag (in LaTeX gemaakt; de C++-code als Appendix, zie verder hier voor opmerkingen over het verslag), en per email: C++-code. Stuur svp geen emails met LaTeX/PostScript/PDF.

Deadline: dinsdag 19 mei 2015, 11:00 uur.


Vragen en/of opmerkingen kunnen worden gestuurd naar: w.a.kosters@liacs.leidenuniv.nl.

8 april 2015 — http://www.liacs.leidenuniv.nl/~kosterswa/AI/nn13.html