Neuroinformatics, 2009-08-07

Module: 
Neuroinformatics
Examiner: 
Stephan Timmer
Date: 
Fri, 2009-08-07

FORMALIA

Modulprüfung: NeuroInfo / Reinforcement Learning Fachsemester: 4
Prüfer/2.Prüfer: Dr. Stephan Timmer

VORBEREITUNG

Was hast du zur Prüfungsvorbereitung benutzt?

Sämtliche Vorlesungsslides durchgeackert und mir zusammengefasst und dann mit drei anderen Zusammenfassungen abgeglichen. Aber am wichtigsten war das ich mich 1 1/2 Wochen fast jeden Tag mit anderen Studenten getroffen habe um den Stoff durchzusprechen und meine Lücken zu schliessen. Dabei sind wir teilweise sehr tief ins Detail der Materie vorgedrungen was sich wirklich ausgezahlt hat.

Auch hat mir beim RL Stoff der Bezug zur Umsetzung durch das sehr intensive RL-Praktikum geholfen. In dieser Hinsicht hat sich das nächtelange rumprogrammieren gleich doppelt gelohnt ;)

PRÜFUNG

Note: 1.0
Bereiche nach subjektivem Zeitempfinden: Ungefähr 25min NI und 5-7 min RL (Ich glaube die Prüfungzeit wurde ganz leicht überzogen)

Fragensammlung: Wie lauteten die Fragen im einzelnen?

Leider hab ich nicht mehr alles im Kopf aber so ungefähr lief es ab:

<--- NEUROINFO Teil --->

Los ging es mit Unsupervised Learning / also WTAN.
Welche Verfahren wurde in der Vorlesung behandelt?
VQ, k-means, Neural Gas, SOM, Growing neural gas und (supervised!) LVQ, GLVQ.

Dann im Detail wie funktioniert VQ und was macht man damit? Nja ihm halt aufgemalt wie die Prototypen verschoben werden, wie sieht die fehlerfunktion aus und wie kommt man auf sie/was macht man damit usw.

Weiter gings auch gleich mit k-means: Dazu auch wieder zeichnerisch erklärt was der Unterschied zu VQ ist und warum es schneller läuft --> Wie verfällt sich der Algorithmus? Konvergenz verhalten - solche Details halt. Das umfangreich erklärt und bevor ich dann auf Neural Gas usw zu sprechen kommen konnte gabs auch gleich einen Sprung zu Perceptronen.

Nach eine kurzen allegmeinen Beschreibung auch wieder die formalen Sachen aufgeschrieben (Stepfunction usw) und dann zeichnerisch erklärt wie man so ein Perceptron für einen Classification task einsetzt, welche Komponenten die separierende Gerade beinflussen und was entsprechend beim PL geupdated wird etc.

Und natürlich wurden dann Fragen gestellt wie: Findet PL immer eine Lösung? Was passiert bei einer umlösbaren Klassifizierungs Problem? Also alles Fragen die auf die wichtigen Lemmas/Theorems abzielten -> Strict Seperability, Termination, Cycle Theorem etc.

Als Perceptronen/PL mehr oder weniger komplett abgearbeitet waren kamm auch gleich der Sprung zu SVMs.

Inzwischen hatte ich mich warm geredet und hab wieder erstmal das wozu und wie zeichnerisch erklärt und anschliessend die formale Problemstellung aufgeschrieben. Also -> maximize ||p^2|| subject to .. - Hier ging es dann auch sehr in die Tiefe und er hat echt nachbebohrt bei den mathematischen Details. Nachdem ich die formale Problemstellung aufgeschrieben hatte musst ich auch teilweise die einzelnen Komponenten in den Formeln erklären und was die Bedingungen aussagen (Richtige Klassifizierung durch optimale Hyperplane und grösstmöglichem Margin)

Fragen ala: Wie sieht das primal Problem aus und wie kommt man plötzlich auf min 1/2||w^2|| von max ||p^2||? Also die Umformung die der constrain p = 1/||w|| ermöglicht usw..

