Was ist der Unterschied zwischen logistischer Regression und Perzeptron?


30

Ich werde durch Andrew Ng Vortrag Notizen auf Machine Learning.

Die Notizen führen uns in die logistische Regression und dann in Perzeptron ein. Während der Beschreibung von Perceptron heißt es in den Anmerkungen, dass wir nur die Definition der Schwellenwertfunktion ändern, die für die logistische Regression verwendet wird. Danach können wir das Perceptron-Modell zur Klassifizierung verwenden.

Meine Frage lautet also: Wenn dies spezifiziert werden muss und wir Perceptron als Klassifizierungstechnik betrachten, was genau ist dann logistische Regression? Wird nur verwendet, um die Wahrscheinlichkeit zu ermitteln, dass ein Datenpunkt zu einer der Klassen gehört?


Gute Frage, ich finde es sehr wichtig, wie man mit der Erklärung von NN beginnt, besonders weil es sehr kompliziert sein kann, NN zu verstehen, pls. Betrachte meine Antwort.
Prosti

Antworten:


22

Kurz gesagt, die logistische Regression hat probabilistische Konnotationen, die über die Verwendung von Klassifikatoren in ML hinausgehen. Ich habe einige Hinweise auf die logistische Regression hier .

Die Hypothese der logistischen Regression liefert ein Maß für die Unsicherheit beim Auftreten eines binären Ergebnisses auf der Grundlage eines linearen Modells. Der Ausgang wird begrenzt asymptotisch zwischen und , und ist abhängig von einem linearen Modell, so dass , wenn die zugrunde liegende Regressionslinie Wert , die logistische Gleichung , Bereitstellen ein natürlicher Grenzpunkt für Klassifizierungszwecke. Es ist jedoch auf Kosten des Wegwerfens der Wahrscheinlichkeitsinformation im tatsächlichen Ergebnis von , was häufig interessant ist (z. B. Wahrscheinlichkeit eines Kreditausfalls bei gegebenem Einkommen, Kredit-Score, Alter usw.).1 0 0,5 = e 0010 h(ΘTx)=e Θ T x0.5=e01+e0h(ΘTx)=eΘTx1+eΘTx

Der Perzeptron-Klassifizierungsalgorithmus ist ein grundlegenderes Verfahren, das auf Punktprodukten zwischen Beispielen und Gewichten basiert . Wenn ein Beispiel falsch klassifiziert wird, stimmt das Vorzeichen des Skalarprodukts nicht mit dem Klassifizierungswert ( und ) im Trainingssatz überein. Um dies zu korrigieren, wird der Beispielvektor iterativ zum Vektor der Gewichte oder Koeffizienten addiert oder von diesem subtrahiert, wobei seine Elemente schrittweise aktualisiert werden:111

Vektoriell sind die Merkmale oder Attribute eines Beispiels , und die Idee ist, das Beispiel zu "bestehen", wenn:xdx

1dθixi>theshold oder ...

1 - 1 0 1h(x)=sign(1dθixitheshold) . Die Vorzeichenfunktion ergibt oder im Gegensatz zu und bei der logistischen Regression.1101

Die Schwelle wird in den Bias- Koeffizienten . Die Formel lautet jetzt:+θ0

h(x)=sign(0dθixi) oder vektorisiert: .h(x)=sign(θTx)

Falsch klassifizierte Punkte haben , was bedeutet, dass das Skalarprodukt von und positiv ist (Vektoren in derselben Richtung), wenn negativ ist. oder das Skalarprodukt ist negativ (Vektoren in entgegengesetzte Richtungen), während positiv ist.sign(θTx)ynΘxnynyn


Ich habe an den Unterschieden zwischen diesen beiden Methoden in einem Datensatz aus demselben Kurs gearbeitet , in dem die Testergebnisse in zwei separaten Prüfungen mit der endgültigen Zulassung zum College zusammenhängen:

