Definition der Softmax-Funktion


8

Diese Frage wird unter stats.stackexchange.com/q/233658 beantwortet

Das logistische Regressionsmodell für die Klassen {0, 1} lautet

P(y=1|x)=exp(wTx)1+exp(wTx)P(y=0|x)=11+exp(wTx)

Diese Wahrscheinlichkeiten summieren sich eindeutig zu 1. Durch Setzen von wir auch die logistische Regression als definierenw=β1β0

P(y=c|x)=exp(βcTx)exp(β0Tx)+exp(β1Tx)c{0,1}

Die zweite Definition wird jedoch selten verwendet, da die Koeffizienten und nicht eindeutig sind. Mit anderen Worten, das Modell ist nicht identifizierbar, genau wie die lineare Regression mit zwei Variablen, die Vielfache voneinander sind.β0β1

Frage

Warum wird beim maschinellen Lernen das Softmax-Regressionsmodell für die Klassen {0, 1, ..., K - 1} normalerweise wie folgt definiert?

P(y=c|x)=exp(βcTx)exp(β0Tx)++exp(βK1Tx)c{0,,K1}

Sollte es nicht stattdessen sein

P(y=c|x)=exp(wcTx)1+exp(w1Tx)++exp(wK1Tx)c{1,,K1}P(y=0|x)=11+exp(w1Tx)++exp(wK1Tx)

Randnotiz: In der Statistik wird die Softmax-Regression als multinomiale logistische Regression bezeichnet, und die Klassen sind {1, ..., K}. Ich finde das etwas umständlich, denn wenn K = 2 ist, sind die Klassen {1, 2} anstelle von {0, 1}, so dass es nicht gerade eine Verallgemeinerung der logistischen Regression ist.


Wird es normalerweise so definiert? Können Sie auf eine Referenz verweisen?
The Laconic

@TheLaconic Siehe die Definition von Softmax unter scikit-learn.org/stable/modules/neural_networks_supervised.html und www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
Bauer

OK. Ich habe gefragt, weil ich noch nie so definierte MNL-Regressionsmodelle gesehen habe. Aber anscheinend ist es im Zusammenhang mit neuronalen Netzen "üblich" - und jetzt habe ich die gleiche Frage wie Sie.
The Laconic

1
Ich bin mir nicht sicher, wie ich eine Frage "Sollte es nicht X sein" beantworten soll. Die gegebene Definition ist differenzierbar und definiert eine Wahrscheinlichkeitsverteilung (Summen zu 1). Es scheint, dass dies die wichtigen Teile sind. Warum sollte es nicht so sein, anstatt der anderen?
Kbrose

@kbrose wegen der mangelnden Identifizierbarkeit
Taylor

Antworten:


2

Ja, Sie haben Recht, dass es an Identifizierbarkeit mangelt, es sei denn, einer der Koeffizientenvektoren ist fest. Es gibt einige Gründe, die dies nicht erwähnen. Ich kann nicht sagen, warum sie dieses Detail weglassen, aber hier ist eine Erklärung, was es ist und wie es behoben werden kann.

Beschreibung

yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

Die Softmax-Funktion ist in der Tat definiert als das schöne Eigenschaften wie Differenzierbarkeit hat, summiert sich zu usw.

softmax(z)i=exp(zi)l=0K1exp(zl),
1

Die multinomiale logistische Regression verwendet die Softmax-Funktion für jede Beobachtung auf dem Vektor i

[xiβ0xiβ1xiβK1,]

was bedeutet

[P(yi=0)P(yi=1)P(yi=K1)]=[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]].

Das Problem

Die Wahrscheinlichkeit ist jedoch nicht identifizierbar, da mehrere Parametersammlungen dieselbe Wahrscheinlichkeit ergeben. Wenn Sie beispielsweise alle Koeffizientenvektoren um denselben Vektor wird dieselbe Wahrscheinlichkeit erzeugt. Dies ist ersichtlich, wenn Sie den Zähler und Nenner jedes Elements des Vektors mit einer Konstanten multiplizieren. Daran ändert sich nichts:cexp[xic]

[exp[xiβ0]k=0K1exp[xiβk]exp[xiβ1]k=0K1exp[xiβk]exp[xiβK1]k=0K1exp[xiβk]]=[exp[xi(β0c)]k=0K1exp[xi(βkc)]exp[xi(β1c)]k=0K1exp[xi(βkc)]exp[xi(βK1c)]k=0K1exp[xi(βkc)]].

Es reparieren

Um dies zu beheben, müssen Sie die Parameter einschränken. Das Reparieren eines von ihnen führt zur Identifizierbarkeit, da das Verschieben aller nicht mehr zulässig ist.

Es gibt zwei gängige Möglichkeiten:

  • setze , was (du erwähnst dieses), undc=β0β0=0
  • setze , was .c=βK1βK1=0

Ignoriere es

Manchmal ist die Einschränkung jedoch nicht erforderlich. Zum Beispiel, wenn Sie für die Menge einen Konfidenzintervall interessiert waren bei der Bildung , dann ist dies das gleiche wie , so Folgerung auf Relative Mengen spielen keine Rolle. Wenn Ihre Aufgabe eine Vorhersage anstelle einer Parameterinferenz ist, bleiben Ihre Vorhersagen unberührt, wenn alle Koeffizientenvektoren geschätzt werden (ohne einen einzuschränken).β10β12β10c[β12c]

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.