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
  • Grundlagen
  • Hyperparameter Tuning

Hyperparameter Tuning

1 min read

Hyperparameter Tuning meint die Optimierung der externen Parameter eines Modells und ist wesentlicher Bestandteil der Trainingsphase im Data Science Workflow. Das Ziel der Phase liegt darin, die Hyperparameter des gewählten Modells so anzupassen, dass die Ergebnisse am Ende optimal in Bezug auf die Anforderungen sind. Wie bereits im weiteren Artikel erläutert, fallen unter den Begriff Hyperparameter alle Parameter, die vor Durchlauf des eigentlichen Trainings bzw. Algorithmus des Lernverfahrens gesetzt werden und nicht direkt in Zusammenhang mit den verwendeten Daten stehen. Um die Hyperparameter eines Modells zu optimieren gibt es verschiedene Verfahren –  dieser Artikel stellt die zwei wohl bekanntesten davon vor. Je nach Anwendungsfall können weitere Tuningmethoden sinnvoll sein, um die Ergebnisse in einem akzeptablen Zeitaufwand zu optimieren.

Random Search #

Wie es der Name bereits vermuten lässt, werden beim Random Search zufällige Kombinationen aus Hyperparametern ausprobiert und nach einer festgelegten Metrik evaluiert. Aus allen ausprobierten Variationen wird die Beste als finales Modell verwendet. Diese Methodik zwar relativ zeitsparend, wenn nur Modelle mit verhältnismäßig wenigen Kombinationen trainiert werden, liefert jedoch auch nicht zwingend das beste Ergebnis. Random Search kann allerdings gut zu Beginn des Tuning Prozesses eingesetzt werden, um einen ungefähren Einblick über optimale Parameter zu bekommen. Der folgende Codeblock zeigt wie mit der Implementierung von Sklearn ein Randomized Search durchgeführt werden kann. Zunächst muss eine verfügbare Auswahl an Parametern als Dictionary erstellt werden, aus dem sich der Suchalgorithmus dann im Suchverlauf zufällige Kombinationen auswählen kann. Nach der Suche können die optimalen Parameter abgerufen und angezeigt werden.

from sklearn.model_selection import RandomizedSearchCV
from sklearn.neighbours import KNeighboursClassifier

# Parameter für Suche setzen
params = {n_neighbours=list(range(25)), p=[1,2,3]}

# Suche starten
clf = RandomizedSearchCV(KNeighboursClassifier(), params)
clf.fit(X_train, y_train)

# Ergebnisse abrufen
print(clf.best_params_)

Grid Search #

Ähnlich zum Random Search werden auch beim Grid Search zu testende Parameter in einem Python Dictionary festgehalten. Jedoch werden nicht zufällige, sondern alle verfügbaren Kombinationen aus Hyperparametern ausprobiert. Somit entsteht ein sogenanntes Param-Grid, das auch namensgebend für das Suchverfahren ist. Je nachdem wie viele Hyperparameter zur Auswahl gestellt werden, steigt die Anzahl der zu trainierenden Modelle sehr schnell an. Die Anzahl der Möglichkeiten berechnet sich, indem die Anzahl der Möglichkeiten der einzelnen Hyperparameter miteinander multipliziert werden. Bei einem Param-Grid von

param_grid = { C=[0.1, 1, 10], gamma=[1e-5, 1e-4, 1e-3 } 

ergeben sich somit 3*3=9 verschiedene Kombinationsmöglichkeiten. Grid Search wird in den meisten Fällen mit der Cross Validation kombiniert, wodurch insgesamt noch mehr Modelle trainiert werden müssen. Der Vorteil liegt jedoch ganz einfach darin, dass aus den verfügbaren Kombinationen wirklich die optimalen Hyperparameter gefunden werden. 

Die folgenden Grafiken visualisieren beispielhaft die Ergebnisse des Tunings einer Support Vector Machine unter Variation der Parameter C und Gamma und eines KNN-Modells unter Variation der Anzahl der Nachbarn.

Support Vector Machine
KNN-Modell

Weiterführend Links:
RandomizedSearchCV (Sklearn): https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RandomizedSearchCV.html
GridSearchCV (Sklearn): https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html
Hyperparameters Optimization: https://towardsdatascience.com/hyperparameters-optimization-526348bb8e2d

Updated on 12/03/2022

What are your Feelings

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

Schreibe einen Kommentar Antworten abbrechen

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

Inhalt
  • Random Search
  • Grid Search

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