Vergleich von linearer und logistischer Regression

Diskussion über eine Frage aus einem Data-Science-Interview für Einsteiger

Data-Science-Interviews variieren in ihrer Tiefe. Einige Interviews gehen sehr tief und testen die Kandidaten auf ihr Wissen über fortgeschrittene Modelle oder knifflige Feinabstimmungen. Viele Vorstellungsgespräche werden jedoch auf Einstiegsniveau geführt und versuchen, das Grundwissen des Kandidaten zu testen. In diesem Artikel werden wir eine Frage sehen, die in einem solchen Interview besprochen werden kann. Auch wenn die Frage sehr einfach ist, bringt die Diskussion viele interessante Aspekte der Grundlagen des maschinellen Lernens zur Sprache.

Frage: Was ist der Unterschied zwischen linearer Regression und logistischer Regression?

Es gibt tatsächlich viele Ähnlichkeiten zwischen den beiden, beginnend mit der Tatsache, dass ihre Namen sehr ähnlich klingen. Beide verwenden Linien als Modellfunktionen. Ihre Diagramme sehen auch sehr ähnlich aus.

Bild vom Autor

Aber trotz dieser Ähnlichkeiten unterscheiden sie sich sowohl in der Methode als auch in der Anwendung. Wir werden diese Unterschiede jetzt hervorheben. Zum Vergleich verwenden wir die folgenden Punkte, die im Allgemeinen bei der Diskussion eines Modells für maschinelles Lernen berücksichtigt werden:

  • Hypothese oder Modellfamilie
  • Eingangs-und Ausgangs
  • Verlustfunktion
  • Optimierungstechnik
  • Anwendung

Wir werden nun die lineare Regression (LinReg) und die logistische Regression (LogReg) an jedem dieser Punkte vergleichen. Beginnen wir mit der Bewerbung, um die Diskussion in die richtige Bahn zu lenken.

Bild von Rajashree Rajadhyax

Die lineare Regression wird zum Schätzen einer Menge basierend auf anderen Mengen verwendet. Stellen Sie sich zum Beispiel vor, Sie betreiben als Student in den Sommerferien einen Limonadenstand. Sie möchten herausfinden, wie viele Gläser Limonade morgen verkauft werden, damit Sie genügend Zitronen und Zucker kaufen können. Aus Ihrer langjährigen Erfahrung im Verkauf von Limonade haben Sie herausgefunden, dass der Verkauf in starkem Zusammenhang mit der Tageshöchsttemperatur steht. Sie möchten also die vorhergesagte Höchsttemperatur verwenden, um den Limonadenverkauf vorherzusagen. Dies ist eine klassische LinReg-Anwendung, die in der ML-Literatur allgemein als Vorhersage bezeichnet wird.

LinReg wird auch verwendet, um herauszufinden, wie sich eine bestimmte Eingabe auf die Ausgabe auswirkt. Angenommen, Sie haben im Beispiel des Limonadenstands zwei Eingaben – die maximale Temperatur und ob der Tag ein Feiertag ist. Sie möchten herausfinden, was sich stärker auf den Verkauf auswirkt – Höchsttemperatur oder Urlaub. LinReg wird hilfreich sein, um dies zu identifizieren.

LogReg wird hauptsächlich zur Klassifizierung verwendet. Klassifikation ist die Kategorisierung der Eingabe in einen der vielen möglichen Körbe. Klassifikation ist so zentral für die menschliche Intelligenz, dass es nicht falsch wäre zu sagen: „Der größte Teil der Intelligenz ist Klassifikation“. Ein gutes Beispiel für eine Klassifikation ist die klinische Diagnose. Betrachten Sie den älteren, zuverlässigen Hausarzt. Eine Dame kommt herein und klagt über unaufhörlichen Husten. Der Arzt führt verschiedene Untersuchungen durch, um zwischen vielen möglichen Zuständen zu entscheiden. Einige mögliche Erkrankungen sind relativ harmlos, wie z. B. eine Halsentzündung. Aber einige sind ernst, wie Tuberkulose oder sogar Lungenkrebs. Anhand verschiedener Faktoren entscheidet der Arzt, woran sie leidet, und leitet eine geeignete Behandlung ein. Das ist Klassifikation bei der Arbeit.

