2.11 - La Clasificación Multiclase

Lección 11 de la sección “Redes Neuronales” del curso Fundamentos de Deep Learning con Python.

Introducción

En la lección anterior vimos cómo implementar una Neurona Artificial en Keras para entrenar un modelo capaz de realizar la clasificación binaria de un set de datos.

Pues resulta que con tan sólo realizar ligeras modificaciones a este clasificador binario lograremos clasificar datos distribuidos en tres o más categorías.

Veamos entonces en qué consiste esta Clasificación Multiclase.

Suscríbete para tener acceso al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El problema a resolver

Supongamos que queremos resolver un problema similar al descrito en el caso de la Neurona Artificial.

Este set de datos contiene información de un grupo de estudiantes, en donde para cada uno se indican las horas de sueño y las horas de estudio, así como el puntaje obtenido en un examen. Pero en este caso supongamos que cada uno de los puntajes puede estar en una de tres posibles categorías: “alto”, “medio” o “bajo”.

Para resolver este problema tomaremos varias de las ideas de la clasificación binaria descritas en las lecciones anteriores, con ligeras modificaciones.

Modificación 1: representación de la salida

El primer cambio hace referencia a la manera como representaremos cada una de las categorías (es decir la salida del modelo). En el caso de la Clasificación Multiclase usaremos lo que se conoce como one-hot encoding para representar numéricamente cada una de las tres categorías.

Modificación 2: la transformación no cambia, pero el número de neuronas sí

La transformación realizada sobre los datos de entrada seguirá teniendo la misma forma descrita para el caso de la Neurona Artificial.

Sin embargo en este caso tendremos más neuronas: una por cada categoría (es decir un total de 3 neuronas). Cada neurona procesará el dato de entrada de la misma forma como lo hace la clasificación binaria: una transformación seguida de una función de activación.

Y es en ésta última, la función de activación usada, donde está la tercera modificación importante.

Modificación 3: la función de activación softmax

Al ingresar un dato al clasificador, las tres neuronas se activaran y la salida obtenida indicará la probabilidad de que el dato pertenezca a una de las tres categorías disponibles. La categoría asignada al dato será simplemente la correspondiente a aquella neurona con la probabilidad más alta.

Sin embargo, para que las salidas combinadas equivalgan a probabilidades, debemos garantizar que la suma de estas activaciones sea exactamente igual a 1. Y esto precisamente se logra con la función softmax.

Entrenamiento y frontera de decisión

En este caso se usará una función objetivo similar a la entropía cruzada binaria, pero al tener más de dos categorías en este caso simplemente la llamaremos entropía cruzada.

Dada la similitud con la clasificación binaria, en este caso de la Clasificación Multiclase también tendremos fronteras de decisión lineales.

Recuerda suscribirte para acceder al video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien, acabamos de ver los conceptos básicos de la clasificación multiclase haciendo uso de la función softmax.

Es momento de poner a prueba estos conocimientos, así que en la práctica 4 del curso veremos cómo realizar la Clasificación Multiclase en Keras.

Ver todas las lecciones de este curso