Zum Inhalt springen

Was ist die Ridge Regression?

Um aussagekräftige Machine Learning Modelle trainieren zu können, muss das sogenannte Overfitting immer im Auge behalten werden. Bei dieser Problematik passt sich das Modell zu stark an die Trainingsdaten an und liefert deshalb nur schlechte Vorhersagen für neue, ungesehene Daten. Die Ridge Regression, auch L2-Regularisierung genannt, bietet eine effektive Lösung für dieses Problem, wenn man eine lineare Regression trainieren will. Indem diese Architektur einen weiteren Koeffizienten, den sogenannten Regularisierungsparameter, mit aufnimmt, verhindert es die Entstehung von zu großen Regressionskoeffizienten und verringert dadurch das Risiko von Overfitting. 

In dem folgenden Beitrag schauen wir uns die Ridge Regression und ihre mathematischen Grundlagen genauer an. Außerdem beleuchten wir im Detail, wie die Ergebnisse interpretiert werden können und zeigen die Unterschiede zu anderen Regularisierungsmethoden auf. Abschließend erklären wir Schritt für Schritt, anhand eines einfachen Beispiels, wie man die Ridge Regression in Python umsetzen kann. 

Was ist die Ridge Regression?

Die Ridge Regression ist eine Abwandlung der linearen Regression, die um einen zusätzlichen Regularisierungsterm erweitert wurde, sodass eine Überanpassung vermieden werden soll. Im Unterschied zur klassischen linearen Regression, die darauf trainiert wird, ein optimales Modell zu trainieren, das die Residuen zwischen Vorhersage und tatsächlichen Daten minimiert, berücksichtigt die Ridge Regression zusätzlich dazu noch die Größe der Regressionskoeffizienten und versucht, einzelne, sehr große Modellkoeffizienten zu verhindern. 

Durch das Vermeiden von sehr großen Koeffizienten, ist die Wahrscheinlichkeit geringer, dass das Modell übermäßig komplexe Beziehungen aus den Trainingsdaten erlernt und dadurch overfitted. Vielmehr trägt der Regularisierungsparameter dazu bei, dass die Regression besser generalisiert, also die zugrundeliegende Struktur in den Daten erkennt und dadurch auch bessere Ergebnisse bei neuen, ungesehenen Daten liefert. 

Wie sieht die Ridge Regression mathematisch aus?

Die Ridge Regression basiert auf der klassischen, linearen Regression, die versucht, die Parameter für eine lineare Regressionsgleichung zu erlernen. Diese Regressionsgleichung sieht beispielsweise wie folgt aus: 

\(\)\[y = \beta \cdot X + \epsilon\]

Hierbei sind: 

  • \(y\) ist die Zielvariable, die das Modell vorhersagen soll, wie zum Beispiel einen optimalen Immobilienwert oder den Durchschnittsverbrauch eines Autos. 
  • \(X\) enthält Werte aus dem Datensatz, welche die Größe der Zielvariablen erklären könnten, also zum Beispiel die Anzahl der Zimmer der Immobilie oder der Hubraum eines Autos. 
  • \(\beta\) ist der sogenannte Regressionskoeffizient, der während dem Training erlernt wird und den Zusammenhang zwischen \(X\) und \(y\) mathematisch beschreibt. Ein Koeffizient von 60.000 könnte beispielsweise bedeuten, dass der Wert einer Immobilie mit jedem weiteren Zimmer um 60.000 € steigt. 
  • \(\epsilon\) ist ein Fehlerterm, der die Abweichungen zwischen der Vorhersage des Modells und dem tatsächlichen Wert misst. Dieser kann zum Beispiel auftreten, wenn der Datensatz nicht alle relevanten Eigenschaften umfasst, die zur Vorhersage benötigt werden. Im Immobilienbeispiel könnte das Alter der Wohneinheit ein entscheidender Faktor sein, der mit über den Preis bestimmt. Wenn dieser im Datensatz nicht vorhanden ist, wird das Modell voraussichtlich den Preis nicht genau vorhersagen können. 

Das Ziel der linearen Regression besteht nun darin, die Werte von \(\beta\) so zu erlernen, dass die sogenannte Residuenquadratsumme (RSS), also die quadrierte Differenz zwischen der Vorhersage \(\widehat{y_i}\) und dem tatsächlichen Wert \(y_i\), minimal wird: 

