Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Hyperparameter-Optimierung | Fazit
Einführung in Neuronale Netze

bookHyperparameter-Optimierung

Hyperparameter in neuronalen Netzen

Neuronale Netze, einschließlich Perzeptronen, verfügen über mehrere Hyperparameter, die ihre Leistung beeinflussen. Im Gegensatz zu Modellparametern (z. B. Gewichte und Biases) werden Hyperparameter vor Beginn des Trainings festgelegt. Zu den wichtigsten Hyperparametern bei Perzeptronen gehören:

  • Anzahl der versteckten Schichten und Neuronen pro Schicht: Bestimmt die Fähigkeit des Modells, komplexe Muster zu erlernen. Zu wenige Neuronen führen zu Underfitting, zu viele können Overfitting verursachen;

  • Lernrate: Steuert, wie stark das Modell die Gewichte während des Trainings anpasst. Eine hohe Lernrate kann das Training instabil machen, während eine niedrige Lernrate zu langsamer Konvergenz führen kann:

  • Anzahl der Trainingsepochen: Legt fest, wie oft das Modell die Trainingsdaten sieht. Mehr Epochen ermöglichen besseres Lernen, können aber bei zu vielen Epochen zu Overfitting führen.
Note
Hinweis

Zusammenfassend tritt Overfitting auf, wenn ein Modell die Trainingsdaten zu genau lernt und dabei Rauschen statt allgemeiner Muster erfasst. Dies führt zu hoher Genauigkeit auf dem Trainingsdatensatz, aber zu schlechter Generalisierung auf unbekannte Daten.

Underfitting hingegen tritt auf, wenn ein Modell zu einfach ist, um die zugrunde liegenden Muster in den Daten zu erfassen. Dies führt sowohl zu schlechter Trainings- als auch Testleistung und zeigt, dass das Modell nicht ausreichend Kapazität zum effektiven Lernen besitzt.

Hyperparameter-Optimierung

Hyperparameter-Optimierung ist entscheidend für die Optimierung neuronaler Netzwerke. Ein schlecht abgestimmtes Modell kann zu Underfitting oder Overfitting führen.

Es können die Anzahl der Epochen, die Anzahl der versteckten Schichten, deren Größe und die Lernrate angepasst werden, um zu beobachten, wie sich die Genauigkeit auf den Trainings- und Testdatensätzen verändert:

1234567891011121314151617181920212223
from sklearn.neural_network import MLPClassifier from sklearn.metrics import accuracy_score import numpy as np import warnings # Ignore warnings warnings.filterwarnings("ignore") import os os.system('wget https://codefinity-content-media.s3.eu-west-1.amazonaws.com/f9fc718f-c98b-470d-ba78-d84ef16ba45f/section_2/data.py 2>/dev/null') from data import X_train, y_train, X_test, y_test np.random.seed(10) # Tweak hyperparameters here model = MLPClassifier(max_iter=100, hidden_layer_sizes=(6, 6), learning_rate_init=0.01, random_state=10) model.fit(X_train, y_train) y_pred_train = model.predict(X_train) y_pred_test = model.predict(X_test) # Comparing train set accuracy and test set accuracy train_accuracy = accuracy_score(y_train, y_pred_train) test_accuracy = accuracy_score(y_test, y_pred_test) print(f'Train accuracy: {train_accuracy:.3f}') print(f'Test accuracy: {test_accuracy:.3f}')
copy

Die Suche nach der richtigen Kombination von Hyperparametern erfordert systematische Experimente und Anpassungen. Dies wird häufig mit Methoden wie Grid Search (Testen aller möglichen Kombinationen von Hyperparametern) und Random Search (Testen einer zufälligen Auswahl von Hyperparameterwerten) durchgeführt.

Im Wesentlichen folgt das Training eines neuronalen Netzwerks einem iterativen Zyklus:

  1. Definition des Modells mit anfänglichen Hyperparametern;
  2. Training des Modells mit dem Trainingsdatensatz;
  3. Leistungsbewertung auf einem Testdatensatz;
  4. Anpassung der Hyperparameter (z. B. Anzahl der Schichten, Lernrate);
  5. Wiederholung des Prozesses, bis die gewünschte Leistung erreicht ist.

Diese iterative Verfeinerung stellt sicher, dass das Modell gut auf unbekannte Daten generalisiert.

1. Welcher der folgenden ist ein Hyperparameter und kein Modellparameter?

2. Eine zu hohe Lernrate führt höchstwahrscheinlich zu:

question mark

Welcher der folgenden ist ein Hyperparameter und kein Modellparameter?

Select the correct answer

question mark

Eine zu hohe Lernrate führt höchstwahrscheinlich zu:

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Suggested prompts:

What are some best practices for hyperparameter tuning in neural networks?

