Zum Inhalt wechseln
LG4ML
  • Start
  • Idee
  • Projekte
  • Über uns
  • Wiki
  • Blog

Buzzwords

7
  • Transfer Learning
  • Machine Learning
  • Künstliche Intelligenz
  • Deep Learning
  • Data Science Workflow
  • Computer Vision
  • Big Data

Computer Vision

3
  • YOLOv4
  • Object Tracking
  • Frame Differencing

Grundlagen

14
  • Unüberwachtes Lernen
  • Überwachtes Lernen
  • Trainingsphase
  • Sampling
  • Regression
  • Preprocessing
  • Metrics
  • Klassifikation
  • Hyperparameter Tuning
  • Hyperparameter
  • Distanzmetriken
  • Data Science Workflow
  • Data Exploration
  • Cross Validation

Lernverfahren

8
  • Support Vector Machine
  • Principal Component Analysis
  • Perceptron
  • Logistische Regression
  • Lineare Regression
  • K-Nearest-Neighbours
  • K-Means
  • Decision Tree

Neuronale Netze

5
  • Verlustfunktion
  • Transfer Learning
  • Künstliches Neuron
  • Early Stopping
  • Aktivierungsfunktion

Preprocessing

8
  • Value Imputation
  • Scaling
  • Principal Component Analysis
  • Outlier Detection Basic
  • Outlier Detection Advanced
  • Frequenz Filter
  • Feature Engineering
  • Data Augmentation

Python Pakete

1
  • Data-Science Pakete
View Categories
  • Startseite
  • Docs
  • Neuronale Netze
  • Early Stopping

Early Stopping

1 min read

Early Stopping ist eine Methode zur Regularisierung von Modellen und verhindert im Wesentlichen die Überanpassung an die Trainingsdaten – also das sogenannte Overfitting. Early Stopping kann dabei jedoch nur bei Modellen verwendet werden, die im Training mit Iterationen arbeiten. Am verbreitesten ist die Verwendung beim Training von Neuronalen Netzen im Deep Learning Bereich, die andernfalls aufgrund ihrer Komplexität und Größe zum Overfitting neigen.

Funktionsweise #

Early Stopping überwacht während des Trainings die Entwicklung von festgelegten Metriken bzw. Verlustfunktionen im Falle von Neuronalen Netzwerken. Um ein Overfitting zu vermeiden, sollte immer die Metrik der Validationdaten überwacht werden, da diese Aufschluss über Overfitting geben kann. Das Grundprinzip sieht dabei wie folgt aus: Falls sich die überwachte Metrik über n Epochen bzw. Iterationen (das n kann individuell festgelegt werden), wird das Training abgebrochen. Dahinter steckt die simple Annahme, dass die ausbleibende Verbesserung auf den Validationdaten auf eine Überanpassung auf die Trainingsdaten hindeutet. Das Training wird daher nicht weiter fortgesetzt.

Trainingshistorie eines Neuronalen Netzwerkes, die auf Overfitting hindeutet

In der obigen Abbildung ist die Trainingshistorie eines Neuronalen Netzwerkes zu sehen, bei dem im Training kein Early Stopping genutzt wurde. Es ist zu erkennen, dass sich die Genauigkeit auf den Trainingsdaten langsam weiter verbessert, während die Genauigkeit auf den Validationdaten sich nicht weiter verbessert. Im Falles des Losses nimmt dieser zum Ende des Trainings wieder zu. Mit Verwendung von Early Stopping wäre das Training bereits deutlich eher beendet worden, da sich der Validation Loss nicht weiter verringert.

Das Early Stopping lässt sich mit den folgenden Parametern steuern:

  • monitor: Angabe, welche Metrik bzw. welcher Parameter überwacht werden soll
  • patience: Anzahl an Epochen ohne Verbesserung des Scores, nach denen das Training abgebrochen werden soll
  • min_delta: Minimale Änderung des überwachten Parameters, die als Verbesserung gelten soll. Falls die Änderung unterhalb des Deltas liegt, wird das Training abgebrochen.
  • mode: Modus zur Bestimmung, was als Verbesserung gilt. Beim Loss ist eine geringere Zahl eine Verbesserung, bei z.B. Genauigkeit ist eine höhere Zahl eine Verbesserung.
  • restore_best_weights: Gibt an ob die Gewichte zum Zeitpunkt der besten Metrik bzw. des minimales Verlusts wiederhergestellt werden sollen.

Anwendung #

Der nachfolgende Codeblock zeigt beispielhaft, wie Early Stopping in TensorFlow genutzt werden kann. Die Variable model steht dabei für ein TensorFlow Modell, das vorher erstellt wurde.


# Import callbacks module
from tensorflow.keras import callbacks

# Create callback
stopping = callbacks.EarlyStopping(monitor='val_loss', patience=5, restore_best_weights=True)

# Train the model
history = model.fit(X_train, y_train, validation_split=0.3, batch_size=64, epochs=1000, callbacks=[stopping])

In diesem Fall überwacht das Early Stopping den Verlust der Validationdaten und bricht das Training ab, falls über 5 Epochen keine Verbesserung stattgefunden hat. Zusätzlich werden die Gewichte des Netzwerkes zu dem Zeitpunkt des minimales Verlusts wieder hergestellt.

Weiterführende Links:
– Keras EarlyStopping: https://keras.io/api/callbacks/early_stopping/
– EarlyStopping in Practice: https://towardsdatascience.com/a-practical-introduction-to-early-stopping-in-machine-learning-550ac88bc8fd
– EarlyStopping to avoid Overfitting: https://machinelearningmastery.com/early-stopping-to-avoid-overtraining-neural-network-models/

Updated on 23/06/2022

What are your Feelings

  • Happy
  • Normal
  • Sad
Share This Article :
  • Facebook
  • X
  • LinkedIn
  • Pinterest
Verlustfunktion

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhalt
  • Funktionsweise
  • Anwendung

LG4ML

Promoting Machine Learning from Lüneburg!

© 2025 LG4ML

Navigation

  • Kontakt
  • Datenschutzerklärung
  • Impressum

Folge uns auf

Github Slack Instagram

Made with 🍺 in Lüneburg.

Cookie-Hinweis
Wir verwenden Cookies auf unserer Website, um Ihnen die bestmögliche Erfahrung zu bieten, indem wir uns an Ihre Präferenzen und wiederholten Besuche erinnern. Wenn Sie auf "Alle akzeptieren" klicken, erklären Sie sich mit der Verwendung aller Cookies einverstanden. Sie können jedoch die Einstellungen besuchen, um eine kontrollierte Zustimmung zu erteilen.
EinstellungenAlle akzeptieren
Zustimmung verwalten

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
immer aktiv
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDauerBeschreibung
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SPEICHERN & AKZEPTIEREN