# Maschinelles Lernen/Testdaten
## Einleitung

Diese Seite zum Thema Maschinelles Lernen und die Verwendung Testdaten kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus. Dabei werden die folgenden Teilaspekte im Detail behandelt:
* (1) Was ist der Unterschied zwischen Trainingsdaten und Testdaten?
* (2) Wie wählt man Testdaten aus?
* (3) Welcher Zusammenhang besteht zum überwachten Lernen?

## Zielsetzung

Diese Lernressource hat das Ziel, die Verwendung von Testdaten beim maschinellen Lernen zu behandeln und das Overfitting bzw. die Überanpassung zu vermeiden.

## Lernvoraussetzungen

Die Lernressource zum Thema Verwendung von Testdaten beim Maschinelles Lernen hat die folgenden Lernvoraussetzungen, die zum Verständnis der nachfolgenden Ausführungen hilfreich bzw. notwendig sind.
* (Datenanalyse) Maschinelles Lernen kann man zur Datenanalyse verwenden. Daher sind Grundkenntnisse im Umgang mit Daten und deren Auswertung hilfreich.
* (Generalisierung) Man überprüft mit Testdaten die Güte der Prognose für unbekannte Daten.

## Validierung

Beim maschinellen Lernen ist die Validierung des lernfähigen Systems ein Teil der Prozesskette (siehe Ablaufdiagramm).

### Daten für überwachtes

Die Daten $\mathbb {D}$ für überwachtes Lernen und einer Maschine $(M_{t})_{t\in T}$ bestehen z.B. aus Ein-Ausgabepaaren der Form $(x^{(i)},y^{(i)})\in \mathbb {R} ^{n}\times \mathbb {R} ^{m}$:
    $\mathbb {D} :=\left\{(x^{(i)},y^{(i)})\in \mathbb {R} ^{n}\times \mathbb {R} ^{m}\ \colon \ i\in \{1,\ldots ,d\}\right\}$
Dabei wäre $x^{(i)}\in \mathbb {R} ^{n}$ die Eingabe der Maschine und $y^{(i)}\in \mathbb {R} ^{m}$ die erwartete Ausgabe.

### Überwachtes Lernen

Beim überwachten Lernen unter Verwendung einer Validierungsphase zerlegt man $\mathbb {D}$ in zwei Teilmengen mit $\mathbb {D} =\mathbb {D} _{0}\cup \mathbb {D} _{1}$ mit $\mathbb {D} _{0}\cap \mathbb {D} _{1}=\emptyset$. Die Trainingsdatenmenge $\mathbb {D} _{1}$ wird dem Lernalgorithmus zur Verfügung gestellt, damit durch den Vergleich von $M_{t}(x^{(i)})$ und $y^{(i)}\in \mathbb {R} ^{m}$ als erwartete Ausgabe die Maschine vom Zeitschritt $t$ auf $t+1$ die Maschine $M_{t}$ zu $M_{t+1}$ optimieren kann.

### Validierung mit Testdaten

Die Testdaten $\mathbb {D} _{0}$ stand dem Lernalgorithmus nicht in der Trainingsphase zur Verfügung. Dennoch ist für die Testdaten die Sollausgabe bekannt. Also kann man auch mit den Testdaten überprüfen, ob sich die Vorhersagegüte im Trainingsprozess auch auf den Testdaten durch den Lernprozess der Maschine verbessert.

### Overfitting - Überanpassung

Ein maschinelles System sollte nach Möglichkeit nicht nur die Trainingsdaten möglichst gut vorhersagen, sondern auch für unbekannte Daten eine möglichst hohe Approximationsgüte besitzen, da u.a. für den Trainingsdatensatz die Sollausgaben und gemessenen Werte bekannt sind. In einem überwachten Lernprozess kann es einen Zeitpunkt geben, an dem die Approximationsgüte auf den Trainingsdaten weiterhin verbessert wird. Auf den Testdaten wird dann die Approximationsgüte für die bekannten Ausgabewerte $y^{(i)}\in \mathbb {R} ^{m}$ mit $(x^{(i)},y^{(i)})\in \mathbb {D} _{0}$ aber schlechter.

### Fehlerdiagramm - Overfitting

* Die blaue Kurve zeigt den Fehler auf den Trainingsdaten und
* die blaue Kurve zeigt den Fehler auf den Testdaten

## Aufgaben für Lernende / Studierende

Mit den folgenden Aufgaben zum Thema Maschinelles Lernen und Testdaten werden mögliche Auswahlstrategie von Trainings- und Testdaten verwendet:
* Betrachten Sie die Animation mit zwölf Beispieldaten. Diese werden zunächst in zufälliger Reihenfolge angeordnet und dann in Trainings- und Testdaten zerlegt.
* Welche Funktion hat die zufällige Anordnung der Daten?
* Warum werden damit 3 verschiedene Modelle trainiert und getestet?
* Wie kann man die trainierten Modelle bzgl. Ein-Ausgabe-Verhalten vergleichen?

## Beispiel - Objekterkennung beim autonomen Fahren

Als einführendes Beispiel zum Thema Maschinelles Lernen mit Testdaten dient dabei die Gefahrenerkennung beim autonomen Fahren. Diskutieren Sie, welche Rolle Trainingsdaten und Testdaten spielen? Fehlerhafte Objekterkennung kann beim autonomen Fahren ggf. schwerwiegenden Konsequenzen haben. Betrachten Sie in diesem Kontext die Rolle von Overfitting!

## Literatur/Quellennachweise

* ↑ Ying, X. (2019, February). An overview of overfitting and its solutions. In Journal of physics: Conference series (Vol. 1168, p. 022022). IOP Publishing.