\(\)\[RSS = \sum_{i=1}^{n}{(y_i\ -\widehat{y_i})}^2\]

Die L2 – Regularisierung fügt dieser Residuenquadratsumme nun einen weiteren Strafterm hinzu, der dafür sorgen soll, dass die einzelnen Regressionskoeffizienten nicht zu groß werden. Mathematisch gesehen sieht die Ridge Regularisierung dann wie folgt aus: 

\(\)\[\text{Kostenfunktion} = RSS + \lambda \cdot \sum_{j=1}^{p}\beta_j^2\]

Hierbei sind: 

  • RSS ist die Residuenquadratsumme, wie sie bereits aus der linearen Regression bekannt ist. 
  • \(\lambda\) ist der Regularisierungsparameter, welcher darüber bestimmt, wie stark der Einfluss der Regularisierung ist. Dessen Bedeutung schauen wir uns im nächsten Abschnitt noch genauer an. 
  • \(\sum_{j=1}^{p}\beta_j^2\) ist die Summe aller quadrierten Regressionskoeffizienten. Durch das Quadrat wird zum einen sichergestellt, dass alle Regressionskoeffizienten ein positives Vorzeichen besitzen und somit einen negativen Einfluss auf die Kostenfunktion haben und außerdem sehr große Werte deutlich stärker ins Gewicht fallen, da sie sich durch die Quadrierung nochmal stärker vergrößert werden.  

Durch diesen Aufbau hat der Regularisierungsterm insgesamt einen negativen Einfluss auf die Kostenfunktion. Wenn einzelne Koeffizienten jedoch sehr groß werden ist dieser jedoch nochmal deutlich stärker, als wenn die Parameter nicht zu stark wachsen. Deshalb hat das Modell während dem Training einen Anreiz, die Modellkoeffizienten möglichst klein zu halten, da es nur dadurch die Kostenfunktion minimieren kann. 

Was bewirkt der Regularisierungsparameter \(\lambda\)?

Der Regularisierungsparameter \(\lambda\) ist ein entscheidender Faktor bei der Ridge Regression, der die Stärke der Bestrafung steuert, welche ein Modell erhält, wenn die Regressionskoeffizienten zu stark ansteigen. Da der Parameter immer positiv sein muss, lassen sich die folgenden zwei Fälle unterscheiden: 

  1. \(\lambda = 0\): In diesem Spezialfall wird der Regularisierungsterm eliminiert und die Ridge Regression entspricht der klassischen linearen Regression. Somit verhält sich das Modell entsprechend und fokussiert sich lediglich auf die Minimierung der Residuenquadratsumme, ohne dabei die Größe der Koeffizienten zu berücksichtigen. Dadurch steigt das Risiko für Overfitting, da das Modell möglicherweise zu komplexe Beziehungen in den Trainingsdaten erlernt. 
  2. \(\lambda \rightarrow \infty\): Mit zunehmendem \(\lambda\) wird die Stärke der Bestrafung für das Modell immer größer. Dadurch fokussiert sich die Regression mehr darauf, die Größe der Koeffizienten gering zu halten, als die Abweichung zwischen Vorhersage und dem tatsächlichen Wert zu verringern. Im Grenzfall bedeutet dies, dass das Modell das Ziel lediglich dadurch erreichen kann, indem es die Koeffizienten sehr nahe bei 0 hält. Dies führt zu einem sehr einfachen Modell, das voraussichtlich nicht in der Lage ist, die Zusammenhänge in den Daten zu erkennen und somit nur schlechte Ergebnisse liefert. 

Die Wahl von \(\lambda\) ist eine kritische Entscheidung, die die Leistung der Ridge Regression maßgeblich beeinflusst. Es handelt sich dabei um einen Hyperparameter, der vor dem Training festgelegt werden muss und währenddessen nicht angepasst werden kann. Ein zu kleines \(\lambda\) kann zu einer Überanpassung führen, während ein zu großes \(\lambda\) zu einem einfacheren Modell führt, welches möglicherweise die zugrundeliegenden Strukturen nicht ausreichend erkennen kann. 