Can you explain the difference between grid search and random search?

How do I know if my model is overfitting or underfitting?

Awesome!

Completion rate improved to 4

bookHyperparameter-Optimierung

Swipe um das Menü anzuzeigen

Hyperparameter in neuronalen Netzen

Neuronale Netze, einschließlich Perzeptronen, verfügen über mehrere Hyperparameter, die ihre Leistung beeinflussen. Im Gegensatz zu Modellparametern (z. B. Gewichte und Biases) werden Hyperparameter vor Beginn des Trainings festgelegt. Zu den wichtigsten Hyperparametern bei Perzeptronen gehören:

  • Anzahl der versteckten Schichten und Neuronen pro Schicht: Bestimmt die Fähigkeit des Modells, komplexe Muster zu erlernen. Zu wenige Neuronen führen zu Underfitting, zu viele können Overfitting verursachen;

  • Lernrate: Steuert, wie stark das Modell die Gewichte während des Trainings anpasst. Eine hohe Lernrate kann das Training instabil machen, während eine niedrige Lernrate zu langsamer Konvergenz führen kann:

  • Anzahl der Trainingsepochen: Legt fest, wie oft das Modell die Trainingsdaten sieht. Mehr Epochen ermöglichen besseres Lernen, können aber bei zu vielen Epochen zu Overfitting führen.
Note
Hinweis

Zusammenfassend tritt Overfitting auf, wenn ein Modell die Trainingsdaten zu genau lernt und dabei Rauschen statt allgemeiner Muster erfasst. Dies führt zu hoher Genauigkeit auf dem Trainingsdatensatz, aber zu schlechter Generalisierung auf unbekannte Daten.

Underfitting hingegen tritt auf, wenn ein Modell zu einfach ist, um die zugrunde liegenden Muster in den Daten zu erfassen. Dies führt sowohl zu schlechter Trainings- als auch Testleistung und zeigt, dass das Modell nicht ausreichend Kapazität zum effektiven Lernen besitzt.

Hyperparameter-Optimierung

Hyperparameter-Optimierung ist entscheidend für die Optimierung neuronaler Netzwerke. Ein schlecht abgestimmtes Modell kann zu Underfitting oder Overfitting führen.

Es können die Anzahl der Epochen, die Anzahl der versteckten Schichten, deren Größe und die Lernrate angepasst werden, um zu beobachten, wie sich die Genauigkeit auf den Trainings- und Testdatensätzen verändert:

1234567891011121314151617181920212223
from sklearn.neural_network import MLPClassifier from sklearn.metrics import accuracy_score import numpy as np import warnings # Ignore warnings warnings.filterwarnings("ignore") import os os.system('wget https://codefinity-content-media.s3.eu-west-1.amazonaws.com/f9fc718f-c98b-470d-ba78-d84ef16ba45f/section_2/data.py 2>/dev/null') from data import X_train, y_train, X_test, y_test np.random.seed(10) # Tweak hyperparameters here model = MLPClassifier(max_iter=100, hidden_layer_sizes=(6, 6), learning_rate_init=0.01, random_state=10) model.fit(X_train, y_train) y_pred_train = model.predict(X_train) y_pred_test = model.predict(X_test) # Comparing train set accuracy and test set accuracy train_accuracy = accuracy_score(y_train, y_pred_train) test_accuracy = accuracy_score(y_test, y_pred_test) print(f'Train accuracy: {train_accuracy:.3f}') print(f'Test accuracy: {test_accuracy:.3f}')
copy

Die Suche nach der richtigen Kombination von Hyperparametern erfordert systematische Experimente und Anpassungen. Dies wird häufig mit Methoden wie Grid Search (Testen aller möglichen Kombinationen von Hyperparametern) und Random Search (Testen einer zufälligen Auswahl von Hyperparameterwerten) durchgeführt.

Im Wesentlichen folgt das Training eines neuronalen Netzwerks einem iterativen Zyklus:

  1. Definition des Modells mit anfänglichen Hyperparametern;
  2. Training des Modells mit dem Trainingsdatensatz;
  3. Leistungsbewertung auf einem Testdatensatz;
  4. Anpassung der Hyperparameter (z. B. Anzahl der Schichten, Lernrate);
  5. Wiederholung des Prozesses, bis die gewünschte Leistung erreicht ist.

Diese iterative Verfeinerung stellt sicher, dass das Modell gut auf unbekannte Daten generalisiert.

1. Welcher der folgenden ist ein Hyperparameter und kein Modellparameter?

2. Eine zu hohe Lernrate führt höchstwahrscheinlich zu:

question mark

Welcher der folgenden ist ein Hyperparameter und kein Modellparameter?

Select the correct answer

question mark

Eine zu hohe Lernrate führt höchstwahrscheinlich zu:

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 2
some-alt