¿Cuál es la relación entre softmax y sigmoide ya que sus derivados son similares?

El softmax es una generalización de la función sigmoide en el sentido de que un softmax para dos dimensiones (eventos) es exactamente la función sigmoide. Si una variable aleatoria [matemática] x [/ matemática] puede asumir uno de los dos valores [0,1], entonces:

[matemáticas] \ sigma _ {\ text {sigmoid}} (x) = \ frac {\ exp (x_j)} {\ exp (x_j) +1} [/ matemáticas]

De manera equivalente, pero de manera más general, si puede asumir uno de los valores [matemáticos] K [/ matemáticos], entonces:

[matemáticas] \ sigma _ {\ text {softmax}} (x_j) = \ frac {\ exp (x_j)} {\ sum \ limits_ {k = 0} ^ {K-1} \ exp (x_k)} [/ math ]

Debería ser sencillo ver que la primera ecuación es equivalente a la segunda cuando [matemática] K = 2 [/ matemática]. El Softmax, siendo más general, se define para cualquier número de eventos. Está relacionado con la llamada distribución “Multinouli” [1] en la misma forma en que un sigmoide está relacionado con la distribución de Bernoulli.

Softmax es muy útil como una capa de salida (distribución) para la clasificación o, en general, para modelar variables discretas en el aprendizaje automático.

[1] – Aprendizaje automático

Cualquier función en forma de S es una función sigmoidea. El ejemplo más famoso es la función logística. Tanto es así que cuando las personas dicen Sigmoide, a menudo se refieren a la función logística. Eso es lo que también asumiré para esta respuesta . También supongo que está preguntando en el contexto de la clasificación. Entonces, basemos nuestra respuesta en el dominio de la clasificación. Supongo que conoce algunos conceptos básicos de clasificación.

Suponga que tiene un clasificador de varias clases con K clases. Las probabilidades de clase se modelan utilizando la función Softmax.

[matemáticas] P (k) = \ frac {e ^ {\ theta_k ^ \ top x}} {\ sum_ {i = 0} ^ K e ^ {\ theta_i ^ \ top x}} [/ matemáticas]

Ahora, ¿qué sucede si solo tenemos 2 clases también conocidas como clasificador binario?

Todavía podemos usar la función Softmax. La expresión para k = 1 se simplifica a:

[matemáticas] P (1) = \ frac {e ^ {\ theta_1 ^ \ top x}} {e ^ {\ theta_1 ^ \ top x} + e ^ {\ theta_0 ^ \ top x}} [/ math]

Ahora, el clasificador Softmax tiene una propiedad interesante, es decir, podemos restar cierta cantidad de los parámetros y las predicciones seguirán siendo las mismas. Veamos cómo funciona eso.

[matemáticas] P (1) = \ frac {e ^ {(\ theta_1- \ alpha) ^ \ top x}} {e ^ {(\ theta_1- \ alpha) ^ \ top x} + e ^ {(\ theta_0 – \ alpha) ^ \ top x}} [/ math]

[matemáticas] P (1) = \ frac {e ^ {\ theta_1 ^ \ top x} e ^ {- \ alpha ^ \ top x}} {e ^ {\ theta_1 ^ \ top x} e ^ {- \ alpha ^ \ top x} + e ^ {\ theta_0 ^ \ top x} e ^ {- \ alpha ^ \ top x}} [/ math]

[matemáticas] P (1) = \ frac {e ^ {\ theta_1 ^ \ top x}} {e ^ {\ theta_1 ^ \ top x} + e ^ {\ theta_0 ^ \ top x}} [/ math]

Ahora podemos usar esta propiedad de una manera diferente. Establezcamos [math] \ alpha = \ theta_0 [/ math].

[matemáticas] P (1) = \ frac {e ^ {(\ theta_1- \ theta_0) ^ \ top x}} {e ^ {(\ theta_1- \ theta_0) ^ \ top x} + e ^ {(\ theta_0 – \ theta_0) ^ \ top x}} [/ math]

[matemáticas] P (1) = \ frac {e ^ {(\ theta_1- \ theta_0) ^ \ top x}} {1 + e ^ {(\ theta_1- \ theta_0) ^ \ top x}} [/ math]

Entonces, cuando tenemos 2 clases, la función Softmax se reduce a la función logística . Esa es la relación entre la función Softmax y la función logística. ¡¡Espero que esto ayude!!.

La función softmax es algo que no sabía, pero Wikipedia dice que es una “generalización de la curva logística”, mientras que la función sigmoidea es una curva logística, así que ahí está su relación.