Durch die Einführung eines Fehlerterms erhält das Modell einen systematischen Fehler, also eine Verzerrung oder einen sogenannten Bias, der zu einer Glättung des Modells führt. Außerdem wird die Varianz des Modells verringert, sodass es weniger empfindlich gegenüber stark schwankenden Trainingsdaten ist, da die Koeffizienten weniger groß sind. Durch diese Eigenschaften wird die Generalisierungsfähigkeit des Modells erhöht und das Risiko für Overfitting reduziert. 

Wie kann die Ridge Regression interpretiert werden?

Die Interpretation der Ridge Regression folgt in vielen Bereichen der einer linearen Regression, jedoch mit dem Unterschied, dass die Größe der Koeffizienten deutlich von dem Regularisierungsparameter beeinflusst wird. Folgende Grundsätze der linearen Regression gelten weiterhin: 

  1. Die Größe der Koeffizienten \(\beta\) ist entscheidend, sodass größere Parameter auf einen stärkeren Zusammenhang zwischen der unabhängigen und abhängigen Variablen hinweisen. 
  2. Auch die Abstände können für einen relativen Vergleich verwendet werden, indem die Parameter ihrer absoluten Größe nach sortiert werden können, um zu entscheiden, welche unabhängige Variable den größten Einfluss auf die abhängige Variable hat. 
  3. Außerdem behalten die Vorzeichen dieselbe Bedeutung wie bei der linearen Regression. Ein negatives Vorzeichen vor einem Koeffizienten bedeutet entsprechend, dass eine Vergrößerung der unabhängigen Variablen zu einer Verringerung der abhängigen Variablen führt und vice versa. 

Neben diesen Ähnlichkeiten gilt es jedoch zu beachten, dass der Regularisierungsparameter der Ridge Regression einen entscheidenden Einfluss auf die Größe der Koeffizienten hat. Allgemein lässt sich festhalten, dass die Koeffizienten der Ridge Regression aufgrund der Regularisierung meist kleiner sind als die einer vergleichbaren linearen Regression. Dieses Verhalten wird vor allem dann verstärkt, wenn eine starke Multikollinearität zwischen den Variablen vorliegt. Durch den Aufbau des Modells zwingt der Regularisierungsparameter die Koeffizienten näher bei 0 zu liegen, ohne sie dabei komplett auf 0 zu setzen, wie es beispielsweise bei der Lasso Regression passieren kann. 

Insgesamt lässt sich jedoch festhalten, dass die Ridge Regression bessere Ergebnisse bei multikollinearen Daten liefert, indem sie den Einfluss besser und gleichmäßiger auf die Variablen verteilt und außerdem stark korrelierte Variablen bestraft. Dadurch werden die Modelle häufig leichter zu interpretieren als vergleichbare lineare Regressionen, die mit denselben Daten trainiert wurden. Zusätzlich kann man verallgemeinern, dass umso kleiner der Regularisierungsparameter \(\lambda\), umso mehr ähneln die Ergebnisse und die Interpretation der Ridge Regression auch den Ergebnissen einer vergleichbaren linearen Regression.

Was sind die Unterschiede zu anderen Regularisierungsmethoden?

Die Ridge Regression zählt zu den Regularisierungsmethoden, welche zum Ziel haben, Overfitting zu verhindern. Dabei hat sie zwar Ähnlichkeiten mit anderen Methoden, wie der L1-Regularisierung oder dem Elastic Net, unterscheidet sich jedoch auch deutlich, in den Effekten. 

Ridge Regression vs L1-Regularisierung (Lasso)

Die Ridge Regression ist eine von unterschiedlichen Regualisierungstechniken und besitzt Ähnlichkeiten mit Methoden, wie der Lasso Regression oder dem Elastic Net. Die Unterscheidung betrifft hierbei vor allem den Umgang mit dem Regressionskoeffizienten und welche Eigenschaften sich daraus für die Modelle ergeben. In diesem Abschnitt beschäftigen wir uns deshalb mit der Lasso Regression, die in ihrem Aufbau sehr ähnlich zu der Ridge Regression ist. 

Die Lasso Regression, auch L1-Regularisierung genannt, summiert im Regularisierungsterm die absolute Größe der Koeffizienten auf: 

\(\)\[\text{Kostenfunktion} = RSS + \lambda \sum_{j=1}^{p}\left|\beta_j\right|\]

Der Regularisierungsparameter \(\lambda\) hat hierbei dieselbe Funktion und bestimmt über die Stärke der Regularisierung. Durch das Summieren der absoluten Koeffizienten, im Vergleich zu den quadrierten Werten, werden alle Koeffizienten gleich stark für ihre Größe bestraft. 

