Regression
Regression bezeichnet eine Methode des überwachten Lernens, bei der ausgehend von einer oder mehreren unabhängigen Variablen (Prädiktoren) auf eine abhängige Variable (Kriterium) geschlossen wird. Dies ermöglicht die Messung des Einflusses der Prädiktoren auf das Kriterium oder die Vorhersage des Kriteriums. Prädiktoren können metrisch, ordinal oder nominal sein.
Einfache lineare Regression
Abschnitt betitelt „Einfache lineare Regression“Die einfache lineare Regression prognostiziert ein Kriterium anhand eines einzelnen Prädiktors. Die Formel lautet:
Dabei ist das prognostizierte Kriterium, oder die Steigung, der Prädiktor und oder der Achsenabschnitt.
Die Berechnung erfolgt wie folgt:
Hierbei ist der Korrelationskoeffizient zwischen und , die Standardabweichung von und die Standardabweichung von .
Dabei sind und die arithmetischen Mittel von und .
Multiple lineare Regression
Abschnitt betitelt „Multiple lineare Regression“Die multiple lineare Regression prognostiziert ein Kriterium anhand mehrerer Prädiktoren. Die Formel lautet:
Die Berechnung und Interpretation ähneln der einfachen linearen Regression.
Logistische Regression
Abschnitt betitelt „Logistische Regression“Die logistische Regression prognostiziert eine dichotome abhängige Variable, also eine Variable mit zwei Ausprägungen, wie Ja/Nein. Die Formel für die Sigmoidfunktion lautet:
Die Wahrscheinlichkeit, dass die abhängige Variable gegeben , beträgt:
Dabei ist die Eulersche Zahl (etwa 2,71828). Die Berechnung der Parameter erfolgt mittels Gradientenabstieg. Die Ableitung der Kostenfunktion entspricht der linearen Regression. Das Verfahren umfasst die Berechnung der multivariaten Regression und die Anwendung der Sigmoidfunktion auf .
Kostenfunktion
Abschnitt betitelt „Kostenfunktion“Die Kostenfunktion misst den Fehler des Modells und wird minimiert, um optimale Parameter zu finden.
Univariate Regression
Abschnitt betitelt „Univariate Regression“
Multivariate Regression
Abschnitt betitelt „Multivariate Regression“
Dabei ist die Anzahl der Datenpunkte, die Vorhersagefunktion des Modells, der Zielwert. Der quadrierte Fehler eliminiert die Richtung des Fehlers, und mittelt den Fehler über alle Datenpunkte.
Die Kostenfunktion quantifiziert die Abweichung der Vorhersagen von den tatsächlichen Werten. Je kleiner der Wert, desto besser die Anpassung des Modells.
Berechnung
Abschnitt betitelt „Berechnung“Nullstellen der Kostenfunktionsableitung
Abschnitt betitelt „Nullstellen der Kostenfunktionsableitung“Die Nullstellen der Ableitung der Kostenfunktion geben das Minimum an. Die Ableitungen lauten:
Code-Äquivalent:
theta0 = ( (sum(y) * sum(x ** 2) - sum(x) * sum(x * y)) / (n * sum(x ** 2) - sum(x) ** 2))
Code-Äquivalent:
theta1 = ( (n * sum(x * y) - sum(x) * sum(y)) / (n * sum(x ** 2) - sum(x) ** 2))
Dieses Verfahren ist genauer als Gradientenabstieg und eignet sich für kleine bis mittlere Datenmengen, ohne dass eine Feature-Skalierung erforderlich ist.
Gradientenabstiegsverfahren
Abschnitt betitelt „Gradientenabstiegsverfahren“Das Gradientenabstiegsverfahren minimiert die Kostenfunktion durch iterative Anpassung der Parameter und . Es beginnt mit zufälligen oder nullinitialisierten Werten.
Die Vorhersagefunktion lautet:
Die Kostenfunktion (Mean Squared Error) ist:
Die Ableitungen sind:
- Ableitung nach :
- Ableitung nach :
Die Update-Regeln lauten:
Dabei ist die Lernrate. Ein zu kleiner Wert verzögert die Konvergenz.
Code-Äquivalent:
for step in range(1000): y_pred = theta0 + x * theta1 theta1_new = theta1 - learning_rate * (1 / n) * sum(x * (y_pred - y)) theta0_new = theta0 - learning_rate * (1 / n) * sum(y_pred - y) theta0, theta1 = theta0_new, theta1_new if step % 50 == 0: theta0s.append(theta0) theta1s.append(theta1)
Pseudocode:
- Initialisierung: Setze , , Lernrate , Iterationen, Datenpunkte, .
- Für jede Iteration: Berechne Vorhersage, Fehler; aktualisiere und .
- Ende.
- Ausgabe: Finale und .
Das Verfahren eignet sich besonders für große Datenmengen.
Feature-Skalierung
Abschnitt betitelt „Feature-Skalierung“Die Feature-Skalierung normiert die Werte der Merkmale auf einen Bereich, etwa 0 bis 1, um die Konvergenz zu beschleunigen:
Eingabewerte müssen später entsprechend skaliert werden. Konvergenz beschreibt den Prozess, bei dem ein Algorithmus einer optimalen Lösung, wie einem minimalen Fehler, näher kommt.