Maschinelles Lernen zur Vorhersage von Klassenwahrscheinlichkeiten


20

Ich suche nach Klassifikatoren, die Wahrscheinlichkeiten ausgeben, dass Beispiele zu einer von zwei Klassen gehören.

Ich kenne logistische Regression und naive Bayes, aber können Sie mir von anderen erzählen, die auf ähnliche Weise arbeiten? Das heißt, Klassifizierer, die nicht die Klassen vorhersagen, zu denen Beispiele gehören, sondern die Wahrscheinlichkeit, dass Beispiele zu einer bestimmten Klasse passen?

Bonuspunkte für alle Gedanken, die Sie über die Vor- und Nachteile dieser verschiedenen Klassifikatoren (einschließlich logistischer Regression und naiver Bayes) austauschen können. Sind einige beispielsweise besser für die Klassifizierung mehrerer Klassen geeignet?

Antworten:


5

SVM ist eng mit der logistischen Regression verbunden und kann verwendet werden, um die Wahrscheinlichkeiten auch basierend auf dem Abstand zur Hyperebene (der Punktzahl für jeden Punkt) vorherzusagen. Sie tun dies, indem Sie eine Punktzahl erstellen -> Wahrscheinlichkeitsabbildung, was relativ einfach ist, da das Problem eindimensional ist. Eine Möglichkeit besteht darin, eine S-Kurve (z. B. die Logistikkurve oder ihre Steigung) an die Daten anzupassen. Eine andere Möglichkeit ist die Verwendung der isotonischen Regression, um eine allgemeinere kumulative Verteilungsfunktion an die Daten anzupassen.

Außer SVM können Sie für jede Methode, die Sie mit gradientenbasierten Methoden anpassen können, wie z. B. tiefe Netzwerke, eine geeignete Verlustfunktion verwenden.

Das Vorhersagen von Wahrscheinlichkeiten wird heutzutage beim Entwerfen von Klassifikatoren nicht mehr berücksichtigt. Es ist ein Extra, das von der Klassifizierungsleistung ablenkt, also wird es verworfen. Sie können jedoch einen beliebigen binären Klassifikator verwenden, um einen festen Satz von Klassifizierungswahrscheinlichkeiten (z. B. "p in [0, 1/4] oder [1/4, 1/2] oder ...") mit dem Befehl " Sondierung "Reduktion von Langford und Zadrozny.


4
"Das Vorhersagen von Wahrscheinlichkeiten wird heutzutage beim Entwerfen von Klassifikatoren nicht mehr berücksichtigt". Ich bin mir nicht sicher, ob dies 2013 zutrifft, aber es ist mit ziemlicher Sicherheit 2018 falsch.
Matthew Drury,

9

Eine andere Möglichkeit sind neuronale Netze, wenn Sie die Querentropie als Kostenfunktion mit Sigmoidal-Ausgabeeinheiten verwenden. Auf diese Weise erhalten Sie die Schätzungen, nach denen Sie suchen.

Neuronale Netze sowie die logistische Regression sind diskriminierende Klassifikatoren, was bedeutet, dass sie versuchen, die bedingte Verteilung auf die Trainingsdaten zu maximieren. Asymptotisch nähern sich beide Schätzungen im Grenzwert für unendliche Stichproben demselben Grenzwert an.

Eine detaillierte Analyse zu dieser Frage finden Sie in diesem Artikel . Die Idee zum Mitnehmen ist, dass das generative Modell, obwohl es einen höheren asymptotischen Fehler aufweist, sich diesem asymptotischen Fehler möglicherweise viel schneller annähern kann als das diskriminative Modell. Die Auswahl hängt daher von Ihrem Problem, den vorliegenden Daten und Ihren speziellen Anforderungen ab.

Schließlich ist es im Allgemeinen wenig sinnvoll, die Schätzungen der bedingten Wahrscheinlichkeiten als absolute Punktzahl zu betrachten, auf die Entscheidungen zu stützen sind (wenn Sie danach streben). Wichtig ist, anhand einer konkreten Stichprobe die vom Klassifikator ausgegebenen Klassen der besten Kandidaten zu betrachten und die zugehörigen Wahrscheinlichkeiten zu vergleichen. Wenn der Unterschied zwischen den beiden besten Ergebnissen hoch ist, bedeutet dies, dass der Klassifikator sehr zuversichtlich ist, was seine Antwort betrifft (nicht unbedingt richtig).


2

Es gibt viele - und was am besten funktioniert, hängt von den Daten ab. Es gibt auch viele Möglichkeiten zu betrügen. Beispielsweise können Sie eine Wahrscheinlichkeitskalibrierung an den Ausgängen jedes Klassifikators durchführen, der einen Anschein einer Punktzahl ergibt (dh ein Skalarprodukt zwischen dem Gewichtungsvektor und der Eingabe). Das bekannteste Beispiel hierfür ist die Plattsche Skalierung.

Es geht auch um die Form des zugrunde liegenden Modells. Wenn Sie polynomielle Interaktionen mit Ihren Daten haben, kann die Vanilla Logistic Regression diese nicht gut modellieren. Sie können jedoch eine Kernversion der logistischen Regression verwenden, damit das Modell besser zu den Daten passt. Dies erhöht normalerweise die "Güte" der Wahrscheinlichkeitsausgaben, da Sie auch die Genauigkeit des Klassifikators verbessern.

Im Allgemeinen verwenden die meisten Modelle, die Wahrscheinlichkeiten angeben, normalerweise eine logistische Funktion, sodass ein Vergleich schwierig sein kann. In der Praxis funktioniert das meistens, Bayes-Netzwerke sind eine Alternative. Naive Bayes geht von einer zu simplen Annahme aus, als dass ihre Wahrscheinlichkeiten gut wären - und das lässt sich bei einem Datensatz mit angemessener Größe leicht beobachten.

Am Ende ist es normalerweise einfacher, die Qualität Ihrer Wahrscheinlichkeitsschätzungen zu verbessern, indem Sie das Modell auswählen, das die Daten besser darstellen kann. In diesem Sinne spielt es keine Rolle, wie Sie die Wahrscheinlichkeiten erhalten. Wenn Sie mit einer logistischen Regression eine Genauigkeit von 70% und mit einer SVM eine Genauigkeit von 98% erzielen, können Sie mit einer Wahrscheinlichkeit von nur "vollem Vertrauen" die Ergebnisse mit den meisten Bewertungsmethoden "verbessern", auch wenn es sich nicht wirklich um Wahrscheinlichkeiten handelt (und Dann können Sie die zuvor erwähnte Kalibrierung durchführen, um sie tatsächlich zu verbessern.

Die gleiche Frage im Zusammenhang mit der Unfähigkeit, einen genauen Klassifikator zu erhalten, ist interessanter, aber ich bin nicht sicher, ob jemand in einem solchen Szenario studiert / verglichen hat.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.