logo

Hyperparameter im maschinellen Lernen

Hyperparameter beim maschinellen Lernen sind jene Parameter, die vom Benutzer explizit definiert werden, um den Lernprozess zu steuern. Diese Hyperparameter werden verwendet, um das Lernen des Modells zu verbessern, und ihre Werte werden vor Beginn des Lernprozesses des Modells festgelegt.

Hyperparameter im maschinellen Lernen

In diesem Thema werden wir eines der wichtigsten Konzepte des maschinellen Lernens diskutieren, nämlich Hyperparameter, ihre Beispiele, Hyperparameter-Tuning, Kategorien von Hyperparametern, wie unterscheiden sich Hyperparameter von Parametern beim maschinellen Lernen? Aber bevor wir beginnen, wollen wir zunächst den Hyperparameter verstehen.

Was sind Hyperparameter?

Beim maschinellen Lernen/Deep Learning wird ein Modell durch seine Parameter dargestellt. Im Gegensatz dazu umfasst ein Trainingsprozess die Auswahl der besten/optimalen Hyperparameter, die von Lernalgorithmen verwendet werden, um das beste Ergebnis zu erzielen. Was sind also diese Hyperparameter? Die Antwort ist, ' Als „Hyperparameter“ werden die Parameter definiert, die vom Benutzer explizit definiert werden, um den Lernprozess zu steuern.

Hier deutet das Präfix „hyper“ darauf hin, dass es sich bei den Parametern um Parameter der obersten Ebene handelt, die zur Steuerung des Lernprozesses verwendet werden. Der Wert des Hyperparameters wird vom Ingenieur für maschinelles Lernen ausgewählt und festgelegt, bevor der Lernalgorithmus mit dem Training des Modells beginnt. Daher liegen diese außerhalb des Modells und ihre Werte können während des Trainingsprozesses nicht geändert werden .

string jsonobject

Einige Beispiele für Hyperparameter im maschinellen Lernen

  • Das k im kNN- oder K-Nearest Neighbor-Algorithmus
  • Lernrate für das Training eines neuronalen Netzwerks
  • Aufteilungsverhältnis zwischen Zug und Test
  • Chargengröße
  • Anzahl der Epochen
  • Zweige im Entscheidungsbaum
  • Anzahl der Cluster im Clustering-Algorithmus

Unterschied zwischen Parameter und Hyperparameter?

Es besteht immer eine große Verwechslung zwischen Parametern und Hyperparametern oder Modellhyperparametern. Um diese Verwirrung zu beseitigen, wollen wir den Unterschied zwischen beiden und ihre Beziehung zueinander verstehen.

Modellparameter:

Modellparameter sind modellinterne Konfigurationsvariablen, die ein Modell selbstständig lernt. Zum Beispiel , W Gewichte oder Koeffizienten unabhängiger Variablen im linearen Regressionsmodell . oder Gewichte oder Koeffizienten unabhängiger Variablen in SVM, Gewichte und Bias eines neuronalen Netzwerks, Clusterschwerpunkt beim Clustering. Einige wichtige Punkte für Modellparameter sind wie folgt:

  • Sie werden vom Modell verwendet, um Vorhersagen zu treffen.
  • Sie werden vom Modell aus den Daten selbst gelernt
  • Diese werden in der Regel nicht manuell eingestellt.
  • Diese sind Teil des Modells und der Schlüssel zu einem Algorithmus für maschinelles Lernen.

Modell-Hyperparameter:

Hyperparameter sind jene Parameter, die vom Benutzer explizit definiert werden, um den Lernprozess zu steuern. Einige wichtige Punkte für Modellparameter sind wie folgt:

  • Diese werden normalerweise manuell vom Machine-Learning-Ingenieur definiert.
  • Man kann nicht den genauen besten Wert für Hyperparameter für das gegebene Problem kennen. Der beste Wert kann entweder durch die Faustregel oder durch Versuch und Irrtum ermittelt werden.
  • Einige Beispiele für Hyperparameter sind die Lernrate für das Training eines neuronalen Netzwerks, K im KNN-Algorithmus,

Kategorien von Hyperparametern

Im Großen und Ganzen können Hyperparameter in zwei Kategorien unterteilt werden, die im Folgenden aufgeführt sind:

    Hyperparameter zur Optimierung Hyperparameter für bestimmte Modelle

Hyperparameter zur Optimierung