Wir müssen bedenken, dass sowohl die Schätzung als auch die Klassifizierung eher Rateaufgaben als Berechnungen sind. Bei solchen Aufgaben gibt es keine exakte oder richtige Antwort. Die Rateaufgaben sind das, was maschinelle Lernsysteme gut können.

ML-Systeme lösen Schätzprobleme, indem sie Muster erkennen. Sie erkennen ein Muster aus den gegebenen Daten und verwenden es dann, um die Aufgabe wie Schätzung oder Klassifizierung auszuführen. Ein wichtiges Muster, das in Naturphänomenen zu finden ist, ist das Beziehungsmuster. In diesem Muster steht eine Menge in Beziehung zur anderen Menge. Dieser Zusammenhang kann in den meisten Fällen durch eine mathematische Funktion angenähert werden.

Das Identifizieren einer mathematischen Funktion aus den gegebenen Daten wird als „Lernen“ oder „Training“ bezeichnet. Es gibt zwei Lernschritte:

  1. Die „Art“ der Funktion (z. B. linear, exponentiell, polynomial) wird von einem Menschen gewählt
  2. Der Lernalgorithmus lernt die Parameter (wie Steigung und Achsenabschnitt) aus den gegebenen Daten.

Wenn wir also sagen, dass ML-Systeme aus Daten lernen, ist das nur teilweise richtig. Der erste Schritt zur Auswahl der Funktionsart erfolgt manuell und ist Teil des Modellentwurfs. Der Funktionstyp wird auch als „Hypothese“ oder „Modellfamilie“ bezeichnet.

Sowohl in LinReg als auch in LogReg ist die Modellfamilie die lineare Funktion. Wie Sie wissen, hat eine Linie zwei Parameter – Steigung und Schnittpunkt. Dies gilt jedoch nur, wenn die Funktion nur eine Eingabe benötigt. Für die meisten realen Probleme gibt es mehr als eine Eingabe. Die Modellfunktion für diese Fälle wird als lineare Funktion bezeichnet, nicht als Linie. Eine lineare Funktion muss mehr Parameter lernen. Wenn das Modell n Eingaben enthält, hat die lineare Funktion n+1 Parameter. Wie erwähnt, werden diese Parameter aus den gegebenen Daten gelernt. Für die Zwecke dieses Artikels gehen wir weiterhin davon aus, dass die Funktion die einfache Linie mit zwei Parametern ist. Die Modellfunktion für LogReg ist etwas komplexer. Die Linie ist da, aber sie ist mit einer anderen Funktion kombiniert. Wir werden dies gleich sehen.

Wie oben erwähnt, lernen sowohl LinReg als auch LogReg die Parameter der linearen Funktion aus den gegebenen Daten, den so genannten Trainingsdaten. Was beinhalten die Trainingsdaten?

Trainingsdaten werden vorbereitet, indem einige reale Weltphänomene (RWP) aufgezeichnet werden. Beispielsweise ist das Verhältnis zwischen der maximalen Tagestemperatur und dem Verkauf von Limonade ein RWP. Wir haben keine Sichtbarkeit der zugrunde liegenden Beziehung. Alles, was wir sehen können, sind die Werte der Temperatur und des täglichen Verkaufs. Bei der Aufzeichnung der Beobachtungen bezeichnen wir einige Mengen als Inputs des RWP und andere als Output. Im Limonadenbeispiel nennen wir die maximale Temperatur als Input und den Verkauf von Limonade als Output.

Bild vom Autor

Unsere Trainingsdaten enthalten Paare von Eingaben und Ausgaben. In diesem Beispiel enthalten die Daten Zeilen mit Tageshöchsttemperaturen und verkauften Gläsern Limonade. Dies wird die Ein- und Ausgabe für LinReg sein.

Die Aufgabe, die LogReg ausführt, ist die Klassifizierung, daher sollte seine Ausgabe eine Klasse sein. Stellen wir uns vor, dass es zwei Klassen namens 0 und 1 gibt. Die Ausgabe des Modells sollte dann ebenfalls entweder 0 oder 1 sein.