Die Entscheidungsgrenze kann mit logistischer Regression leicht gefunden werden, aber es war interessant zu sehen, dass die mit Perceptron erhaltenen Koeffizienten sich stark von der logistischen Regression unterschieden, die einfache Anwendung der Funktion auf die Ergebnisse jedoch ergab ebenso gut ein Klassifizierungsalgorithmus. Tatsächlich wurde die maximale Genauigkeit (die durch die lineare Untrennbarkeit einiger Beispiele festgelegte Grenze) durch die zweite Iteration erreicht. Hier ist die Folge von Grenzunterteilungslinien, wobei Iterationen die Gewichte ausgehend von einem zufälligen Koeffizientenvektor angenähert haben:sign()10

Die Genauigkeit der Klassifizierung in Abhängigkeit von der Anzahl der Iterationen steigt schnell an und liegt auf einem Plateau von . Dies stimmt überein, wie schnell eine nahezu optimale Entscheidungsgrenze im obigen Videoclip erreicht wird. Hier ist die Darstellung der Lernkurve:90%

Bildbeschreibung hier eingeben


Der verwendete Code ist hier .


5

Hier kann es zu Verwirrung kommen. Ursprünglich bezog sich ein Perzeptron nur auf neuronale Netze mit einer Stufenfunktion als Übertragungsfunktion. In diesem Fall besteht der Unterschied natürlich darin, dass die logistische Regression eine logistische Funktion verwendet und das Perzeptron eine Schrittfunktion verwendet. Im Allgemeinen sollten beide Algorithmen dieselbe Entscheidungsgrenze ergeben (zumindest für ein einzelnes Neuronen-Perzeptron). Jedoch:

  1. Der Parametervektor für das Perzeptron kann im Vergleich zu dem durch logistische Regression abgeleiteten beliebig skaliert werden. Jede Skalierung des Parametervektors definiert dieselbe Grenze, die durch die logistische Regression berechneten Wahrscheinlichkeiten hängen jedoch von der genauen Skalierung ab.
  2. Die Ausgabe einer Sprungfunktion kann natürlich nicht als irgendeine Wahrscheinlichkeit interpretiert werden.
  3. Da eine Sprungfunktion nicht differenzierbar ist, ist es nicht möglich, ein Perzeptron mit denselben Algorithmen zu trainieren, die für die logistische Regression verwendet werden.

In einigen Fällen wird der Begriff Perzeptron auch für neuronale Netze verwendet, die eine logistische Funktion als Übertragungsfunktion verwenden (dies entspricht jedoch nicht der ursprünglichen Terminologie). In diesem Fall sind eine logistische Regression und ein "Perzeptron" genau gleich. Natürlich ist es mit einem Perceptron möglich, mehrere Neuronen zu verwenden, die alle eine logistische Übertragungsfunktion verwenden, die für das Stapeln logistischer Regression (nicht gleich, aber ähnlich) in gewisser Weise relativierbar ist.


2

Sie können die logistische Regression verwenden, um ein Perzeptron zu erstellen. Die logistische Regression verwendet eine logistische Funktion, um die Ausgabe von bestimmten Eingaben zu erstellen. Die logistische Funktion erzeugt eine reibungslose Ausgabe zwischen 0 und 1, sodass Sie noch eine Sache benötigen, um daraus einen Klassifikator zu machen, bei dem es sich um einen Schwellenwert handelt. Perzeptrone können natürlich nicht nur logistisch, sondern auch mit anderen funktionalen Formen gebaut werden .

Die logistische Regression ergibt das folgende Modell:

y(x1,x2|b)=eb0+b1x1+b2x21+eb0+b1x1+b2x2
b1,b2,b3ex1+ex

y(x|b)xbyYy~=0y(x|b)<Yy~=1y(x|b)Y


1

