Definición de la función softmax


8

Esta pregunta sigue en stats.stackexchange.com/q/233658

El modelo de regresión logística para las clases {0, 1} es

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

Claramente, esas probabilidades suman 1. Al establecer también podríamos definir la regresión logística comow=β1β0

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

Sin embargo, la segunda definición rara vez se usa porque los coeficientes y no son únicos. En otras palabras, el modelo no es identificable, al igual que la regresión lineal con dos variables que son múltiplos entre sí.β0β1

Pregunta

En el aprendizaje automático, ¿por qué el modelo de regresión softmax para las clases {0, 1, ..., K - 1} generalmente se define de la siguiente manera?

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

¿No debería ser en cambio

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

Nota al margen: en estadística, la regresión softmax se denomina regresión logística multinomial y las clases son {1, ..., K}. Encuentro esto un poco incómodo porque cuando K = 2, las clases son {1, 2} en lugar de {0, 1}, por lo que no es exactamente una generalización de la regresión logística.


¿Suele definirse de esa manera? ¿Puedes señalar una referencia?
The Laconic

@TheLaconic Consulte la definición de softmax en scikit-learn.org/stable/modules/neural_networks_supervised.html y www.tensorflow.org/versions/r1.1/get_started/mnist/beginners
agricultor

OKAY. Pregunté porque nunca había visto modelos de regresión MNL definidos de esta manera. Pero aparentemente es "habitual" en el contexto de las redes neuronales, y ahora tengo la misma pregunta que tú.
The Laconic

1
No estoy seguro de cómo responder a una pregunta de "no debería ser X". La definición dada es diferenciable y define una distribución de probabilidad (sumas a 1). Parece que esas son las partes importantes, entonces ¿por qué no debería ser eso en lugar de lo otro?
kbrose

@kbrose debido a la falta de identificabilidad
Taylor

Respuestas:


2

Sí, tiene razón en que hay una falta de identificabilidad a menos que uno de los vectores coeficientes sea fijo. Hay algunas razones que no mencionan esto. No puedo hablar de por qué omiten este detalle, pero aquí hay una explicación de qué es y cómo solucionarlo.

Descripción

Digamos que tiene observaciones y predictores , donde va de a denota el número / índice de observación. Necesitará estimar los vectores de coeficiente dimensional .yi{0,1,2,,K1}xiRpi1nK pβ0,β1,,βK1

La función softmax se define como que tiene buenas propiedades como la diferenciabilidad, suma , etc.

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

La regresión logística multinomial utiliza la función softmax para cada observación en el vector i

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

lo que significa

[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]].

El problema

Sin embargo, la probabilidad no es identificable porque múltiples colecciones de parámetros darán la misma probabilidad. Por ejemplo, cambiar todos los vectores de coeficientes por el mismo vector producirá la misma probabilidad. Esto se puede ver si multiplica cada numerador y denominador de cada elemento del vector por una constante , nada cambia: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)]].

Arreglando lo

La forma de solucionar esto es restringir los parámetros. Arreglar uno de ellos conducirá a la identificación, porque ya no se permitirá cambiarlos.

Hay dos opciones comunes:

  • set , que significa (usted menciona este), yc=β0β0=0
  • set , que significa .c=βK1βK1=0

Ignorándolo

Sin embargo, a veces la restricción no es necesaria. Por ejemplo, si estaba interesado en formar un intervalo de confianza para la cantidad , entonces esto es lo mismo que , así que inferencia en relativamente cantidades realmente no importan. Además, si su tarea es predicción en lugar de inferencia de parámetros, sus predicciones no se verán afectadas si se estiman todos los vectores de coeficientes (sin restringir uno).β10β12β10c[β12c]

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.