Du befindest dich hier: FSI Informatik » Prüfungsfragen und Altklausuren » Hauptstudiumsprüfungen » Machine Learning and Data Analytics Lab » Introduction   (Übersicht)

Prüfung: Machine Learning for Time Series (7.5 ECTS)
Prüfer: Prof. Dr. Björn Eskofier, Dr.-Ing. Christopher Mutschler, Beisitzer Leo Schwinn
Note: 2.7 (schwankte im Bereich 2.0 bis 3.0 - am Ende haben die Prüfer sich nach eigener Aussage auf 2.7 geeinigt)

Die Prüfungsatmosphäre war entspannt, Papier und Stift werden gestellt. Zur Vorbereitung ist gerade hier zu empfehlen, sich auf den jeweiligen Prüfer themenmäßig einzustellen. (Wobei das natürlich auch gut schief gehen kann ;-)) Zur Übersicht hier die vermuteten Schwerpunkte, je früher am Tag desto eher kommen anscheinend Themen vom Anfang der Vorlesung:

  • Prof. Dr. Björn Eskofier: Linear Regression et al., Kalman Filters, Recurrent Neural Networks, Generative Adversarial Networks (schwer einzuschätzen, evt. auch Bayesian Regression und Sampling)
  • Prof. Dr. Oliver Amft: Bayesian Regression, Gaussian Processes (ziemlich sicher)
  • Dr.-Ing. Christopher Mutschler: Reinforcement Learning (ziemlich sicher)

Da ich mich mit Fokus auf Kalman Filtering, Particle Filtering, Recurrent Neural Networks und Generative Adversarial Neural Networks vorbereitet hatte und keines davon drankam, lief die Klausur erwartungsgemäß schlecht. Mir war auch nicht bekannt, dass Dr.-Ing. Christopher Mutschler bei der Klausur anwesend sein wird, sonst hätte ich mich besser auf Reinforcement Learning vorbereitet.

Ich habe mich bemüht hier die Prüfung so gut wie möglich zu rekonstruieren, aber es kann natürlich sein, dass ich 1) die Reihenfolge zum Teil falsch habe, 2) Fragen/Antworten falsch in Erinnerung habe, oder 3) Fragen einfach hier vergessen habe. Gerade der Reinforcement Learning Teil war leider sehr wirr.

Introduction

P: Wir hatten zu Beginn der Vorlesung 3 Säulen des Maschinellen Lernens kennengelernt. Welche waren das?

Unsupervised, Supervised und Reinforcement Learning. (An dieser Stelle hatte ich leider erst etwas gezögert, da ich mir nicht sicher war, dass er darauf rauswollte. Das erschien mir irgendwie arg trivial.)

P: Bei Supervised Algorithmen haben wir ja die Labels. Was war denn der Grundgedanke bei den Unsupervised Algorithmen?

Bei Unsupervised haben wir eben keine Labels, d.h. wir versuchen unser Daten aber trotzdem so zu Clustern, dass implizite Strukturen hervortreten.

P: Können Sie mir ein Beispiel für einen Unsupervised Algorithmus nennen?

PCA (Principal Component Analysis). Hier wollte er dann auch nicht mehr Details wissen. Wahrscheinlich zu empfehlen, hier gleich mehr zu erwähnen, wie k-Means Clustering, Gaussian Mixture Model, DBSAN, Autoencoder etc.

Linear Regression

P: Gut, wir hatten uns ja dann mit Zeitreihen beschäftigt und in diesem Zusammenhang auch die Lineare Regression behandelt. Was ist denn dabei die Grundidee.

Punkte die grob eine Geraden entsprechen in ein x-y-Koordinatensystem gezeichnet. Dann die Regressionsgerade hineingezeichnet. Erklärt, dass in diesem Fall y = mx + b, im mehrdimensionalen Fall dann y = w^Tx + b.

P: Wie schaut das Ganze denn aus wenn wir keine lineare Korrelation haben? Was machen wir dann?

Dann kann man das Ganze in einen höherdimensionalen Raum projizieren, in dem wir dann wiederum ein lineares Problem lösen können.

P: Gut, zeichnen Sie doch bitte mal ein Beispiel hin.

Punkte die grob einer Parabel entsprechen in ein x-y-Koordinationsystem gezeichnet. Erklärt, dass in diesem Fall die Regression x = ax^2 + bx + c wäre. Hingeschrieben, dass durch Vektor (x^2, x, 1) wieder zu einem linearen Problem wird.

