En el aprendizaje automático y la clasificación estadística , la clasificación multiclase o clasificación multinomial es el problema de clasificar instancias en una de tres o más clases (clasificar instancias en una de dos clases se denomina clasificación binaria ). Por ejemplo, decidir si una imagen muestra un plátano, una naranja o una manzana es un problema de clasificación multiclase, con tres clases posibles (plátano, naranja, manzana), mientras que decidir si una imagen contiene una manzana o no es un problema de clasificación binaria (siendo las dos clases posibles: manzana, sin manzana).
Si bien muchos algoritmos de clasificación (en particular la regresión logística multinomial ) permiten naturalmente el uso de más de dos clases, algunos son por naturaleza algoritmos binarios ; sin embargo, estos pueden convertirse en clasificadores multinomiales mediante una variedad de estrategias.
La clasificación multiclase no debe confundirse con la clasificación multietiqueta , donde se deben predecir múltiples etiquetas para cada instancia (por ejemplo, predecir que una imagen contiene una manzana y una naranja, en el ejemplo anterior).
Las técnicas de clasificación multiclase existentes se pueden categorizar en
En esta sección se analizan las estrategias para reducir el problema de la clasificación multiclase a múltiples problemas de clasificación binaria. Se puede clasificar en uno contra resto y uno contra uno . Las técnicas desarrolladas en base a la reducción del problema multiclase a múltiples problemas binarios también se pueden llamar técnicas de transformación de problemas.
La estrategia de uno contra el resto [2] : 182, 338 (OvR o uno contra todos , OvA o uno contra todos , OAA) implica entrenar un solo clasificador por clase, con las muestras de esa clase como muestras positivas y todas las demás muestras como negativas. Esta estrategia requiere que los clasificadores base produzcan una puntuación de valor real para su decisión (ver también regla de puntuación ), en lugar de solo una etiqueta de clase; las etiquetas de clase discretas por sí solas pueden generar ambigüedades, donde se predicen múltiples clases para una sola muestra. [2] : 182 [nota 1]
En pseudocódigo, el algoritmo de entrenamiento para un aprendiz OvR construido a partir de un aprendiz de clasificación binaria L es el siguiente:
Tomar decisiones significa aplicar todos los clasificadores a una muestra x no vista y predecir la etiqueta k para la cual el clasificador correspondiente informa el puntaje de confianza más alto:
Aunque esta estrategia es popular, es una heurística que presenta varios problemas. En primer lugar, la escala de los valores de confianza puede diferir entre los clasificadores binarios. En segundo lugar, incluso si la distribución de clases está equilibrada en el conjunto de entrenamiento, los estudiantes de clasificación binaria ven distribuciones desequilibradas porque, por lo general, el conjunto de negativos que ven es mucho mayor que el conjunto de positivos. [2] : 338
En la reducción uno contra uno (OvO), se entrenan K ( K − 1) / 2 clasificadores binarios para un problema multiclase de K vías; cada uno recibe las muestras de un par de clases del conjunto de entrenamiento original y debe aprender a distinguir estas dos clases. En el momento de la predicción, se aplica un esquema de votación: todos los K ( K − 1) / 2 clasificadores se aplican a una muestra no vista y la clase que obtuvo el mayor número de predicciones "+1" es predicha por el clasificador combinado. [2] : 339
Al igual que OvR, OvO sufre de ambigüedades en el sentido de que algunas regiones de su espacio de entrada pueden recibir el mismo número de votos. [2] : 183
En esta sección se analizan las estrategias para ampliar los clasificadores binarios existentes para resolver problemas de clasificación de múltiples clases. Se han desarrollado varios algoritmos basados en redes neuronales , árboles de decisión , k-vecinos más cercanos , Bayes ingenuo , máquinas de vectores de soporte y máquinas de aprendizaje extremo para abordar problemas de clasificación de múltiples clases. Este tipo de técnicas también se pueden llamar técnicas de adaptación de algoritmos.
Los perceptrones multiclase proporcionan una extensión natural al problema de las múltiples clases. En lugar de tener sólo una neurona en la capa de salida, con una salida binaria, se podrían tener N neuronas binarias que conduzcan a una clasificación multiclase. En la práctica, la última capa de una red neuronal suele ser una capa de función softmax , que es la simplificación algebraica de N clasificadores logísticos, normalizados por clase por la suma de los N-1 otros clasificadores logísticos. La clasificación basada en redes neuronales ha aportado mejoras significativas y posibilidades para pensar desde diferentes perspectivas. [3] [4]
Las máquinas de aprendizaje extremo (ELM) son un caso especial de redes neuronales de propagación hacia adelante de una sola capa oculta (SLFN) en las que los pesos de entrada y los sesgos de los nodos ocultos se pueden elegir de forma aleatoria. Se han realizado muchas variantes y desarrollos en las ELM para la clasificación multiclase.
k-vecinos más cercanos kNN se considera uno de los algoritmos de clasificación no paramétricos más antiguos. Para clasificar un ejemplo desconocido, se mide la distancia desde ese ejemplo a cada uno de los otros ejemplos de entrenamiento. Se identifican las k distancias más pequeñas y la clase más representada por estos k vecinos más cercanos se considera la etiqueta de clase de salida.
Naive Bayes es un clasificador exitoso basado en el principio de máximo a posteriori (MAP). Este enfoque es naturalmente extensible al caso de tener más de dos clases y demostró tener un buen desempeño a pesar del supuesto simplificador subyacente de independencia condicional .
El aprendizaje mediante árboles de decisión es una técnica de clasificación potente. El árbol intenta inferir una división de los datos de entrenamiento en función de los valores de las características disponibles para producir una buena generalización. El algoritmo puede manejar naturalmente problemas de clasificación binaria o multiclase. Los nodos de hoja pueden hacer referencia a cualquiera de las K clases involucradas.
Las máquinas de vectores de soporte se basan en la idea de maximizar el margen, es decir, maximizar la distancia mínima desde el hiperplano de separación hasta el ejemplo más cercano. La SVM básica solo admite la clasificación binaria, pero se han propuesto extensiones para manejar también el caso de clasificación multiclase. En estas extensiones, se agregan parámetros y restricciones adicionales al problema de optimización para manejar la separación de las diferentes clases.
La programación multiexpresión (MEP) es un algoritmo evolutivo para generar programas informáticos (que también se pueden utilizar para tareas de clasificación). La MEP tiene una característica única: codifica múltiples programas en un solo cromosoma. Cada uno de estos programas se puede utilizar para generar el resultado de una clase, lo que hace que la MEP sea naturalmente adecuada para resolver problemas de clasificación de múltiples clases.
La clasificación jerárquica aborda el problema de la clasificación de múltiples clases dividiendo el espacio de salida, es decir, en un árbol . Cada nodo padre se divide en varios nodos secundarios y el proceso continúa hasta que cada nodo secundario representa solo una clase. Se han propuesto varios métodos basados en la clasificación jerárquica.
Basándose en paradigmas de aprendizaje, las técnicas de clasificación multiclase existentes se pueden clasificar en aprendizaje por lotes y aprendizaje en línea . Los algoritmos de aprendizaje por lotes requieren que todas las muestras de datos estén disponibles de antemano. Entrena el modelo utilizando todos los datos de entrenamiento y luego predice la muestra de prueba utilizando la relación encontrada. Los algoritmos de aprendizaje en línea, por otro lado, construyen sus modelos de forma incremental en iteraciones secuenciales. En la iteración t, un algoritmo en línea recibe una muestra, x t y predice su etiqueta ŷ t utilizando el modelo actual; el algoritmo recibe entonces y t , la etiqueta verdadera de x t y actualiza su modelo basándose en el par muestra-etiqueta: (x t , y t ). Recientemente, se ha desarrollado un nuevo paradigma de aprendizaje llamado técnica de aprendizaje progresivo. [5] La técnica de aprendizaje progresivo es capaz no solo de aprender de nuevas muestras, sino también de aprender nuevas clases de datos y, sin embargo, retener el conocimiento aprendido hasta el momento. [6]
El rendimiento de un sistema de clasificación multiclase se evalúa a menudo comparando las predicciones del sistema con las etiquetas de referencia con una métrica de evaluación. Las métricas de evaluación habituales son la precisión o la macro F1 . [7]