¿Por qué se utiliza la función softmax para calcular las probabilidades, aunque podemos dividir cada valor por la suma del vector?

20

La aplicación de la función softmax en un vector producirá "probabilidades" y valores entre y . 01

Pero también podemos dividir cada valor por la suma del vector y eso producirá probabilidades y valores entre y .01

Leí la respuesta aquí, pero dice que la razón es porque es diferenciable, aunque ambas funciones son diferenciables.

Floyd
fuente
1
Creo que es mejor si miras primero la regresión logística. su 'objetivo' es transformar monotónicamente a (0,1). Esto es lo que hace la función logística. Tenga en cuenta que cualquier función de distribución acumulativa (probabilidad) en la línea real también funciona; consulte la regresión probit que utiliza la función de distribución normal. (,)
seanv507

Respuestas:

36

La función que propone tiene una singularidad siempre que la suma de los elementos sea cero.

Suponga que su vector es . Este vector tiene una suma de 0, por lo que la división no está definida. La función no es diferenciable aquí.[1,13,23]

Además, si uno o más de los elementos del vector son negativos pero la suma no es cero, su resultado no es una probabilidad.

Suponga que su vector es . Esto tiene una suma de 1, por lo que la aplicación de su función da como resultado , que no es un vector de probabilidad porque tiene elementos negativos y elementos superiores a 1.[1,0,2][1,0,2]

Desde una perspectiva más amplia, podemos motivar la forma específica de la función softmax desde la perspectiva de extender la regresión logística binaria al caso de tres o más resultados categóricos.

Hacer las cosas como tomar valores absolutos o cuadrados, como se sugiere en los comentarios, medios que y tienen la misma probabilidad predicha; Esto significa que el modelo no está identificado . Por el contrario, es monotónico y positivo para todas las reales , por lo que el resultado de softmax es (1) un vector de probabilidad y (2) se identifica el modelo logístico multinomial.xxexp ( x ) xexp(x)x

Sycorax dice reinstalar a Mónica
fuente
Muchas gracias. Podemos resolver ambos problemas dividiendo por la suma de valores absolutos, ¿verdad?
Floyd
2
No. ¿Qué sucede si sumas los valores absolutos de mis dos ejemplos y luego los divides por esa suma?
Sycorax dice Reinstate Monica el
xi2/sum(X2)
8
[0,0,0]
8
xi2/jxj2|xi|/j|xj|exp(x)
4

Softmax tiene dos componentes:

  1. Transforma los componentes a e ^ x. Esto permite que la red neuronal funcione con probabilidades logarítmicas, en lugar de probabilidades ordinarias. Esto convierte la operación común de multiplicar probabilidades en suma, que es mucho más natural para la estructura de redes neuronales basada en álgebra lineal.

  2. Normalice su suma a 1, ya que esa es la probabilidad total que necesitamos.

Una consecuencia importante de esto es que el teorema de Bayes es muy natural para dicha red, ya que es solo la multiplicación de probabilidades normalizadas por el denominador.

El caso trivial de una red de una sola capa con activación softmax es equivalente a la regresión logística.

El caso especial de softmax de dos componentes es equivalente a la activación sigmoidea, que es popular cuando solo hay dos clases. En la clasificación de clases múltiples, softmax se usa si las clases son mutuamente excluyentes y se usa sigmoide por componentes si son independientes.

CodesInChaos
fuente