Machine Learning for Engineers I - Introduction to Methods and Tools - Cheatsheet
Kategorien maschineller Lernmethoden: Überwachtes vs. unüberwachtes Lernen
Definition:
Überwachtes vs. unüberwachtes Lernen
Details:
- Überwachtes Lernen: Verwendung von gelabelten Trainingsdaten zur Modellbildung
- Unüberwachtes Lernen: Entdeckung von Mustern und Strukturen in ungelabelten Daten
- Ziel überwacht: Vorhersagen treffen oder Kategorien zuweisen
- Ziel unüberwacht: Datenstruktur verstehen oder Gruppen finden
- Beispiele überwacht: Lineare Regression, Entscheidungsbäume
- Beispiele unüberwacht: K-Means, Principal Component Analysis (PCA)
Wichtige Algorithmen: Regression, Klassifikation, Clustering, Assoziationsanalyse
Definition:
Wichtige Algorithmen in ML umfassen Regression, Klassifikation, Clustering und Assoziationsanalyse.
Details:
- Regression: Schätzt kontinuierliche Zielvariablen. Modelle wie lineare Regression.
- Klassifikation: Kategorisiert Datenpunkte. Algorithmen wie k-NN, SVM.
- Clustering: Gruppierung ähnlicher Datenpunkte. Algorithmen wie k-Means, DBSCAN.
- Assoziationsanalyse: Findet Regeln in Daten. Algorithmen wie Apriori, FP-Growth.
Neuronale Netze: Architekturen, Schichten, Neuronen, Gewichte
Definition:
Künstliche neuronale Netze (KNNs) bestehen aus mehreren Schichten, die Neuronen enthalten und mit Gewichten verbunden sind.
Details:
- Architekturen: Verschiedene Aufbauarten von KNNs, z.B. Feedforward-Netze, rekurrente Netze (RNNs), Convolutional Neural Networks (CNNs).
- Schichten: Eingabeschicht, eine oder mehrere verborgene Schichten und Ausgabeschicht.
- Neuronen: Grundbausteine der Schichten, empfangen Eingaben, aktivieren eine Funktion und leiten Ausgaben weiter.
- Gewichte: Skalare Werte, die die Stärke einer Verbindung zwischen zwei Neuronen bestimmen. Sie werden während des Trainings angepasst.
- Aktivierungsfunktion: Beispielsweise Sigmoid, Tanh, ReLU, die nicht-lineare Transformationen der Eingaben in den Neuronen ermöglichen.
- Forward-Propagation: Prozess, bei dem Eingaben durch die Netzwerkarchitektur geleitet werden, um eine Ausgabe zu generieren.
- Backpropagation: Lernalgorithmus zur Anpassung der Gewichte durch Minimierung eines Fehlers (z.B. mittels Gradientenabstieg).
- Kostenfunktion: Maß für die Diskrepanz zwischen tatsächlicher und vorhergesagter Ausgabe, z.B. Mean Squared Error (MSE).
Aktivierungsfunktionen und ihre Rolle in neuronalen Netzen
Definition:
Aktivierungsfunktionen ermöglichen nicht-lineare Transformationen der Eingaben, was entscheidend ist für die Leistungsfähigkeit neuronaler Netze.
Details:
- Lineare Aktivierungsfunktionen: Keine Nicht-Linearität, selten verwendet.
- Sigmoid: \(\text{sigmoid}(x) = \frac{1}{1 + e^{-x}}\), Probleme mit vanishing gradients.
- ReLU (Rectified Linear Unit): \(\text{ReLU}(x) = \text{max}(0, x)\), weit verbreitet wegen Effizienz.
- Tanh: \(\text{tanh}(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}}\), skaliert Werte zwischen -1 und 1, besser als Sigmoid.
- Softmax: \(\text{softmax}(x_i) = \frac{e^{x_i}}{\text{Sum}({e^{x_i}})}\), verwendet für Wahrscheinlichkeitsverteilungen.
Modellevaluierung: Genauigkeit, Präzision, Recall, Kreuzvalidierung
Definition:
Modellevaluierung untersucht, wie gut ein maschinelles Lernmodell funktioniert und ob es verallgemeinern kann.
Details:
- Genauigkeit (Accuracy): Anteil der richtig klassifizierten Instanzen. \( \text{Accuracy} = \frac{\text{true positives} + \text{true negatives}}{\text{total samples}} \)
- Präzision (Precision): Anteil der korrekt als positiv vorhergesagten Instanzen. \( \text{Precision} = \frac{\text{true positives}}{\text{true positives} + \text{false positives}} \)
- Recall: Anteil der korrekt identifizierten positiven Instanzen. \( \text{Recall} = \frac{\text{true positives}}{\text{true positives} + \text{false negatives}} \)
- Kreuzvalidierung (Cross-Validation): Technik zur Bewertung der Generalisierungsfähigkeit eines Modells, indem das Datenset in k-Folds aufgeteilt wird und das Modell k-mal trainiert und getestet wird.
Datenvorverarbeitung mit NumPy und Pandas
Definition:
Datenvorverarbeitung mit NumPy und Pandas: Werkzeuge zum Laden, Analysieren und Transformieren von Daten, um sie für maschinelles Lernen vorzubereiten.
Details:
- NumPy: effiziente numerische Berechnungen, Arrays, elementweise Berechnungen, lineare Algebra
- Pandas: Datenstrukturen (DataFrame, Series), Datenmanipulation, fehlende Werte behandeln, Daten aggregieren
- Daten laden:
pd.read_csv(), np.loadtxt()
- Daten transformieren: skalieren, normalisieren, encoden
- Fehlende Werte:
df.dropna(), df.fillna()
- Feature-Engineering: neue Features erstellen durch Kombinationen und Transformationen
- Datenaufteilung: Trainings- und Testdatensätze erstellen (
train_test_split()
)
Entwicklung von neuronalen Netzen mit TensorFlow und Keras
Definition:
Entwicklung neuronaler Netze mit TensorFlow und Keras
Details:
- TensorFlow: Open-Source-Framework für maschinelles Lernen von Google
- Keras: Hochlevel-API, vereinfacht die Erstellung und das Training von neuronalen Netzwerken
- Modellarchitektur: Sequential und Functional API
- Optimierung: Verlustfunktion, Optimierungsalgorithmus
- Trainingsprozess: Datenvorverarbeitung, Batch-Training, Evaluierung
- Codebeispiel:
import tensorflow as tffrom tensorflow.keras.models import Sequentialfrom tensorflow.keras.layers import Dense# Modell erstellenmodel = Sequential([Dense(64, activation='relu'), Dense(10, activation='softmax')])# Kompilierenmodel.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])# Trainingmodel.fit(x_train, y_train, epochs=10)# Evaluierungloss, accuracy = model.evaluate(x_test, y_test)
Vermeidung von Overfitting und Underfitting
Definition:
Vermeidung von Overfitting und Underfitting: Sicherstellen, dass das Modell gut generalisiert und die Balance zwischen Bias und Varianz findet.
Details:
- Bias-Varianz-Dilemma: Trade-off zwischen Bias (Underfitting) und Varianz (Overfitting)
- Regularisierung: Hinzufügen einer Strafe für komplexe Modelle, z.B. Lasso (\text{L}_1-Norm) und Ridge (\text{L}_2-Norm)
- Cross-Validation: Aufteilung der Daten in Trainings- und Validierungssätze zur Bewertung der Modellleistung
- Feature-Engineering: Relevante Merkmale auswählen und extrahieren
- Datenaugmentation: Erhöhung der Datenmenge durch Transformationen
- Ensemble-Methoden: Kombination mehrerer Modelle zur Robustheitssteigerung
- Frühes Stoppen: Training beenden, wenn sich die Validierungsleistung verschlechtert