P: Wie schätzen wir denn jetzt die Lineare Regression ab?

Least Square Estimation, in dem man immer die Differenz zwischen Werte aus der Regressionsgerade w^Tx + b und tatsächlichem Wert y minimiert. Hingeschrieben, dass min ||(w^Tx + b) - y||^2 das zu lösende Optimierungsproblem.

P: Welche Art der Estimation ist das?

(Das hatte ich nicht mehr im Kopf, die richtige Antwort an dieser Stelle wäre Maximum Likelihood Estimation gewesen.)

P: Was hat es denn mit der Maximum Likelihood Estimation auf sich?

Erklärt, dass wir die Wahrscheinlichkeit der Daten maximieren wollen, wie der Name impliziert. Im Falle einer Gaussverteilung dann mit Mean und Kovarianz.

P: Wie bestimmen wir denn Mean und Kovarianz?

Einfach den empirischen Mittelwert nehmen, also der Mittelwert aller Datenpunkte. Dann für die Kovarianz jeweilt Mittelwert abziehen und paarweise ausrechnen. (An dieser Stelle wollte ich kurz die Formeln hinschreiben, aber er meinte beschreiben reicht.)

P: Was treffen wir denn für eine Annahme bei der Maximum Likelihood Estimation?

Hier hatte ich zuerst gemeint eine Gaussverteilung. (Darauf hat er mir widersprochen und gemeint den Mittelwert kann man bsp. überall ausrechnen. Er wollte auf indentically independently distributed i.i.d. hinaus.)

P: Was hat es mit den beiden i's in i.i.d. auf sich?

Identical bezieht sich darauf, dass immer aus der selben Verteilung gezogen wird, Independent bezieht sich darauf, dass die Samples sich nicht gegenseitig beeinflussen. (Das musste er etwas aus mir herauskitzeln, da ich das nicht sofort parat hatte.)

P: Was ist der große Vorteil von dieser Annahme?

Die Joint Distribution der Daten zerfällt in diesem Fall in ein Produkt der Einzelkomponenten. Auf Nachfrage dann hingeschrieben, dass p(x_1,…,x_n) = p(x_1)*…*p(x_n).

P: Genau. Das war jetzt also die Frequentist Variante der Linearen Regression. In der Vorlesung hatten wir uns dann auch noch mit der Bayesian Variante beschäftigt. Was könne Sie mir dazu sagen?

Erklärt, dass in diesem Fall wir die Parameter als Verteilung ansehen und an der bedingten Wahrscheinlichkeit p(theta|D) = (p(theta)*p(D|theta))/p(D) interessiert sind. Auf Nachfrage darauf hingewiesen, dass p(theta) der Prior und p(theta|D) der Posterior sind.

P: Gut, wie können wir jetzt den Prior abschätzen?

Hier hatte in Maximum A-posterior Estimation vorgeschlagen, aber das war natürlich falsch. Dann hatte ich „Evidence Approximation“ aus der Übung nachgeschoben. (Er wollte hier hören, dass man den Prior entweder aus den Daten abschätzt, oder, wenn nicht vorhanden, einfach eine Annahme wie Gaussian mit mean und variance macht.)

P: Wir hatten uns ja auch mit Overfitting und Underfitting beschäftigt. Was war denn hier jeweils das Problem?

Erklärt, dass bei Overfitting man die Daten zu gut auswendig lernt und daher kaum generalisiert. Beispiel hingezeichnet mit komplexer Funktion bei „einfacher“ Regressionsgerade.

P: Was sieht jetzt die Funktion aus die Sie hingezeichnet hatten?

Ein Polynom hohen Grades, d.h. es kommen auch x vor die mit einem hohen Exponenten versehen sind.

P: Genau, wir haben hier höhere Grade. Nochmal zurück zur ursprünglichen Frage, was war jetzt dann das Underfitting?

Beispiel erwähnt, das wir eventuell eine lineare Regression in Daten legen, die einen höherdimensionalen Raum benötige, wie bsp. quadratische Funktion. Unser Funktionssuchraum kann dann die gewünschte Regression nicht darstellen.

P: Was können wir denn gegen Overfitting machen?

Die L2-Norm über die Gewichte noch zusätzlich minimieren. Das führt dazu, dass die Regression motiviert wird sparsam mit diesen umzugehen. Sie werden also nur verwendet wenn es sich für die Regression „lohnt“. Auf Nachfrage erwähnt, dass das Ridge Regression heißt.

