In diesem Leitfaden erklären wir die lineare Regression, wie sie funktioniert, und führen Sie Schritt für Schritt durch den Prozess. Wir behandeln auch Feature-Skalierung und Gradientenabstieg, Schlüsseltechniken zur Verbesserung der Genauigkeit Ihres Modells. Egal, ob Sie Geschäftstrends analysieren oder in die Datenwissenschaft eintauchen, dieser Leitfaden ist ein guter Ausgangspunkt.
Inhaltsverzeichnis
- Einführung
- Überwachtes Lernen verstehen
- Was ist lineare Regression?
- Einfache lineare Regression
- Multiple lineare Regression
- Kostenfunktion
- Funktionsskalierung
- Gefälleabstieg
- Gradientenabstieg für einfache lineare Regression
- Gradientenabstieg für multiple lineare Regression
Einführung
Die lineare Regression ist ein einfaches, aber leistungsstarkes Tool, mit dem Beziehungen zwischen verschiedenen Faktoren verstanden und Vorhersagen getroffen werden können. Beispielsweise möchten Sie vielleicht wissen, wie sich Ihre Lernstunden auf Ihre Testergebnisse auswirken, wie viel ein Haus aufgrund seiner Größe und Lage verkauft werden könnte oder wie der Umsatz durch mehr Werbung steigen könnte. Die lineare Regression ermöglicht es uns, Datenpunkte zu untersuchen – etwa untersuchte Stunden oder Werbeausgaben – und eine gerade Linie zu ziehen, die ein Ergebnis am besten vorhersagt, etwa Testergebnisse oder Verkaufszahlen. Diese Technik ist in vielen Bereichen wertvoll und hilft uns, fundierte Entscheidungen auf der Grundlage von Daten zu treffen.
Überwachtes Lernen verstehen
Bevor Sie sich mit der linearen Regression befassen, ist es wichtig, das überwachte Lernen zu verstehen, einen Ansatz des maschinellen Lernens, der gekennzeichnete Daten zum Trainieren von Modellen verwendet. Beim überwachten Lernen stellen wir dem Modell Trainingsbeispiele zur Verfügung, die Funktionen (Eingabevariablen) und ihre entsprechenden Bezeichnungen (richtige Ausgaben) enthalten.
Es gibt zwei Haupttypen von überwachten Lernaufgaben:
-
Regression: Dies sagt einen kontinuierlichen Wert aus einem unendlichen Bereich möglicher Ausgaben voraus. Zum Beispiel die Vorhersage von Immobilienpreisen anhand verschiedener Merkmale.
-
Klassifizierung: Dies unterscheidet sich von der Regression durch die Vorhersage einer Klasse oder Kategorie aus einer begrenzten Menge möglicher Kategorien. Zum Beispiel feststellen, ob es sich bei einer E-Mail um Spam handelt oder nicht.
Was ist lineare Regression?
Lineare Regression ist eine überwachte Lernmethode, die in der Statistik und beim maschinellen Lernen verwendet wird, um die Beziehung zwischen zwei Arten von Variablen zu verstehen: unabhängige Variablen (die Faktoren, von denen wir glauben, dass sie ein Ergebnis beeinflussen) und eine abhängige Variable (das Ergebnis, das wir vorhersagen möchten).
Das Ziel besteht darin, mithilfe einer linearen Gleichung die am besten passende Linie zu finden, die diese Beziehung darstellt. Durch die Analyse von gekennzeichneten Daten (Daten mit bekannten Ergebnissen) hilft uns die lineare Regression zu verstehen, wie sich Änderungen der unabhängigen Variablen auf die abhängige Variable auswirken.
Terminologie
Einfache lineare Regression
Einfache lineare Regression untersucht die Beziehung zwischen einer abhängigen Variablen und einer unabhängigen Variablen. Ziel ist es, die Beziehung zu modellieren, indem eine gerade Linie an die Datenpunkte angepasst wird, was mit der Gleichung ausgedrückt werden kann:
In dieser Gleichung:
-
y_hat(oder f_wb(x)) :Die abhängige Variable, die das vorhergesagte Ergebnis darstellt. Dies ist der Wert, den wir basierend auf der Eingabe der unabhängigen Variablen schätzen möchten.
-
b : Dies ist der Schnittpunkt der Regressionsgeraden. Es gibt den erwarteten Wert der abhängigen Variablen y an, wenn die unabhängige Variable x Null ist. Durch den Achsenabschnitt kann die Regressionslinie vertikal angepasst werden, um besser zu den Daten zu passen.
-
w : Der Koeffizient der unabhängigen Variablen x. Dieser Koeffizient gibt an, um wie viel sich die abhängige Variable y_hat bei einer Änderung von x um eine Einheit ändert. Ein positives w deutet darauf hin, dass mit zunehmendem x auch y_hat zunimmt, während ein negatives w auf eine umgekehrte Beziehung hinweist.
-
x : Die unabhängige Variable, die im Modell als Prädiktor dient. Diese Variable ist die Eingabe, die zur Schätzung des durch y_hat.
dargestellten Ergebnisses verwendet wird
Multiple lineare Regression
Die multiple lineare Regression erweitert das Konzept der einfachen linearen Regression, indem sie die Beziehung zwischen einer abhängigen Variablen und zwei oder mehr unabhängigen Variablen untersucht. Dieser Ansatz ermöglicht es uns, komplexere Zusammenhänge zu modellieren und zu verstehen, wie mehrere Faktoren das Ergebnis beeinflussen.
Wo:
-
n : Gesamtzahl der Features (unabhängige Variablen)
Kostenfunktion
Die Kostenfunktion, auch Verlustfunktion genannt, quantifiziert die Differenz zwischen den erwarteten (wahren) Werten und den vom Modell generierten vorhergesagten Werten. Es misst, wie gut das Modell bei einem bestimmten Datensatz abschneidet. Bei der einfachen linearen Regression ist die am häufigsten verwendete Kostenfunktion der mittlere quadratische Fehler.
Wo:
-
m ist die Anzahl der Trainingsbeispiele
-
y_hat ist der vorhergesagte Wert
-
y ist der tatsächliche oder erwartete Wert
Funktionsskalierung
Feature-Skalierung ist ein entscheidender Schritt bei der Vorverarbeitung von Daten, insbesondere bei der Arbeit mit Algorithmen, die auf Distanzberechnungen oder Gradientenabstiegsoptimierung basieren, wie z. B. lineare Regression, logistische Regression und Support-Vektor-Maschinen. Der Zweck der Merkmalsskalierung besteht darin, den Bereich unabhängiger Variablen oder Merkmale in den Daten zu standardisieren, um sicherzustellen, dass sie gleichermaßen zum Lernprozess des Modells beitragen.
Gemeinsame Techniken zur Feature-Skalierung
Mittelwertnormalisierung
Bei der Mittelwertnormalisierung werden die Werte von Merkmalen so angepasst, dass sie einen Mittelwert von Null haben.
Eigenschaften
- Der Datenbereich liegt bei ungefähr [−1,1] oder nahe daran.
- Reagiert empfindlich auf Ausreißer, die den Mittelwert verzerren und die Normalisierung beeinträchtigen können.
Anwendungsfälle
-
Lineare Regression: Hilft bei der Verbesserung der Konvergenz während des Trainings.
-
Gradientenbasierte Algorithmen: Neuronale Netze und andere gradientenbasierte Algorithmen konvergieren oft schneller, wenn die Daten um Null herum zentriert sind.
-
Datensätze ohne signifikante Ausreißer: Besonders effektiv für Datensätze mit ähnlichen Bereichen und ohne extreme Ausreißer.
Min-Max-Skalierung
Min-Max-Skalierung ist eine Technik, mit der Features auf einen festen Bereich neu skaliert werden, typischerweise [0,1] oder [−1,1].
Eigenschaften
-
Fester Bereich: Skaliert Daten auf einen bestimmten Bereich, normalerweise [0,1].
-
Empfindlichkeit gegenüber Ausreißern: Sie kann erheblich durch Ausreißer beeinflusst werden, die die Skalierung der anderen Werte verzerren können.
Anwendungsfälle
-
Bildverarbeitung: Wird häufig in Deep-Learning-Modellen wie Convolutional Neural Networks (CNNs) verwendet, bei denen Pixelwerte auf [0,1] skaliert werden.
-
Distanzbasierte Algorithmen: Unverzichtbar für Algorithmen, die auf Distanzberechnungen basieren, wie z. B. k-Nearest Neighbors (KNN), k-Means-Clustering und Support Vector Machines (SVM), um den gleichen Beitrag aller Features sicherzustellen .
-
Baumbasierte Modelle: Obwohl es für baumbasierte Modelle (wie Entscheidungsbäume und Zufallswälder) im Vergleich zu anderen Algorithmen weniger wichtig ist, kann es dennoch in Szenarien hilfreich sein, in denen Features stark unterschiedliche Maßstäbe haben.
Z-Score-Standardisierung
Z-Score-Standardisierung, auch Standardskalierung genannt, transformiert Features so, dass sie einen Mittelwert von Null und eine Standardabweichung von Eins haben. Diese Technik ist besonders nützlich für Algorithmen, die normalverteilte Daten annehmen.
Wo:
-
Sigma ist die Standardabweichung des Merkmals.
Eigenschaften
-
Mittelwert zentriert: Zentriert die Daten bei Null.
-
Einheitsvarianz: Stellt eine Standardabweichung von eins sicher.
-
Robustheit gegenüber Ausreißern: Robuster im Vergleich zur Min-Max-Skalierung, aber immer noch empfindlich gegenüber extremen Ausreißern.
Anwendungsfälle
-
Neuronale Netze: Verbessert die Leistung und beschleunigt die Konvergenz während des Trainings.
-
Hauptkomponentenanalyse (PCA) und Lineare Diskriminanzanalyse (LDA): Für diese Techniken erforderlich, um sicherzustellen, dass alle Funktionen gleichermaßen beitragen.
-
Gaussian Naive Bayes: Verbessert die Klassifizierungsleistung durch Normalisierung von Eingabemerkmalen.
Robuste Skalierung
Robuste Skalierung ist eine Technik zur Skalierung von Merkmalen basierend auf dem Median und dem Interquartilbereich (IQR). Diese Methode ist besonders nützlich für Datensätze mit signifikanten Ausreißern, da sie den Einfluss dieser Ausreißer auf die skalierten Werte verringert.
Wo:
-
IQR(x) ist der Interquartilbereich des Merkmals, definiert als die Differenz zwischen dem 75. und 25. Perzentil des Trainingssatzes
Eigenschaften
-
Medianzentriert: Zentriert die Daten um den Median statt um den Mittelwert, wodurch sie widerstandsfähiger gegen Ausreißer werden.
-
Interquartilbereich (IQR): Skaliert die Daten mithilfe des IQR, der die Differenz zwischen dem 75. Perzentil (Q3) und dem 25. Perzentil (Q1) der Trainingsdaten darstellt. Dies trägt dazu bei, die Robustheit der Verteilung zu bewahren.
Anwendungsfälle
-
Daten mit Ausreißern: Effektiv in Szenarien, in denen Ausreißer vorhanden sind.
-
Finanzen: Nützlich in Finanzdatensätzen, die Extremwerte enthalten können.
-
Umweltdaten: Gilt gut für Umweltdatensätze, bei denen die Messungen stark variieren können.
Gefälleabstieg
Gradient Descent ist ein leistungsstarker Optimierungsalgorithmus, der zum Trainieren von Modellen für maschinelles Lernen, einschließlich linearer Regression, verwendet wird. Sein Hauptziel besteht darin, den Fehler zwischen erwarteten und vorhergesagten Werten zu minimieren.
Anfangs kann die Steigung der Kostenfunktion an einem (willkürlichen) Startpunkt steil sein. Während der Algorithmus Parameter iteriert und aktualisiert, nimmt die Steigung allmählich ab und führt das Modell zum niedrigsten Punkt der Kostenfunktion, der als Konvergenzpunkt oder lokale Minima bekannt ist. An diesem Konvergenzpunkt erreicht die Kostenfunktion ihren Minimalwert, was darauf hinweist, dass die Modellvorhersagen so nah wie möglich an den tatsächlichen Werten liegen. Sobald die Parameter diesen Punkt erreichen, führen weitere Aktualisierungen zu minimalen Änderungen an den Vorhersagen, was zeigt, dass der Optimierungsprozess effektiv die am besten passenden Parameter für die Daten identifiziert hat.
Der Prozess umfasst die folgenden wichtigen Schritte:
-
Initialisierung: Beginnen Sie mit zufälligen Werten für die Modellparameter (z. B. dem Achsenabschnitt b und den Koeffizienten w).
-
Berechnen Sie den Gradienten: Berechnen Sie den Gradienten der Kostenfunktion in Bezug auf die Modellparameter. Dieser Gradient stellt die Richtung und Änderungsrate der Kostenfunktion dar.
-
Parameter aktualisieren: Passen Sie die Modellparameter in die entgegengesetzte Richtung des Gradienten an, um den Fehler zu reduzieren. Die Aktualisierungsregel ist gegeben durch:
-
Iterieren: Wiederholen Sie den Vorgang, bis die Änderungen in der Kostenfunktion minimal sind oder eine bestimmte Anzahl von Iterationen erreicht ist.
TIPPS: Zeichnen Sie die Iterationen (x-Achse) im Vergleich zu den Kosten (y-Achse) auf. Wenn das Diagramm einen gleichmäßigen Abwärtstrend zeigt, ist Ihre Implementierung wahrscheinlich korrekt.
Arten des Gradientenabstiegs
Batch-Gradientenabstieg
-
Vorteile: Bietet eine stabile und genaue Schätzung des Gradienten, da der gesamte Datensatz verwendet wird. Für konvexe Funktionen kann es direkt zum globalen Minimum konvergieren.
-
Nachteile: Kann bei großen Datensätzen sehr langsam sein, da alle Stichproben in jeder Iteration verarbeitet werden.
-
Anwendungsfälle: Wird häufig in Szenarien verwendet, in denen der Datensatz klein genug ist, um in den Speicher zu passen, wie z. B. lineare Regression oder logistische Regression für Tabellendaten.
Stochastischer Gradientenabstieg (SGD)
-
Vorteile: Schnellere Aktualisierungen, da jeweils eine Probe verarbeitet wird, was zu einer schnelleren Konvergenz führen kann. Aufgrund seines inhärenten Rauschens kann es dabei helfen, lokale Minima zu umgehen.
-
Nachteile: Die Konvergenz ist unregelmäßiger und kann um das Minimum schwanken, wodurch sie weniger stabil wird.
-
Anwendungsfälle: Wird häufig in Online-Lernszenarien, Echtzeitvorhersagen oder beim Umgang mit großen Datensätzen angewendet, die nicht vollständig verarbeitet werden können, wie zum Beispiel beim Training neuronaler Netze anhand von Bilddaten.
Mini-Batch-Gradientenabstieg (MBD)
-
Vorteile: Kombiniert die Vorteile von Batch- und stochastischem Gradientenabstieg. Dies führt zu einer schnelleren Konvergenz als der Batch-Gradientenabstieg und einer stabileren Konvergenz als SGD. Es kann auch die Vektorisierung für effiziente Berechnungen nutzen.
-
Nachteile: Die Wahl der Größe des Mini-Batches kann eine Herausforderung sein und die Konvergenzgeschwindigkeit und -stabilität beeinträchtigen.
-
Anwendungsfälle: Wird häufig in Deep-Learning-Anwendungen verwendet, insbesondere beim Training mit großen Datensätzen, wie z. B. Bildklassifizierungsaufgaben in Faltungs-Neuronalen Netzen (CNNs) oder Modellen zur Verarbeitung natürlicher Sprache.
Gradientenabstieg für einfache lineare Regression
Gradientenabstiegsschritte für einfache lineare Regression
-
Initialisierung
Beginnen Sie mit Anfangswerten für die Modellparameter. Diese Werte können zufällig gewählt oder auf Null gesetzt werden.
-
Berechnen Sie den Gradienten
Berechnen Sie den Gradienten der Kostenfunktion in Bezug auf die Modellparameter. Dieser Gradient stellt die Richtung und Änderungsrate der Kostenfunktion dar.
-
Parameter aktualisieren
Passen Sie die Modellparameter in die entgegengesetzte Richtung des Gradienten an, um den Fehler zu reduzieren. Die Aktualisierungsregel ist gegeben durch:
wobei:
-
J(w, b) ist die Kostenfunktion, die der oben verwendete mittlere quadratische Fehler (MSE) ist.
-
Alpha ist die Lernrate, eine kleine positive Zahl zwischen 0 und 1. Sie steuert die Größe des Schritts, den der Gradientenabstieg bergab macht, um den Konvergenzpunkt oder ein lokales Minimum zu erreichen.
TIPPS: Beginnen Sie mit einer kleinen Lernrate (z. B. 0,01) und steigern Sie diese schrittweise. Wenn die Kosten sanft sinken, ist es ein guter Preis. Wenn es schwankt oder divergiert, reduzieren Sie die Lernrate. Eine zu große Lernrate kann dazu führen, dass der Gradientenabstieg überschießt, nie das Minimum erreicht und nicht konvergiert.
-
Iterieren: Wiederholen Sie den Vorgang, bis die Änderungen in der Kostenfunktion minimal sind oder eine bestimmte Anzahl von Iterationen erreicht ist.
Python-Implementierung des Gradientenabstiegs für einfache lineare Regression
Python-Implementierung des Gradientenabstiegs für einfache lineare Regression
Gradientenabstieg für multiple lineare Regression
Gradientenabstiegsschritte für die multiple lineare Regression
-
Initialisierung
Beginnen Sie mit Zufallswerten für jeden Parameter, einschließlich des Achsenabschnitts b und der Gewichte w für jedes Merkmal.
-
Berechnen Sie die Farbverläufe
Berechnen Sie den Gradienten der Kostenfunktion in Bezug auf die Modellparameter.
Vektorform
Wo:
-
x_subscript_j_superscript_i ist das j_te Feature des i_ten Trainingsbeispiels
-
x_superscript_T ist die Transponierte des Vektors x
-
Parameter aktualisieren
Passen Sie die Modellparameter in die entgegengesetzte Richtung des Gradienten an, um den Fehler zu reduzieren. Die Aktualisierungsregel ist gegeben durch:
-
Iterieren
Wiederholen Sie den Vorgang, bis die Änderungen in der Kostenfunktion minimal sind oder eine bestimmte Anzahl von Iterationen erreicht ist.
Python-Implementierung des Gradientenabstiegs für einfache lineare Regression
Python-Implementierung des Gradientenabstiegs für einfache lineare Regression
Abschluss
Herzlichen Glückwunsch!! ? In diesem Beitrag haben wir die Grundlagen der linearen Regression und der multiplen linearen Regression untersucht, den Prozess der Implementierung des Gradientenabstiegs durchlaufen und Schlüsseltechniken wie die Feature-Skalierung zur Optimierung der Modellleistung besprochen. Wenn Sie wissen, wie Sie Modellparameter initialisieren, Gradienten berechnen und Gewichtungen iterativ aktualisieren, sind Sie nun bestens gerüstet, um lineare Regressionsalgorithmen zu implementieren und ihre Leistung in realen Datensätzen zu steigern.
Ganz gleich, ob Sie mit einfacher linearer Regression arbeiten oder sich durch die Komplexität mehrerer Features navigieren, die Beherrschung des Gradientenabstiegs und das Verständnis seiner Kernprinzipien wird Ihre Fähigkeit, genaue und effiziente Modelle für maschinelles Lernen zu entwickeln, erheblich verbessern. Experimentieren Sie weiter, verfeinern Sie Ihre Fähigkeiten und nehmen Sie den Lernprozess an – das ist genauso wichtig wie die Ergebnisse selbst!
Bleiben Sie dran für weitere Einblicke in maschinelle Lerntechniken und Webentwicklungsthemen. Viel Spaß beim Lernen, während Sie weiterhin intelligentere Modelle erforschen und bauen! ??
Vernetzen wir uns auf LinkedIn ?
„Dieser Artikel wurde ursprünglich auf Medium veröffentlicht, wo ich weitere Einblicke in Datenanalyse, maschinelles Lernen und Programmierung teile. Schauen Sie sich ihn gerne an und folgen Sie mir dort für weitere Inhalte!“
Bitte liken, teilen und folgen?.
Stellen Sie Ihre Fragen gerne im Kommentarbereich – ich werde umgehend und ausführlich auf Ihre Anfragen antworten. Ihre Zweifel sind uns herzlich willkommen und wir erhalten schnelle und umfassende Antworten. ❤️
Das obige ist der detaillierte Inhalt vonLineare Regression: Von der Theorie zur Praxis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!