Hyperparameter bei der Klassifizierung

Abgeschlossen

Sie können sich Hyperparameter als Einstellungen vorstellen, die für das Training verwendet werden. Wir können uns zum Beispiel dafür entscheiden, langsam oder schnell zu trainieren. Hyperparameter wirken sich auf das Training und somit auf die endgültige Modellleistung aus. Welche Hyperparameter genau verfügbar sind, hängt von der Art des zu trainierenden Modells ab. Normalerweise experimentieren wir mit Hyperparametern, um die Leistung unseres Modells zu optimieren.

Beispiel für zufällige Gesamtstrukturen

Bei zufälligen Gesamtstrukturen sind verschiedene Arten von Hyperparametern verfügbar. Speziell bei zufälligen Strukturen kann die Grenze zwischen architektonischen Entscheidungen und Hyperparametern fließend sein. Das liegt daran, dass Hyperparameter nicht nur die Parameter innerhalb des Modells beeinflussen, sondern auch den Aufbau der Strukturen und Gesamtstrukturen.

Denken Sie daran, dass zu Beginn des Trainings jede Entscheidungsstruktur zahlreiche Stichproben erhält, z. B. 100 Kunstturner, von denen einige Medaillen gewonnen haben. Sie müssen eine Struktur erstellen, mit der diese Stichproben stufenweise in kleinere Untergruppen von Sportler*innen unterteilt werden. Damit soll erreicht werden, dass diese Untergruppen Sportler enthalten, die sich gleichen, d. h., dass in einer Untergruppe alle Sportler Medaillen gewonnen haben oder dass keiner eine Medaille gewonnen hat. Im Folgenden untersuchen wir einige Hyperparameter, die diesen Trainingsprozess beeinflussen können.

Kriterien für die Aufteilung

Während des Trainings muss der Optimierer entscheiden, wann ein Knoten aufgeteilt werden soll. Es gibt verschiedene Möglichkeiten, wie solche Entscheidungen getroffen werden können und welche der gewählten Methode als Hyperparameter bezeichnet wird. Im Wesentlichen beziehen sich die verschiedenen Methoden auf die verschiedenen Möglichkeiten, mit denen die Ähnlichkeit von Stichproben bewertet werden kann.

Die gängigen Methoden zum Aufteilen von Knoten basieren auf der Informationstheorie. Sie können sich das ungefähr so vorstellen, dass eine Stichprobe so aufgeteilt wird, dass die beiden resultierenden Teilstichproben „reiner“ sind als die ursprüngliche Stichprobe. Die verfügbaren Methoden unterscheiden sich geringfügig und können zu geringfügigen Unterschieden in der endgültig resultierenden Struktur führen. Das ist vergleichbar mit Kostenfunktionen, die für den Gradientenabstieg verwendet werden und unterschiedliche endgültige Modelle ergeben können. In den nächsten Übungen experimentieren wir mit zwei Kriterien.

Minimale Verringerung der Verunreinigung

Das Kriterium, das zum Aufteilen von Knoten verwendet wird, kann weiter angepasst werden. Die Festlegung der minimalen Verringerung der Reinheit bedeutet, dass ein Knoten nur dann aufgeteilt werden darf, wenn dadurch das Modell mindestens um einen bestimmten Betrag verbessert wird. Es gibt mehrere verwandte Hyperparameter, die das Erstellen neuer Knoten verhindern können, z. B. die maximale Tiefe oder die mindestens erforderliche Anzahl von Stichproben an einem Knoten.

Wir möchten verhindern, dass eine Struktur zu groß wird, um eine Überanpassung zu vermeiden. Größere Strukturen eigenen sich besser für den Trainingsdatensatz. Sie können jedoch so sehr auf diesen Trainingsdatensatz abgestimmt sein, dass sie bei anderen Daten nicht mehr funktionieren. Das bedeutet, dass sich die Tendenz zur Überanpassung verringern lässt, indem die Komplexität einer Struktur eingeschränkt wird.

Maximale Anzahl von Merkmalen

Den Strukturen, die in einer zufälligen Gesamtstruktur erstellt werden, wird eine Teilmenge Trainingsdaten zum Anpassen und eine Liste mit zu verwendenden Merkmalen zugewiesen. Dabei ist wichtig zu wissen, dass für jeder Struktur eine andere Sammlung von Merkmalen zugewiesen werden kann. So können in einer Struktur beispielsweise die Merkmale Gewicht und Größe und in einer anderen die Merkmale Größe und Alter verwendet werden.

Durch Erhöhen der maximalen Anzahl an Merkmalen, die den einzelnen Strukturen zugewiesen werden kann, lässt sich wahrscheinlich die Anpassungsfähigkeit der Strukturen an den Trainingsdatensatz verbessern, da so mehr Informationen bereitgestellt werden. Ob dadurch die Leistungsfähigkeit beim Testdatensatz unterstützt oder beeinträchtigt wird, kann durch Experimente ermittelt werden. Warum das nicht klar ist, liegt daran, dass die Zuweisung vieler Merkmale dazu führen kann, dass die Strukturen in der Gesamtstruktur einander ähnlicher werden, was den Vorteil einer zufälligen Gesamtstruktur gegenüber einer einfachen Entscheidungsstruktur verringert. In der Regel sind einige Experimente erforderlich, um das Gleichgewicht zwischen diesen Extremen zu finden.

Seeding

Bei der Modellanpassung wird in der Regel irgendwann auf Zufallszahlen zurückgegriffen. Computer erzeugen keine echten Zufallszahlen, sondern verfügen über Regeln, die angeben, wie eine Liste mit Zufallszahlen erzeugt wird, wenn eine Anfangszahl vorliegt, die als zufälliger Startwert bezeichnet wird.

Wenn der Startwert beispielsweise 10 beträgt, kann der Computer mit den ersten drei „Zufallszahlen“ 0,75, 0,13 und 0,68 erzeugen. Obwohl diese Zahlen zufällig erscheinen, erhalten wir jedes Mal die gleichen Zahlen, wenn wir bei 10 starten.

Beim maschinellen Lernen werden Zufallszahlen verwendet, um die Parameter des Modells zu initialisieren und/oder um Datensätze in Trainings- und Testdatensätze aufzuteilen. Wenn der zufällige Startwert festgelegt wird, sind die während des Trainingsprozesses verwendeten Zufallswerte bei jeder erneuten Ausführung des Codes gleich. Das bedeutet, dass den Test- oder Trainingsdatensätzen bei jeder erneuten Ausführung des Codes die gleichen Daten zugewiesen und die Modelle trainiert werden, die denselben Initialisierungsstatus (Anfangsparameter) aufweisen.

Wenn jedoch kein Startwert festgelegt wird, wählt der Computer (beispielsweise basierend auf der Uhrzeit) einen Startwert aus, was zur Folge hat, dass eine zweimalige Durchführung des Trainings leicht unterschiedliche Ergebnisse liefern kann.

Der zufällige Startwert ist kein Hyperparameter im eigentlichen Sinne, aber wir führen ihn hier ein, um zu verdeutlichen, dass dieser externe Parameter eine Rolle für die Effektivität des Trainings spielen kann. Es ist in der Regel zwar unbedeutend, aber wenn das Modell sehr komplex ist und/oder nur wenige Daten zur Verfügung stehen, kann die Leistung des Modells beim Testdatensatz sehr unterschiedlich ausfallen, wenn zwei verschiedene Startwerte verwendet werden. In solchen Situationen lohnt es sich häufig, mit mehreren verschiedenen Startwerten zu trainieren, um beurteilen zu können, ob ein Modelldesign geeignet und die Leistung einfach nur Zufall ist.