Diese Methode zur Angabe der Ausgabe ist jedoch nicht sehr geeignet. Siehe folgendes Diagramm:

Bild vom Autor

Die gelben Punkte gehören zu Klasse 1 und die hellblauen zu 0. Die Linie ist unsere Modellfunktion, die die beiden Klassen trennt. Gemäß diesem Trennzeichen gehören die beiden gelben Punkte (a und b) zur Klasse 1 . Allerdings ist die Zugehörigkeit von Punkt b viel sicherer als die von Punkt a. Wenn das Modell einfach 0 und 1 ausgibt, dann geht diese Tatsache verloren.

Um diese Situation zu korrigieren, erzeugt das LogReg-Modell die Wahrscheinlichkeit, dass jeder Punkt zu einer bestimmten Klasse gehört. Im obigen Beispiel ist die Wahrscheinlichkeit, dass Punkt 'a' zur Klasse 1 gehört, gering, während die von Punkt 'b' hoch ist. Da die Wahrscheinlichkeit eine Zahl zwischen 0 und 1 ist, gilt dies auch für die Ausgabe von LogReg.

Sehen Sie sich nun das folgende Diagramm an:

Bild vom Autor

Dieses Diagramm ist das gleiche wie das vorherige, mit Punkt c hinzugefügt. Auch dieser Punkt gehört zur Klasse 1 und ist tatsächlich sicherer als Punkt b. Es wäre jedoch falsch, die Wahrscheinlichkeit eines Punktes proportional zu seinem Abstand von der Linie zu erhöhen. Sobald Sie sich eine bestimmte Entfernung von der Linie entfernen, sind wir uns intuitiv mehr oder weniger sicher über die Zugehörigkeit dieser Punkte. Wir brauchen die Wahrscheinlichkeit nicht weiter zu erhöhen. Dies entspricht der Natur von Wahrscheinlichkeiten, deren Maximalwert 1 sein kann.

Damit das LogReg-Modell eine solche Ausgabe erzeugen kann, muss die Linienfunktion mit einer anderen Funktion verbunden werden. Diese zweite Funktion wird Sigmoid genannt und hat die Gleichung:

Somit sieht das LogReg-Modell wie folgt aus:

Bild vom Autor

Die Sigmoidfunktion wird auch „Logistik“ genannt und ist der Grund für den Namen „Logistische Regression“.

Wenn es mehr als zwei Klassen gibt, ist die Ausgabe von LogReg ein Vektor. Die Elemente des Ausgabevektors sind Wahrscheinlichkeiten dafür, dass die Eingabe dieser bestimmten Klasse angehört. Wenn beispielsweise das erste Element des klinischen Diagnosemodells den Wert 0.8 hat, bedeutet dies, dass das Modell mit einer Wahrscheinlichkeit von 80 % davon ausgeht, dass der Patient an einer Erkältung leidet.

Wir haben gesehen, dass sowohl LinReg als auch LogReg die Parameter der linearen Funktion aus den Trainingsdaten lernen. Wie lernen sie diese Parameter?

Sie verwenden eine Methode namens "Optimierung". Optimierung funktioniert, indem viele mögliche Lösungen für das gegebene Problem generiert werden. In unserem Fall sind die möglichen Lösungen die Sätze von (Steigung, Achsenabschnitt) Werten. Wir bewerten jede dieser Lösungen anhand eines Leistungsmaßes. Die Lösung, die sich bei dieser Maßnahme als die beste herausstellt, wird schließlich ausgewählt.

Beim Lernen von ML-Modellen wird das Leistungsmaß manchmal als „Verlust“ bezeichnet, und die Funktion, die uns bei seiner Berechnung hilft, wird als „Verlustfunktion“ bezeichnet. Wir können dies darstellen als:

Verlust = Verlust_Funktion (Parameter_werden_ausgewertet)

Die Begriffe „Verlust“ und „Verlustfunktion“ haben eine negative Konnotation, was bedeutet, dass ein niedrigerer Verlustwert eine bessere Lösung anzeigt. Mit anderen Worten, Lernen ist eine Optimierung, die darauf abzielt, Parameter zu finden, die minimale Verluste erzeugen.