Der Prozess der Auswahl der besten zu verwendenden Hyperparameter wird als Hyperparameter-Tuning bezeichnet, und der Tuning-Prozess wird auch als Hyperparameter-Optimierung bezeichnet. Zur Optimierung des Modells werden Optimierungsparameter verwendet.

Hyperparameter im maschinellen Lernen

Einige der beliebtesten Optimierungsparameter sind unten aufgeführt:

    Lernrate:Die Lernrate ist der Hyperparameter in Optimierungsalgorithmen, der steuert, wie stark sich das Modell als Reaktion auf den geschätzten Fehler jedes Mal ändern muss, wenn die Gewichte des Modells aktualisiert werden. Es ist einer der entscheidenden Parameter beim Aufbau eines neuronalen Netzwerks und bestimmt auch die Häufigkeit der Gegenprüfung mit Modellparametern. Die Auswahl der optimierten Lernrate ist eine anspruchsvolle Aufgabe, denn wenn die Lernrate sehr niedrig ist, kann dies den Trainingsprozess verlangsamen. Wenn andererseits die Lernrate zu hoch ist, wird das Modell möglicherweise nicht richtig optimiert.

Hinweis: Die Lernrate ist ein entscheidender Hyperparameter für die Optimierung des Modells. Wenn also nur ein einzelner Hyperparameter optimiert werden muss, wird empfohlen, die Lernrate anzupassen.

    Chargengröße:Um den Lernprozess zu beschleunigen, wird der Trainingssatz in verschiedene Teilmengen unterteilt, die als Batch bezeichnet werden. Anzahl der Epochen: Eine Epoche kann als vollständiger Zyklus zum Trainieren des maschinellen Lernmodells definiert werden. Epoche stellt einen iterativen Lernprozess dar. Die Anzahl der Epochen variiert von Modell zu Modell und es werden verschiedene Modelle mit mehr als einer Epoche erstellt. Um die richtige Anzahl von Epochen zu bestimmen, wird ein Validierungsfehler berücksichtigt. Die Anzahl der Epochen wird erhöht, bis sich der Validierungsfehler verringert. Wenn sich der Reduktionsfehler für die aufeinanderfolgenden Epochen nicht verbessert, bedeutet dies, dass die Erhöhung der Anzahl der Epochen gestoppt werden sollte.

Hyperparameter für bestimmte Modelle

Hyperparameter, die an der Struktur des Modells beteiligt sind, werden als Hyperparameter für bestimmte Modelle bezeichnet. Diese sind unten aufgeführt:

    Eine Reihe versteckter Einheiten:Versteckte Einheiten sind Teil neuronaler Netze, die sich auf die Komponenten beziehen, aus denen die Prozessorschichten zwischen Eingabe- und Ausgabeeinheiten in einem neuronalen Netz bestehen.

Es ist wichtig, die Anzahl der versteckten Einheiten des Hyperparameters für das neuronale Netzwerk anzugeben. Sie sollte zwischen der Größe der Eingabeebene und der Größe der Ausgabeebene liegen. Genauer gesagt sollte die Anzahl der verborgenen Einheiten 2/3 der Größe der Eingabeebene plus der Größe der Ausgabeebene betragen.

Für komplexe Funktionen ist es notwendig, die Anzahl der versteckten Einheiten anzugeben, sie sollte jedoch nicht zu stark an das Modell angepasst werden.

    Anzahl der Schichten:Ein neuronales Netzwerk besteht aus vertikal angeordneten Komponenten, die als Schichten bezeichnet werden. Es gibt hauptsächlich Eingabeebenen, ausgeblendete Ebenen und Ausgabeebenen . Ein dreischichtiges neuronales Netzwerk bietet eine bessere Leistung als ein zweischichtiges Netzwerk. Für ein Convolutional Neural Network ergibt eine größere Anzahl von Schichten ein besseres Modell.

Abschluss

Hyperparameter sind Parameter, die explizit definiert werden, um den Lernprozess zu steuern, bevor ein Algorithmus für maschinelles Lernen auf einen Datensatz angewendet wird. Diese werden verwendet, um die Lernfähigkeit und Komplexität des Modells zu spezifizieren. Einige der Hyperparameter werden zur Optimierung der Modelle verwendet, z. B. Stapelgröße, Lernrate usw., andere sind spezifisch für die Modelle, z. B. Anzahl der verborgenen Schichten usw.