Durch diesen Unterschied im Aufbau, ist die Lasso Regression in der Lage die Koeffizienten von einzelnen Variablen komplett auf null zu setzen, wodurch eine Selektion stattfindet. Die Ridge Regression hingegen reduziert lediglich die Größe aller Koeffizienten, ohne sie jedoch vollständig auf null zu setzen. Deshalb sollte die Ridge Regression vor allem dann gewählt werden, wenn alle Prädikatoren erhalten werden sollen und es ein Problem mit Multikollinearität gibt. Die Lasso Regression hingegen bietet sich an, wenn man noch eine zusätzliche Variablenselektion vornehmen will, da sie einzelne Variablen aus dem Modell entfernen kann, indem sie deren Koeffizienten auf null setzt. 

Ridge Regression vs Elastic Net

Das Elastic Net kombiniert die Eigenschaften der Lasso und Ridge Regression, indem es sowohl die L1- als auch die L2-Regularisierung mit aufnimmt. Dadurch ergibt sich die folgende Kostenfunktion: 

\(\)\[\text{Kostenfunktion} = RSS + \lambda_1 \sum_{j=1}^{p}{\left|\beta_j\right|\ } + \lambda_2 \sum_{j=1}^{p}\beta_j^2\]

Durch diesen Aufbau werden die Vorteile beider Architekturen kombiniert und das Elastic Net bietet sich besonders für hochdimensionale Daten an, bei denen sowohl eine Variablenselektion stattfinden soll, als auch mit stark korrelierten Prädikatoren umgegangen werden muss. Über die Parameter \(\lambda_1\) und \(\lambda_2\) kann außerdem die Stärke dieser beiden Vorgehensweisen individuell angepasst werden. 

Wie kann man die Ridge Regression in Python implementieren?

Mithilfe von scikit-learn kann in Python die Ridge Regression sehr einfach genutzt werden. In dieser Anleitung schauen wir uns einen Datensatz zu kalifornischen Immobilienpreisen an und versuchen ein Modell zu trainieren, welches diese Preise sehr genau vorhersagen kann. 

  • Als erstes importieren wir die notwendigen Bibliotheken. Für den Umgang mit dem Datensatz importieren wir NumPy. Außerdem benötigen wir scikit-learn um die Ridge Regression verwenden zu können und zusätzlich das Modell mithilfe des Train-Test-Splits zu trainieren und anschließend die Leistung unabhängig bewerten zu können. 
Ridge Regression
  • Den Datensatz können wir einfach aus den scikit-learn Datensätzen importieren und anschließend die Zielvariablen und den Datensatz mit den Merkmalen gesondert abspeichern. Dann teilen wir die Daten in Trainings- und Testdatensatz auf, um zum Schluss die Generalisierungsfähigkeit des Modells bewerten zu können, indem es Vorhersagen für neue Daten treffen muss. 
Ridge Regression
  • Nachdem wir die Daten aufbereitet haben, können wir nun das Modell, das wir bereits importiert haben, vorbereiten. Dazu setzen wir den Regularisierungsparameter auf 1.0 und initialisieren das Modell. Dieses kann anschließend mithilfe des Trainingsdatensatzes und der Trainingslabels optimiert werden. 
Ridge Regression
  • Das trainierte Modell nutzen wir nun, um Vorhersagen für den Testdatensatz zu berechnen. 
Ridge Regression
  • Mithilfe des Mean Squared Errors berechnen wir die Abweichung zwischen den Vorhersagen für den Testdatensatz und den tatsächlichen Labels. Dies gibt Aufschluss darüber, wie gut die Vorhersagequalität des Modells wirklich ist. 
Ridge Regression
  • Beim Regularisierungsparameter \(\lambda\) handelt es sich um einen Hyperparameter, der vor dem Training festgelegt werden muss. Deshalb bietet es sich an, das Modell mit verschiedenen Parameterwerten zu trainieren und deren Ergebnisse zu vergleichen. In unserem Beispiel sind die Ergebnisse für verschiedene Alphas identisch, sodass wir bereits den richtigen Alpha-Wert gewählt hatten. 
