Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Lehrstuhl 5 » Pattern Recognition   (Übersicht)

Dies ist eine alte Version des Dokuments!


Pattern Recognition

Studiengang: Master Inf
Dauer: 30 Minuten
Prüfer: Joachim Hornegger
Datum: 28.03.2013

Allgemeines

Prof. Hornegger beginnt üblicherweise mit etwas Smalltalk um einem die Nervosität zu nehmen – was bei mir leider nicht wirklich funktioniert. Unser Gespräch driftete relativ schnell in die Mustererkennung, weswegen wir dann auch relativ zügig angefangen haben. Stift und Papier gibts natürlich und man sollte durchaus auch exzessiven Gebrauch davon machen (auch wenn ich nicht den Eindruck hatte, dass das was ich da drauf geschrieben habe tatsächlich auch kontrolliert wurde ;))

Die Fragen waren größtenteils präzise gestellt, Antworten die er nicht erwartet hat bringen ihn nicht dazu von dem Thema, das er sich ausgesucht hat abzuweichen. Exzessives reden scheint nicht besonders gut zu funktionieren und steuern konnte ich die Fragen auch nicht.

Inhalt

Es ging los mit dem Big Picture, bei dem ich am Anfang zu viele Details erwähnt habe. Eine Wolke mit Begriffen und Linien dazu reicht völlig aus. Intelligenterweise versucht man das Big Picture so zu bauen, dass man später (z.B. bei der Frage nach den 5 Classifiern mit linearen Decision Boundaries) darauf zurückgreifen kann. Independent Component Analysis hab ich im Big Picture vergessen, war aber wohl nicht weiter schlimm.

Los gings mit Principal Component Analysis. Hinschreiben wie man die Kovarianzmatrix berechnet, das Eigenvektor-Problem E \alpha = \lambda \alpha nennen und erwähnen, dass die Eigenvektoren in der Reihenfolge der Eigenwerte absteigend sortiert werden müssen. Dann wollte er wissen, wie viel Speicher ein 1024 x 1024 Pixel Bild bei 2 Byte pro Pixel braucht (Achtung! Gefragt war nicht dessen Konvarianzmatrix!). Wie man aus 2^21 Bytes Megabyte macht müsste man dazu wissen (Tip: 2^10 Byte sind jeweils eine Stufe). Dann ausrechnen, wie groß die Kovarianzmatrix dazu ist (Terabytes!) und dass man stattdessen Kernel PCA benutzt. Habe das Eigenvektor-/Eigenwertproblem für PCA hingeschrieben, auch wenn das gar nicht verlangt war – die Frage wollte die Kernelmatrix K, die an Index (i, j) aus der Kernelfunktion angewendet auf x_i und x_j besteht. Es folgte ein längerer Monolog seinerseits darüber, wie toll das ja ist und dass da vor 10 Jahren noch niemand dran gedacht hat und das sonst kaum mit richtigen Bildern getestet wird.

Nächste Frage war die bekannte „Nennen Sie 5 Classifier für eine lineare Decision Boundary“-Frage in neuem Gewand, weil er 3 Classifier mit quadratischer Decision Boundary haben wollte. Feature transform in höhere Dimensionen mit den Monomen der Komponenten des Featurevektors erwähnt, den transformierten Featurevektor für den 2D-Fall (x_1^2, x_2^2, x_1x_2, x_1, x_2, 1) hinschreiben. Dann wollte ich die Standardantworten mit linearer Decision Boundary runterspulen, habe Gaussians (die auch ohne Feature Transform quadratisch gehen), Perceptron und SVM genommen.

Zum Gaussian sollte ich das Optimierungsproblem hinschreiben. Das wusste ich nicht so recht, hab die decision boundary und die ML-Estimation für Mittelwert und Kovarianz-Matrix \sum_i (x_i - \mu_y) (x+i - \mu_y)^T hingeschrieben und gesagt, dass man das in die Sigmoid-Funktion einsetzen kann und angefangen die F(x) = \alpha^T (\Sigma_1 - \Sigma_0) \alpha + … hinzuschreiben, wusste dann aber nicht mehr wies weitergeht und wollte mit der Herleitung anfangen, was er nicht mehr sehen wollte.

Zum Perceptron das Optimierungsproblem formulieren, erklären, dass da nur misclassified Features relevant sind und die Funktion unter der Summe deswegen immer ⇐ 0 ist. Dann wollte er wissen, warum Perceptrons schwierig zu optimieren sind (Die Menge an misclassified features ist diskret und variabel, man braucht also einen iterativen Algorithmus).

Schließlich noch Support Vector Machines, da ebenfalls das Optimierungsproblem: 1/2 || \alpha ||_2^2 minimieren mit der Nebenbedingung y_i(\alpha^T x + \alpha_0) >= 1, dann erklärt dass \alpha so lange minimiert wird, bis ein Sample die Nebenbedingung verletzt, d.h. die Minimierung stoppt, wenn das letzte Sample direkt auf der DB liegt. Er wollte wissen, warum „mehr Samples sind immer gut“ für SVMs so nicht uneingeschränkt gilt (Features weit weg von der DB interessieren nicht) und das auch an der Formel gezeigt haben. Habe die 3. KKT-Condition „complementary slackness“ \lambda_i f_i(x) = 0 angesprochen, f_i(x) eingesetzt und gezeigt, dass entweder der Lagrange-Multiplier 0 sein oder x auf der Grenze des Margins liegen muss. Dann noch hingeschrieben, dass \alpha = \sum_i \lambda_i y_i x_i ist, und damit Alpha nur Komponenten enthält, deren Lambda nicht 0 ist, d.h. die auf der Decision Boundary liegen.

Zu den Übungen wurde nichts gefragt (und ich hätte auch nichts gewusst).

Vorbereitung

Ich hatte exakt eine Woche vorher schon DMIP bei Prof. Hornegger, was (aus meiner Sicht) nicht besonders toll lief. Ich habe also exakt eine Woche gelernt (was eigentlich zu wenig ist), hatte aber die ziemliche Motivation, dass die Prüfung nicht so schlecht sein sollte wie die vorher. Zwei Wochen sollte man also schon einplanen. Außerdem habe ich eine (nicht mehr wirklich kurze) Zusammenfassung geschrieben, dies unter http://wwwcip.cs.fau.de/~sicslang/ws12/pr/ gibt.

Allen Nachfolgern noch viel Erfolg!