P: Wie ist denn das Overfitting und Underfitting bezüglich des Bias-Variance-Tradeoff zu bewerten? Beziehungsweise, können Sie mir erläutern was es mit dem Bias-Variance-Tradeoff auch sich hat?

Nein, kann ich leider nicht. (Hier hatte ich erst etwas gezögert, weshalb die obige Folgefrage auch gestellt wurde.)

An dieser Stelle hat Prof. Dr. Björn Eskofier dann an Dr.-Ing. Christopher Mutschler das Wort übergeben um mit Reinforcement Learning fortzusetzen.

Reinforcement Learning

P: Wir hatten in der Vorlesung uns zu Ende ja mit Reinforcement Learning beschäftigt. Was hat es denn damit auf sich? Können Sie mir das kurz erklären?

Wir wollen einen Markov Decision Process (MDP) lösen. Erklärt, dass dieser aus den States S, den Actions A, dem State-Transition-Model P, den Rewards R und dem Discount Factor gamma besteht. Kleine Gridworld hingezeichnet.

P: Was können wir denn machen wenn wir jetzt lernen wollen in dieser Umgebung zu agieren?

Beispielsweise Value-Function bestimmen, die uns für jeden State den Wert ausgibt. Mir ist zu diesem Zeitpunkt leider der Name des Algorithmus entfallen (wäre Value Iteration gewesen). Dazu kann man über alle States iterieren und…

P: Gut, aber was hat es denn mit dem Wert auf sich? Das alleine reicht ja noch nicht für eine Entscheidung.

Erklärt, dass man daraus eine Policy ableiten kann. Zum Beispiel in dem man immer die Action nimmt bei der die Summe aller Wahrscheinlichkeiten mal Value des nächsten States maximal ist.

P: Okay, aber nochmal zu dem Wert, was sagt der uns nochmal aus? Was war denn der Unterschied zwischen Return und Reward.

Hatte gemeint, dass Reward das ist was man bei der Action bekommt und Return der cumulative Reward. (Er hatte mich dann korrigiert auf cumulative discounted Reward.)

P: Was ist denn der Nachteil an diesen Verfahren? Du meintest vermutlich vorhin Policy oder Value Iteration.

Gemeint, dass man in diesem Fall über den ganzen State Space iterieren muss, dass aber nicht immer möglich ist. Daher episoden-basiertes Lernen. (Er hat mir dann widersprochen, gemeint dass man den State Space auch in der echten Welt eigentlich immer hat, aber das State-Transition Model das Problem ist.)

P: Können Sie mir dann grob die Idee des Monte Carlo Algorithmus erklären.

Episoden-basiertes Lernen, d.h. man erzeugt sich Episode und geht dann von hinten durch. Bei der First-visit Policy zum Beispiel addiert man dann den aktuellen Reward auf G, aber nur wenn nicht davor nochmal auftaucht. Value function ist dann average davon. (Er hatte hier mein „Gain“ für G auf „Return“ ausgebessert.)

P: Okay, und was war hier der Unterschied bei Temporal Difference Learning? Wir functionierte das dann?

Hier hatte ich mich dann entschlossen doch auf Papier zu schreiben [siehe TD(0) in Folien]. Erklärt, dass man erst State S initialisiert, dann nach zu evaluierender Policy die Action wählt und Folge-State S' und Reward R observiert. Dann kann man die Value-Function neu evaluieren als V(S) ← V(S) + alpha * [R + gamma * V(S') - V(S)].

P: Gut, dann zurück zu dem Bias-Variance-Tradeoff der anfangs schon angesprochen wurde. Wir hatte Ähnliches für Monte Carlo und Temporal Difference Learning. Wie war das dort? Eins hat hohen Bias und wenig Variance, das andere wenig Bias dafür hohe Variance.

Monte Carlo hat hohe Variance, aber wenig Bias und bei Temporal Difference genau anders herum.

P: 50% Ratewahrscheinlichkeit. Wie war das dann nochmal mit dem identically independently distributed bei Reinforcement Learning?

An dieser Stelle war ich dann bereits verwirrt. Meinte, dass sei hier auch der Fall, weil ja immer aus den selben Möglichkeiten der Episoden gesampelt wird und die sich gegenseitig nicht beeinflussen. (Er hat mich dann verbessert, da die Policy ja geupdatet wird ist auch die Verteilung eine andere.)