Wir werden nun die gemeinsamen Verlustfunktionen sehen, die zur Optimierung von LinReg und LogReg verwendet werden. Beachten Sie, dass in der Praxis viele verschiedene Verlustfunktionen verwendet werden, daher können wir die gebräuchlichsten diskutieren.

Zur Optimierung von LinReg-Parametern wird die gebräuchlichste Verlustfunktion als Sum of Squares Error (SSE) bezeichnet. Diese Funktion benötigt die folgenden Eingaben:

1) Alle Trainingsdatenpunkte. Für jeden Punkt geben wir an:

a) die Eingaben, wie die maximale Datentemperatur,

b) die Outputs, wie die Anzahl der verkauften Limonadengläser

2) Die lineare Gleichung mit Parametern

Die Funktion berechnet dann den Verlust anhand der folgenden Formel:

SSE-Verlust = Sum_for_all_points(
Quadrat_von(
output_of_linear_equation_for_the_inputs — tatsächliche_Ausgabe_von_dem_Datenpunkt
))

Ganz anders ist die Optimierungsmaßnahme für LogReg definiert. In der SSE-Funktion stellen wir die folgende Frage:

Wenn wir diese Linie zum Anpassen der Trainingsdaten verwenden, wie viel Fehler wird sie machen?

Bei der Gestaltung der Maßnahme zur LogReg-Optimierung fragen wir:

Wenn diese Zeile das Trennzeichen ist, wie wahrscheinlich ist es, dass wir die Verteilung der Klassen erhalten, die in den Trainingsdaten zu sehen ist?

Die Ausgabe dieses Maßes ist somit eine Wahrscheinlichkeit. Die mathematische Form der Maßfunktion verwendet Logarithmen, daher der Name Log Likelihood (LL). Bei der Erörterung der Ausgaben haben wir gesehen, dass die LogReg-Funktion Exponentialterme enthält (die Terme mit e werden auf z angehoben). Die Logarithmen helfen dabei, diese Exponentiale effektiv zu handhaben.

Es sollte Ihnen intuitiv klar sein, dass die Optimierung LL maximieren sollte. Stellen Sie sich Folgendes vor: Wir möchten die Linie finden, die die Trainingsdaten am wahrscheinlichsten macht. In der Praxis bevorzugen wir jedoch ein Maß, das minimiert werden kann, also nehmen wir einfach das Negative des LL. Wir erhalten somit die Verlustfunktion der Negative Log Likelihood (NLL), obwohl es meiner Meinung nach nicht sehr korrekt ist, sie als Verlustfunktion zu bezeichnen.

Wir haben also die beiden Verlustfunktionen: SSE für LinReg und NLL für LogReg. Beachten Sie, dass diese Verlustfunktionen viele Namen haben und Sie sich mit den Begriffen vertraut machen sollten.

Obwohl die lineare Regression und die logistische Regression sehr ähnlich aussehen und klingen, sind sie in Wirklichkeit ziemlich unterschiedlich. LinReg wird zur Schätzung/Vorhersage und LogReg zur Klassifizierung verwendet. Beide verwenden zwar die lineare Funktion als Grundlage, aber LogReg fügt zusätzlich die logistische Funktion hinzu. Sie unterscheiden sich in der Art und Weise, wie sie ihre Trainingsdaten konsumieren und ihre Modellausgaben erzeugen. Die beiden verwenden auch eine sehr unterschiedliche Verlustfunktion.

Weitere Details können sondiert werden. Warum SSE? Wie wird die Wahrscheinlichkeit berechnet? Wir sind hier nicht auf die Optimierungsmethode eingegangen, um mehr Mathematik zu vermeiden. Sie müssen jedoch bedenken, dass die Optimierung von LogReg normalerweise die iterative Gradientenabstiegsmethode erfordert, während LinReg normalerweise mit einer schnellen geschlossenen Formlösung auskommt. Wir können diese und weitere Punkte in einem anderen Artikel besprechen.

Vergleich von linearer und logistischer Regression Neu veröffentlicht von Quelle https://towardsdatascience.com/comparing-linear-and-logistic-regression-11a3e1812212?source=rss—-7f60cf5620c9—4 über https://towardsdatascience.com/feed

<!–

->

Zeitstempel:

Mehr von Blockchain-Berater