Machine Learning for Engineers II - Advanced Methods - Cheatsheet
Hyperparameter-Tuning und -Optimierung
Definition:
Hyperparameter-Tuning und -Optimierung: Prozesse zur Auswahl der besten Hyperparameter in ML-Modellen zur Maximierung der Modellleistung.
Details:
- Hyperparameter: Parameter, die vor dem Training festgelegt werden (z.B. Lernrate, Batch-Größe).
- Ziel: Minimieren der Fehlerrate oder Maximieren der Genauigkeit.
- Methoden: Grid Search, Random Search, Bayesian Optimization.
- Grid Search: Erschöpfende Suche über einen vorgegebenen Parameterraum.
- Random Search: Zufällige Auswahl von Parametern aus einem definierten Raum.
- Bayesian Optimization: Verwendung probabilistischer Modelle zur Modellierung der Funktion und Auswahl vielversprechender Hyperparameter.
- Kreuzvalidierung: Verwendung zur Bewertung der Modellleistung bei verschiedenen Hyperparametern.
Architekturen tiefer neuronaler Netze (CNNs, RNNs)
Definition:
CNNs und RNNs: Architekturen für tiefe neuronale Netze zur Verarbeitung von räumlichen (CNN) und sequentiellen Daten (RNN). Wichtig für Bild- und Texterkennung.
Details:
- CNNs (Convolutional Neural Networks): Schichten: Faltungs-, Pooling- und vollverbundene Schichten zur Erkennung räumlicher Hierarchien in Bildern.
- Wichtige Konzepte: Filter, Stride, Padding, Pooling (max/average), Aktivierungsfunktionen (ReLU).
- Anwendungen: Bildklassifikation, Objekterkennung, Bildsegmentierung.
- RNNs (Recurrent Neural Networks): Speziell für sequentielle Daten. Nutzen interne Zustände (Speicher) zur Verarbeitung von Sequenzen.
- Vanishing Gradient Problem → LSTM (Long Short-Term Memory) und GRU (Gated Recurrent Unit) als Lösungen.
- Anwendungen: Sprachverarbeitung, maschinelle Übersetzung, Zeitreihenanalyse.
Vermeidung von Überanpassung (z.B. Dropout)
Definition:
Vermeidung von Überanpassung zielt darauf ab, das Modell so zu trainieren, dass es nicht nur die Trainingsdaten, sondern auch unbekannte Testdaten gut generalisieren kann.
Details:
- Dropout: Während des Trainings werden zufällig ausgewählte Neuronen auf null gesetzt, um deren Abhängigkeiten zu reduzieren.
- Regularisierung: Hinzufügen eines Regularisierungsterms zur Verlustfunktion, z.B. L2-Regularisierung (Ridge) \( \lambda \sum_{j} \theta_j^2\).
- Cross-Validation: Datensatz in Trainings- und Validierungssätze aufteilen, um die Modellleistung zu überwachen.
- Frühes Stoppen: Training beenden, wenn sich die Leistung auf dem Validierungsset nicht mehr verbessert.
- Datenaugmentation: Künstliche Erzeugung zusätzlicher Trainingsdaten durch leichte Veränderungen der vorhandenen Daten.
Transfer Learning: Feintuning und Feature Extraction
Definition:
Transfer Learning: Wiederverwendung eines vortrainierten Modells auf einem neuen, aber verwandten Problem. Finetuning: Anpassung der letzten Schichten des Modells. Feature Extraction: Nutzung eines vortrainierten Modells als Feature-Extractor.
Details:
- Vortrainiertes Modell auf einem großen Dataset trainiert
- Finetuning: letzten Schichten des Modells werden auf spezifisches Dataset trainiert
- Feature Extraction: eingefrorene Schichten zur Extraktion von Merkmalen genutzt
- Ziel: schnellere Konvergenz und bessere Leistung auf kleiner Ziel-Dataset
Generative Modelle (GANs, Variational Autoencoders)
Definition:
Generative Modelle erzeugen neue Datenpunkte aus der Verteilungsfunktion der Trainingsdaten.
Details:
- GANs (Generative Adversarial Networks): Bestehen aus einem Generator und einem Diskriminator, die gegeneinander antreten (min-max Spiel).
- VAE (Variational Autoencoders): Verwenden Encoder und Decoder; maximieren die untere Schranke der Datenlog-Wahrscheinlichkeit.
- GANs Loss: \[\text{min}_G \text{max}_D V(D, G) = E[\text{log}(D(x))] + E[\text{log}(1 - D(G(z)))]\]
- VAE Loss: \[\text{L} = -E[\text{log} p(x|z)] + D_{KL}(q(z|x)||p(z))\]
- GANs: Typischerweise schwieriger zu trainieren (Instabilität, Modus-Kollaps).
- VAEs: Stabileres Training, erzeugen glatte, aber manchmal unscharfe Bilder.
Anomalieerkennung in unüberwachten Umgebungen
Definition:
Erkennung von unerwarteten Ereignissen oder Zuständen in einem Datensatz ohne Verwendung von beschrifteten Daten.
Details:
- Nutzen von Distanzmaße oder Clustering-Algorithmen zur Identifikation von Ausreißern
- Methoden: Principal Component Analysis (PCA), K-Means, Gaussian Mixture Models (GMM)
- Bewertung durch Validierungsmethoden wie Rekonstruktionsfehler bei Autoencodern
- Keine vorherige Klassifizierung oder Label notwendig
Implementierung und Training von Modellen mit Python und TensorFlow
Definition:
Implementierung und Training von ML-Modellen mit Python und TensorFlow; unterstützt komplexe neuronale Netze und andere ML-Algorithmen.
Details:
- Nutzung von Keras-API für einfache Modellkonstruktion.
- Schritte: Datenvorbereitung, Modellarchitektur, Kompilierung, Training, Evaluation.
- Datenvorbereitung: Verwendung von pandas und numpy, Normalisierung.
- Modellarchitektur: Sequential API oder Functional API.
- Kompilierung: Optimierer, Verlustfunktion, Metriken angeben.
- Training: model.fit(), Epochen und Batch-Größen.
- Evaluation: model.evaluate(), model.predict().
- Hyperparameter-Tuning: GridSearchCV oder RandomSearch.