Einige Materialien, die ich beim maschinellen Lernen gesehen habe, sagten, es sei eine schlechte Idee, ein Klassifizierungsproblem durch Regression anzugehen. Aber ich denke, es ist immer möglich, eine kontinuierliche Regression durchzuführen, um die Daten anzupassen und die kontinuierliche Vorhersage abzuschneiden, um diskrete Klassifizierungen zu erhalten. Warum ist es eine schlechte Idee?
51
Antworten:
"..Ansatz Klassifizierungsproblem durch Regression .." durch "Regression" Ich gehe davon aus, dass Sie lineare Regression meinen, und ich werde diesen Ansatz mit dem "Klassifizierungs" -Ansatz der Anpassung eines logistischen Regressionsmodells vergleichen.
Bevor wir dies tun, ist es wichtig, die Unterscheidung zwischen Regressions- und Klassifizierungsmodellen zu klären. Regressionsmodelle sagen eine kontinuierliche Variable voraus, z. B. die Niederschlagsmenge oder die Sonnenlichtintensität. Sie können auch Wahrscheinlichkeiten vorhersagen, z. B. die Wahrscheinlichkeit, dass ein Bild eine Katze enthält. Ein Wahrscheinlichkeitsvorhersage-Regressionsmodell kann als Teil eines Klassifikators verwendet werden, indem eine Entscheidungsregel auferlegt wird. Wenn beispielsweise die Wahrscheinlichkeit 50% oder mehr beträgt, entscheiden Sie, dass es sich um eine Katze handelt.
Die logistische Regression sagt Wahrscheinlichkeiten voraus und ist daher ein Regressionsalgorithmus. In der Literatur zum maschinellen Lernen wird es jedoch häufig als Klassifizierungsmethode beschrieben, da es zur Erstellung von Klassifizierern verwendet werden kann (und häufig verwendet wird). Es gibt auch "echte" Klassifizierungsalgorithmen wie SVM, die nur ein Ergebnis vorhersagen und keine Wahrscheinlichkeit liefern. Wir werden diese Art von Algorithmus hier nicht diskutieren.
Lineare vs. logistische Regression bei Klassifizierungsproblemen
Wie Andrew Ng es erklärt , passen Sie mit linearer Regression ein Polynom durch die Daten an - sagen wir, wie im folgenden Beispiel, passen wir eine gerade Linie durch den Stichprobensatz {Tumorgröße, Tumortyp} :
Oben erhalten bösartige Tumoren und nicht bösartige , und die grüne Linie ist unsere Hypothese . Um Vorhersagen zu treffen, können wir sagen, dass wir für jede gegebene Tumorgröße , wenn größer als , einen bösartigen Tumor vorhersagen, andernfalls sagen wir einen gutartigen Tumor voraus.1 0 h ( x ) X h ( x ) 0,5
Sieht so aus, als könnten wir jede einzelne Trainingsset-Stichprobe richtig vorhersagen, aber jetzt wollen wir die Aufgabe ein wenig ändern.
Intuitiv ist klar, dass alle Tumoren, die eine bestimmte Schwelle überschreiten, bösartig sind. Fügen wir also eine weitere Probe mit einer großen Tumorgröße hinzu und führen Sie erneut eine lineare Regression durch:
Jetzt funktioniert unser nicht mehr. Um weiterhin korrekte Vorhersagen treffen zu können, müssen wir sie auf oder so ändern - aber so sollte der Algorithmus nicht funktionieren.h ( x ) > 0,5 → m a l i gn a n t h ( x ) > 0,2
Wir können die Hypothese nicht bei jedem Eintreffen einer neuen Stichprobe ändern. Stattdessen sollten wir es aus den Trainingssatzdaten lernen und dann (unter Verwendung der Hypothese, die wir gelernt haben) korrekte Vorhersagen für die Daten treffen, die wir vorher nicht gesehen haben.
Hoffe, dies erklärt, warum die lineare Regression nicht die beste Lösung für Klassifizierungsprobleme ist! Vielleicht möchten Sie auch VI ansehen . Logistische Regression. Klassifizierungsvideo auf ml-class.org, das die Idee ausführlicher erklärt.
BEARBEITEN
Wahrscheinlichkeitslogik fragte, was ein guter Klassifikator tun würde. In diesem speziellen Beispiel würden Sie wahrscheinlich eine logistische Regression verwenden, die eine Hypothese wie diese lernen könnte (ich denke mir das nur aus):
Beachten Sie, dass sowohl die lineare Regression als auch die logistische Regression eine gerade Linie (oder ein Polynom höherer Ordnung) ergeben, diese Linien jedoch eine unterschiedliche Bedeutung haben:
Die Quintessenz ist also, dass wir im Klassifizierungsszenario eine völlig andere Argumentation und einen völlig anderen Algorithmus verwenden als im Regressionsszenario.
quelle
Ich kann mir kein Beispiel vorstellen, in dem die Klassifizierung tatsächlich das ultimative Ziel ist. Das eigentliche Ziel besteht fast immer darin, genaue Vorhersagen zu treffen, z. B. über Wahrscheinlichkeiten. In diesem Sinne ist (logistische) Regression Ihr Freund.
quelle
Warum nicht ein paar Beweise anschauen? Obwohl viele argumentieren würden, dass die lineare Regression nicht für die Klassifizierung geeignet ist , könnte sie dennoch funktionieren. Um eine gewisse Intuition zu gewinnen, habe ich die lineare Regression (als Klassifikator verwendet) in den Klassifikatorvergleich von scikit-learn einbezogen . Folgendes passiert:
Die Entscheidungsgrenze ist enger als bei den anderen Klassifikatoren, die Genauigkeit ist jedoch dieselbe. Ähnlich wie beim linearen Support-Vektorklassifikator bietet das Regressionsmodell eine Hyperebene, die die Klassen im Feature-Space voneinander trennt.
Wie wir sehen, kann die Verwendung der linearen Regression als Klassifikator funktionieren, aber wie immer würde ich die Vorhersagen durch Kreuzvalidierung überprüfen.
So sieht mein Klassifikator-Code aus:
quelle
quelle