Einleitung
Einführung
Wichtige Hinweise zu diesem Kurs
Wie ist dieser Kurs aufgebaut?
Kursmaterialien
Installation vom Editor
Bist du bereit?
Lineare Regression
Lineare Regression: Ein einzelnes Neuron
Lineare Regression
Das Gradientenabstiegsverfahren
Das Gradientenabstiegsverfahren (Steigung berechnen)
Review: Theorie Gradientenverfahren
Das Gradientenabstiegsverfahren (im Code)
Das Gradientenabstiegsverfahren (weiter Hinweise)
Aufgabe: Minimum von eigener Funktion finden lassen
Kostenfunktion minimieren
Das Gradientenabstiegsverfahren und die Kostenfunktion
Kostenfunktion minimieren
Berechnungen vektorisieren
Review: Praktische Anwendung des Gradientenverfahrens
Exkurs Intuition: Warum minimieren wir die quadrierten Abstände?
Merkblatt [PDF]: Lineare Regression
Praxisprojekt: Lineare Regression
Preis von Autos vorhersagen
Preis von Autos vorhersagen (Kostenfunktion anpassen)
Exkurs: Partielle Ableitung
Mehrere Parameter optimieren
Warum müssen wir unsere Daten skalieren?
Wie machen wir die Skalierung rückgängig?
Abschlusstest Praxisprojekt
Wie geht es weiter?: Erstelle noch weitere Modelle
Merkblatt [PDF]: Praxisprojekt Lineare Regression
Logistische Regression
Warum brauchen wir eine Aktivierungsfunktion?
Vorstellung: Die Sigmoid-Funktion
Wie interpretieren wir die Ergebnisse der Sigmoid-Funktion?
Wie können wir die Kurse der Sigmoid-Funktion beeinflussen?
Logistische Regression am Beispiel (Teil 1)
Logistische Regression am Beispiel (Teil 2)
Review: Logistische Regression Basics
Logistische Regression: Unsere Kostenfunktion (Teil 1)
Logistische Regression: Unsere Kostenfunktion (Teil 2)
[Optional]: Weiterführende Links
Merkblatt [PDF]: Logistische Regression
Logistische Regression mit mehreren Parametern
Intuition: Ein AND lernen
Mehrere Parameter (Teil 1)
Mehrere Parameter (Teil 2)
Gewichte als Liste übergeben (Teil 1)
Gewichte als Liste übergeben (Teil 2)
Gewichte als Liste übergeben (Teil 3)
Review: Logistische Regression mit mehreren Parametern
Merkblatt [PDF]: Logistische Regression mit mehreren Parametern
Exkurs: Rechnen mit Matrizen
Warum brauchen wir Matrizen?
Matrizen in Python (Teil 1)
Matrizen in Python (Teil 2)
Matrix transponieren (Intuition)
Matrix transponieren (in Python)
Matrizenmultiplikation (Intuition)
Matrizenmultiplikation (Python)
Matrix und Vektor (Python)
Review: Rechnen mit Matrizen
Achtung: In Numpy sind Matrizen typisiert
Merkblatt [PDF]: Rechnen mit Matrizen
Logistische Regression mit Matrizen
Logistische Regression vektorisieren (Teil 1)
Logistische Regression vektorisieren (Teil 2)
Kostenfunktion vektorisieren
Aufgabe: Berechne verschiedene Ausdrücke
Musterlösung: Berechne verschiedene Ausdrücke
Warum kann die Logistische Regression nicht alle Probleme lösen?
Merkblatt [PDF]: Logistische Regression mit Matritzen
Logistische Regression: MNIST
Vorstellung der MNIST-Daten
Logistische Regression + MNIST
Genauigkeit berechnen (Teil 1)
Genauigkeit berechnen (Teil 2)
Merkblatt [PDF]: Logistische Regression, MNIST
Mehrere Modelle gleichzeitig trainieren
Multiclass Logistic Regression
One-Hot-Encoding (Numpy)
One-Hot-Encoding (Pandas, optional)
Wichtige Vorbereitung: Broadcasting von Operatoren
Vorbereitung: Mehrere Modelle gleichzeitig trainieren
Review: Multiclass Logistic Regression (Theorie)
Exkurs (optional, mathematisch): Steigungs-Funktion Schritt für Schritt anpassen
Multiclass Logistic Regression (Teil 1)
Multiclass Logistic Regression (Teil 2)
Multiclass Logistic Regression (Teil 3)
Multiclass Logistic Regression (Teil 4)
Vorstellung: Objektorientierte Schreibweise
Vorstellung / optional: Objektorientierte Schreibweise ausführlicher erklärt
Merkblatt [PDF]: Multiclass Logistic Regression
Unser erstes Neuronales Netz
Wie ist ein Neuronales Netz aufgebaut?
Wie machen wir mit einem Neuronen Netz eine Vorhersage?
Intuition: Unsere Kostenfunktion
Review: Unser erstes Neuronales Netz
Unsere Kostenfunktion (in Code)
Intuition: Gewichte aktualisieren
Gewichte aktualisieren (Teil 1)
Gewichte aktualisieren (Teil 2)
Merkblatt [PDF]: Neuronales Netz
Unser Neuronales Netz lernt: Backpropagation
Intuition: Backpropagation
Intuition: Backpropagation als Matrixmultiplikation
Intuition: Initialisierung der Gewichte
Neuronales Netz erstellen und trainieren
Review: Backpropagation
Intuition: Stochastic Gradient Descent - damit lernt unser Netz!
Stochastic Gradient Descent - damit lernt unser Netz!
Merkblatt [PDF]: Neuronales Netz und Backpropagation
So optimierst du dein Neuronales Netz
Was können wir alles optimieren?
Lernkurve plotten
Lernrate optimieren
Größe optimieren
Review: Theorie Optimierung
Zusätzliche Daten generieren
Exkurs: Numpy (pad und roll)
Numpy: Zusätzliche Daten generieren
Neuronales Netz: Zusätzliche Daten generieren
Gewichte abspeichern
Merkblatt [PDF]: Neuronales Netz optimieren
Genauigkeit besser beurteilen: Confusion Matrix
Intuition: Warum reicht Genauigkeit nicht immer aus?
Intuition: Fehlertypen
Hinweise zur Installation von pandas_ml
Confusion-Matrix + Neuronales Netz
Fehler vom Neuronalen Netz visualisieren
Merkblatt [PDF]: Confusion Matrix
Bias vs. Varianz
Intuition: Trainings- vs. Testerror
Intuition: Bias vs. Varianz
Vergleich: Was bedeutet hoher Bias bzw. hohe Varianz?
Underfitting oder Overfitting?
Intuition: Brauchen wir mehr Daten?
Intuition: Lernkurve
Neuronales Netz: Brauchen wir mehr Daten?
Review: Bias vs Varianz
Merkblatt [PDF]: Bias vs. Varianz