Was hat es mit dem Kernel Trick auf sich? Okay feature mapping vom inputspace in unendlichdimensionalen Featurespace; Kernelfunction -> skalarprodukt der feature vektoren (die man nicht kennen muss) --> man nimmt sich generischen Kernel (zb Gauss, Polynomial -- Hierbei natürlich auch immer gleich die Formeln aufgeschrieben und parameter erklärt) --> Vor&Nachteile erläutert und alles oben erwähnte grob zusammengefasst

Wo setzt man die Kernel funktion dann ein? In der Formel des Dual problems (die eben aufgeschrieben) --> ersetzen durch K_phi --> wieso löst dual problem das primal problem? Auch wieder zeichnerisch das Prinzip erklärt und natürlich erwähnt das die Lösungen equivalent sind (erwähnt das man zum dual problem über die KKT bedingungen kommt) usw.

Es kann sein das noch mehr Detailfragen kamm aber aus Zeitgründen sind wir direkt zu Policy Iteration gesprungen.

<--- RL Teil --->

Wie funktioniert es, was für Probleme löst man damit und was ist die Motivation dahinter?

Okay -> endlicher strategie raum <- deshalb darüber iterieren. Modelbasiert + Probleme mit unendl. Horizont. Natürlich die Formeln der zwei Teilschritte aufgeschrieben, erklärt was damit im einzelnen gemeint ist und wann der Algo terminiert. Beinahe hätte ich im ersten Schritt eine etwas falsche formel stehen lassen (statt --> c(i,u) muss da natürlich c(i,phi_k(i)) hin) aber konnte das noch korrigieren.
-
Ist Konvergenz garantiert? --> Wenn Konvergenz Bedingungen ValiueIteration erfüllt und man mit proper Policy startet
Was ist proper policy? -> Was sind SKPs? Was macht man bei problemen mit unendlichem horizont? --> Diskontierung/Transformierung in SKP -> Wo würde man den Diskontierungsfaktor in der Formel einfügen (die ich wie oben erwähnt aufgeschrieben hatte)?

Es gab auch noch weitere Detailfragen (die ich leider inzwischen wieder vergessen habe ;)) und dann wars auch schon zu Ende.

Was mußte schriftlich gelöst werden?

Von mir aus hab ich viele Dinge gleich aufgeschrieben (Wollte die ganzen Fehlerfunktione/Update regeln ja nicht umsonst gelernt haben :)) da ich dadurch viele Sachen sowieso viel besser erklären konnte.

Also: VQ/K-means Prinzip, Fehlerfunktionen, SVM: Primal/dual problem/kernel trick, PI formeln usw (siehe oben)

Persönlicher Kommmentar, Was war toll? Was war doof? Was war auffällig?

Ich glaube er hat es schon geschätzt wenn man detailierte Antworten gegeben hat. Allerdings hatte ich das Gefühl umso detailierter man Antwortet gibt desto mehr Hintergrund-/Verständnissfragen musste man anschliessend auch beantworten. Das war teilweise schon knifflig da er inbesondere bei den Fehlerfunktionen/Formalismen nach den math. Grundlagen gebohrt hat.

Also einfach eine auswendig gelernte Formel/O-Notation aufzuschreiben ohne zu wissen was dahinter steckt wäre da sicher schief gegangen.

Wie waren Einstieg, Ablauf, Ende, Bewertung und Begründung?

Er hat mich gefragt womit ich anfangen wollte und da es mir egal war ging es mit NI los.
Wir sassen zusammen an einem gr. Tisch: mir gegenüber der Beisitzer und rechts der Prüfer.
Die schriftlichen Sachen wurden nicht an der Tafel sondern alle direkt auf Papier gelöst.

Zum Verhalten des Prüfers

Die Fragen wurden sehr ruhig und klar formuliert was sehr dazu beigetragen hat meine anfängliche Nervösität zu überwinden (Ich war nämlich tierisch aufgeregt trotz der intensiven Vorbereitung). Ein paar mal wusste ich nicht gleich worauf er hinauswollte und dann hat er sich grosse Mühe gegeben die Frage verständlich umzuformulieren. Alles in allem also eine sehr cool Prüfungsatmosphere wo es zum Schluss richtig Spass gemacht hat das angeeignete Wissen zum Besten zu geben :)