Softmax | ¿Qué es la función de activación Softmax?

Contenidos

Objetivo

  • La función de activación es uno de los componentes básicos de la red neuronal
  • Comprender cómo funciona la activación de Softmax en un problema de clasificación multiclase

Introducción

La función de activación es una parte integral de una red neuronal. Sin una función de activación, una red neuronal es un modelo de regresión lineal simple. Esto significa que la función de activación otorga no linealidad a la red neuronal.

Nota: Si está más interesado en aprender conceptos en un formato audiovisual, tenemos este artículo completo explicado en el video a continuación. Si no es así, puede seguir leyendo.

Si desea profundizar, le recomendaré que lea el siguiente artículo.

Fundamentos del aprendizaje profundo: funciones de activación y cuándo usarlas

En este artículo, discutiremos la función de activación de SoftMax. Se usa popularmente para problemas de clasificación multiclase. Primero entendamos la arquitectura de la red neuronal para un problema de clasificación de clases múltiples y también por qué no se pueden usar otras funciones de activación en este caso.

Ejemplo

Supongamos que tenemos el siguiente conjunto de datos y para cada observación, tenemos cinco características de FeatureX1 a FeatureX5 y la variable de destino tiene tres clases.

screenshot-from-2021-04-01-17-23-11-8119911

Ahora creemos una red neuronal simple para este problema. Aquí, tenemos una capa de entrada con cinco neuronas, ya que tenemos cinco características en el conjunto de datos. A continuación, tenemos una capa oculta que tiene cuatro neuronas. Cada una de estas neuronas utiliza entradas, pesos y sesgos aquí para calcular un valor que se representa aquí como Zij.

screenshot-from-2021-04-01-17-24-06-2402426

Por ejemplo, la primera neurona de la primera capa se representa como Z11 De manera similar, la segunda neurona de la primera capa se representa como Z12, y así sucesivamente.

Sobre estos valores aplicamos la función de activación. Digamos una función de activación tanh y enviemos los valores o el resultado a la capa de salida.

El número de neuronas en la capa de salida depende del número de clases en el conjunto de datos. Dado que tenemos tres clases en el conjunto de datos, tendremos tres neuronas en la capa de salida. Cada una de estas neuronas dará la probabilidad de clases individuales. Esto significa que la primera neurona le dará la probabilidad de que el punto de datos pertenezca a la clase 1. De manera similar, la segunda neurona le dará la probabilidad de que el punto de datos pertenezca a la clase 2 y así sucesivamente.

¿Por qué no sigmoidea?

Suponga que calculamos el valor Z usando pesos y sesgos de esta capa y aplicamos la función de activación sigmoidea sobre estos valores. Sabemos que la función de activación sigmoidea da el valor entre 0 y 1. Supongamos que estos son los valores que obtenemos como salida.

screenshot-from-2021-04-01-17-24-34-2749828

Hay dos problemas en este caso:

Primero, si aplicamos un umbral de, digamos, 0.5, esta red dice que el punto de datos de entrada pertenece a dos clases. En segundo lugar, estos valores de probabilidad son independientes entre sí. Eso significa que la probabilidad de que el punto de datos pertenezca a la clase 1 no tiene en cuenta la probabilidad de las otras dos clases.

Esta es la razón por la que la función de activación sigmoidea no se prefiere en problemas de clasificación de clases múltiples.

Activación Softmax

En lugar de usar sigmoide, usaremos la función de activación Softmax en la capa de salida en el ejemplo anterior. La función de activación de Softmax calcula las probabilidades relativas. Eso significa que usa el valor de Z21, Z22, Z23 para determinar el valor de probabilidad final.

Veamos cómo funciona realmente la función de activación de softmax. Similar a la función de activación sigmoidea, la función SoftMax devuelve la probabilidad de cada clase. Aquí está la ecuación para la función de activación de SoftMax.

screenshot-from-2021-04-01-17-25-22-1137480

Aquí, la Z representa los valores de las neuronas de la capa de salida. La exponencial actúa como función no lineal. Posteriormente estos valores se dividen por la suma de valores exponenciales con el fin de normalizarlos y luego convertirlos en probabilidades.

Tenga en cuenta que, cuando el número de clases es dos, se vuelve lo mismo que la función de activación sigmoidea. En otras palabras, sigmoide es simplemente una variante de la función Softmax. Si desea obtener más información sobre este concepto, consulte este enlace.

Entendamos con un simple ejemplo cómo funciona el softmax, tenemos la siguiente red neuronal.

screenshot-from-2021-04-01-17-25-02-5650439

Suponga que el valor de Z21, Z22, Z23 resulta ser 2,33, -1,46 y 0,56 respectivamente. Ahora se aplica la función de activación de SoftMax a cada una de estas neuronas y se generan los siguientes valores.

screenshot-from-2021-04-01-17-26-04-8590480

Estos son los valores de probabilidad que apunta un dato perteneciente a las respectivas clases. Tenga en cuenta que la suma de las probabilidades, en este caso, es igual a 1.

screenshot-from-2021-04-01-17-26-10-5742822

En este caso, queda claro que la entrada pertenece a la clase 1. Entonces, si la probabilidad de cualquiera de estas clases cambia, el valor de probabilidad de la primera clase también cambiaría.

Notas finales

Se trata de la función de activación de SoftMax en este artículo. Aquí vimos por qué no deberíamos usar funciones de activación como sigmoide o tanh en los problemas de clasificación multiclase y también cómo funciona la función softmax a través de un ejemplo.

Si está buscando comenzar su viaje de ciencia de datos y desea todos los temas bajo un mismo techo, su búsqueda se detiene aquí. Eche un vistazo a la IA y ML BlackBelt certificadas de DataPeaker Más Programa

Si tiene alguna pregunta, hágamelo saber en los comentarios a continuación.

Suscribite a nuestro Newsletter

No te enviaremos correo SPAM. Lo odiamos tanto como tú.