Ridge Regression
  • Als zusätzliche Auswertung können abschließend noch die einzelnen Koeffizienten und deren Größe mithilfe von Matplotlib visualisiert werden. Dadurch erhält man einen Einblick, welche Merkmale den größten Einfluss auf die Vorhersagen haben. 
Ridge Regression

Wie man sehen kann, lässt sich mithilfe von scikit-learn in nur wenigen Zeilen Code eine funktionsfähige Ridge Regression trainieren. Die Leistung kann je nach Bedarf mithilfe von weiteren Parametern noch zusätzlich verbessert werden.

Das solltest Du mitnehmen

  • Die Ridge Regression ist eine Regularisierungsmethode, die verwendet wird, um das Risiko für Overfitting beim Training von linearen Regressionen zu verringern.
  • Dabei wird der Kostenfunktion ein sogenannter Regularisierungsterm hinzugefügt, der das Modell bestraft, wenn die Größe der Regressionskoeffizienten zu stark ansteigt. Dieses Vorgehen soll verhindern, dass sich das Modell zu stark auf die Trainingsdaten einstellt.
  • Im Allgemeinen fallen die Koeffizienten einer Ridge Regression kleiner aus als die einer vergleichbaren linearen Regression. Abgesehen davon können die Modelle und deren Koeffizienten auf ähnliche Art und Weise verglichen werden.
  • Die Ridge Regression unterscheidet sich von der Lasso Regression darin, dass sie die Koeffizienten nicht auf null setzen kann und somit keine Variablenselektion vornimmt.
  • In Python kann die Ridge Regression mithilfe von scikit-learn importiert und einfach genutzt werden.
N-gram

Was sind N-grams?

Die Macht des NLP: Erforschen Sie n-Grams in der Textanalyse, Sprachmodellierung und verstehen Sie deren Bedeutung im NLP.

No-Free-Lunch Theorem

Was ist das No-Free-Lunch Theorem (NFLT)?

Entschlüsselung des No-Free-Lunch-Theorems: Implikationen und Anwendungen in ML und Optimierung.

Automated Data Labeling

Was ist Automated Data Labeling?

Erschließen Sie die Effizienz des maschinellen Lernens mit Automated Data Labeling. Entdecken Sie die Vorteile, Techniken und Tools.

Synthetic Data Generation / Synthetische Datengenerierung

Was ist die Synthetische Datengenerierung?

Verbessern Sie Ihr Datenmanagement mit synthetische Datengenerierung. Gewinnen Sie neue Erkenntnisse und schließen Sie Datenlücken.

Multi-Task Learning

Was ist Multi-Task Learning?

Steigern Sie die Effizienz von ML mit Multi-Task-Learning. Erforschen Sie die Auswirkungen auf verschiedene Bereiche & Anwendungen.

Federated Learning

Was ist Federated Learning?

Entdecken Sie das Federated Learning. Zusammenarbeit, Sicherheit und Innovation unter Wahrung der Privatsphäre.

Andere Beiträge zum Thema Ridge Regression

Dieser Link führt Dich zu meiner Deepnote-App, in der Du den gesamten Code findest, den ich in diesem Artikel verwendet habe, und ihn selbst ausführen kannst.

Das Logo zeigt einen weißen Hintergrund den Namen "Data Basecamp" mit blauer Schrift. Im rechten unteren Eck wird eine Bergsilhouette in Blau gezeigt.

Verpass keine neuen Beiträge!

Wir versenden keinen Spam! Lies die Details gerne in unserer Datenschutzrichtlinie nach.

Niklas Lang

Seit 2020 bin ich als Machine Learning Engineer und Softwareentwickler tätig und beschäftige mich leidenschaftlich mit der Welt der Daten, Algorithmen und Softwareentwicklung. Neben meiner Arbeit in der Praxis unterrichte ich an mehreren deutschen Hochschulen, darunter die IU International University of Applied Sciences und die Duale Hochschule Baden-Württemberg, in den Bereichen Data Science, Mathematik und Business Analytics.

Mein Ziel ist es, komplexe Themen wie Statistik und maschinelles Lernen so aufzubereiten, dass sie nicht nur verständlich, sondern auch spannend und greifbar werden. Dabei kombiniere ich praktische Erfahrungen aus der Industrie mit fundierten theoretischen Grundlagen, um meine Studierenden bestmöglich auf die Herausforderungen der Datenwelt vorzubereiten.

Cookie Consent mit Real Cookie Banner