Sie wenden beide eine Regression an, indem sie die Parameter desselben logistisch transformierten Modells schätzen. Abhängig von den Eigenschaften der konvexen Funktionen sind die Werte der Parameter bei jeder Schätzung gleich. Um mich aus einer früheren Antwort zu zitieren:

Die logistische Regression modelliert eine Funktion des Mittelwerts einer Bernoulli-Verteilung als lineare Gleichung (wobei der Mittelwert gleich der Wahrscheinlichkeit p eines Bernoulli-Ereignisses ist). Durch Verwendung des Logit-Links als Funktion des Mittelwerts (p) kann der Logarithmus der Quoten (log-odds) analytisch abgeleitet und als Antwort auf ein sogenanntes verallgemeinertes lineares Modell verwendet werden. Auf diese Weise können Sie das Modell zusätzlich zur Vorhersage in kausalen Schlussfolgerungen interpretieren. Dies ist etwas, was Sie mit einem linearen Perceptron nicht erreichen können.

Das Perceptron übernimmt die (logistische) Umkehrfunktion von wx und verwendet weder für das Modell noch für dessen Parameter probabilistische Annahmen. In Online-Schulungen erhalten Sie genau die gleichen Schätzungen für die Modellgewichte / -parameter, können diese jedoch aufgrund fehlender p-Werte, Konfidenzintervalle und eines zugrunde liegenden Wahrscheinlichkeitsmodells nicht in kausalen Schlussfolgerungen interpretieren.


1

x1,,xNRny1,,yN{1,1}1xi

(1)minimize1Ni=1Nmax(yiβTxi,0).
βRn+1

1Nii(β)

i(β)=max(yiβTxi,0).
iβ
g={0if yiβTxi0(so yi and βTxi have the same sign)yixiotherwise.
t>0)i
ββtg={βif yi and βTxi have the same signβ+tyixiotherwise.
t


0

Andrew Ng verwendete den Begriff "logistische Regression" als Modell zur Lösung des Problems der binären Klassifikation.

Wie Sie vielleicht in der Zeitung gesehen haben, hat er das Modell selbst nie gezeichnet.

Lassen Sie mich ein paar Details in den Eimer aufnehmen, damit Sie die Gründe dafür finden, wie er meiner Meinung nach die Vorlesungen aufgebaut hat.

Das für die "logistische Regression" verwendete Modell ist eine Wahrnehmung auf einer Ebene mit einer benutzerdefinierten Anzahl von Eingaben und einer Ausgabe im Bereich von 0 bis 1.

In den 90er Jahren war die am meisten geschätzte Aktivierungsfunktion die sigmoidale Aktivierungsfunktion, und es gibt eine große mathematische Theorie als Backup.

Dies ist genau das Modell, das Andrew Ng verwendet, da diese Funktion von 0 bis 1 reicht.

Auch die Ableitung s'(x) = s(x)(1−s(x)), bei der s(x)es sich um eine Sigmoidalaktivierungsfunktion handelt.

Für die Fehlerfunktion verwendet er L2, obwohl er in einigen Abhandlungen möglicherweise eine andere Funktion dafür verwendet.

Um es noch einmal zusammenzufassen: Berücksichtigen Sie bei der Betrachtung der "logistischen Regression" nur die Wahrnehmung auf einer Ebene mit Sigmoid-Aktivierungsfunktion, der benutzerdefinierten Anzahl von Eingaben und der einzelnen Ausgabe.


Nur ein paar Anmerkungen: Es ist nichts Falsches an der Sigmoidal-Aktivierungsfunktion, obwohl für die Gleitkomma-Arithmetik ReLU heutzutage verborgene Ebenen dominiert, aber in naher Zukunft können Posits (oder einige andere arithmetische Einheiten) die Sigmoidal-Aktivierungsfunktion wieder in die Tabelle aufnehmen .

Persönlich würde ich ein einfacheres Modell mit der ReLU-Funktion verwenden, um das SLP (Single Level Perceptron) zu erklären, da es heute häufiger verwendet wird.

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.