Clasificación en aprendizaje automático: una introducción
La clasificación es el proceso de predecir la clase de puntos de datos dados. A las clases a veces se les llama objetivos, etiquetas o categorías. El modelado predictivo de clasificación es la tarea de aproximar una función de mapeo (f) de variables de entrada (X) a variables de salida discretas (y).
Por ejemplo, la detección de spam en los proveedores de servicios de correo electrónico puede identificarse como un problema de clasificación. Esta es una clasificación binaria ya que sólo hay dos clases marcadas como “spam” y “no spam”. Un clasificador utiliza algunos datos de entrenamiento para comprender cómo se relacionan las variables de entrada dadas con la clase. En este caso, se deben utilizar como datos de entrenamiento los correos electrónicos conocidos como spam y no spam. Cuando el clasificador se entrena con precisión, se puede utilizar para detectar un correo electrónico desconocido.
La clasificación pertenece a la categoría de aprendizaje supervisado donde los objetivos también reciben los datos de entrada. La clasificación se puede aplicar a una amplia variedad de tareas, incluida la aprobación de crédito, el diagnóstico médico y el marketing objetivo, etc.
Hay dos tipos de estudiantes en la clasificación: estudiantes perezosos y estudiantes ansiosos.
Los alumnos perezosos almacenan los datos de entrenamiento y esperan hasta que aparezcan los datos de prueba. Cuando lo hace, la clasificación se realiza en función de los datos de entrenamiento almacenados más relacionados. En comparación con los estudiantes entusiastas, los estudiantes perezosos dedican menos tiempo a entrenar pero más tiempo a predecir.
Ejemplos:K-vecino más cercano y razonamiento basado en casos.
Los estudiantes ansiosos construyen un modelo de clasificación basado en los datos de entrenamiento proporcionados antes de recibir datos para la clasificación. Debe poder comprometerse con una única hipótesis que cubra todo el espacio de instancia. Debido a esto, los estudiantes ansiosos necesitan mucho tiempo para capacitarse y menos tiempo para predecir.
Ejemplos:Árbol de decisión, Bayes ingenuo y redes neuronales artificiales.
Más sobre aprendizaje automático: los 10 principales algoritmos de aprendizaje automático que todo principiante debería conocer
Hay muchos algoritmos de clasificación para elegir. Elegir el correcto depende de la aplicación y la naturaleza del conjunto de datos disponible. Por ejemplo, si las clases son linealmente separables, los clasificadores lineales como la regresión logística y el discriminante lineal de Fisher pueden superar a los modelos sofisticados y viceversa.
Un árbol de decisión construye modelos de clasificación o regresión en forma de estructura de árbol. Utiliza un conjunto de reglas "si-entonces" que son mutuamente excluyentes y exhaustivas para la clasificación. Las reglas se aprenden secuencialmente utilizando los datos de entrenamiento uno a la vez. Cada vez que se aprende una regla, se eliminan las tuplas cubiertas por la regla. Este proceso continúa hasta que se cumple una condición de terminación.
El árbol se construye de arriba hacia abajo, de manera recursiva, de divide y vencerás. Todos los atributos deben ser categóricos. En caso contrario, deberán discretizarse previamente. Los atributos en la parte superior del árbol tienen más impacto en la clasificación y se identifican mediante el concepto de ganancia de información.
Un árbol de decisión puede sobreajustarse fácilmente generando demasiadas ramas y puede reflejar anomalías debido al ruido o valores atípicos. Un modelo sobreajustado da como resultado un rendimiento muy pobre en los datos invisibles, aunque ofrece un rendimiento impresionante en los datos de entrenamiento. Puede evitar esto con la poda previa, que detiene la construcción del árbol temprano, o mediante la poda posterior, que elimina las ramas del árbol completamente desarrollado.
Naive Bayes es un clasificador probabilístico inspirado en el teorema de Bayes bajo el supuesto de que los atributos son condicionalmente independientes.
La clasificación se realiza derivando el máximo posterior, que es el máximo P(Ci|X), aplicándose el supuesto anterior al teorema de Bayes. Esta suposición reduce en gran medida el costo computacional al contar solo la distribución de clases. Aunque la suposición no es válida en la mayoría de los casos, ya que los atributos son dependientes, sorprendentemente el ingenuo Bayes es capaz de desempeñarse de manera impresionante.
Naive Bayes es un algoritmo sencillo de implementar y puede producir buenos resultados en la mayoría de los casos. Se puede escalar fácilmente a conjuntos de datos más grandes, ya que requiere tiempo lineal, en lugar de la costosa aproximación iterativa que utilizan otros tipos de clasificadores.
El ingenuo Bayes puede sufrir un problema llamado problema de probabilidad cero. Cuando la probabilidad condicional es cero para un atributo particular, no proporciona una predicción válida. Esto debe solucionarse explícitamente utilizando un estimador laplaciano.
Una red neuronal artificial es un conjunto de unidades de entrada/salida conectadas, donde cada conexión tiene un peso asociado. Un equipo de psicólogos y neurobiólogos lo fundó como una forma de desarrollar y probar análogos computacionales de neuronas. Durante la fase de aprendizaje, la red aprende ajustando los pesos para poder predecir la etiqueta de clase correcta de las tuplas de entrada.
Hay varias arquitecturas de red disponibles en la actualidad, incluidas redes de avance, convolucionales y recurrentes. La arquitectura apropiada depende de la aplicación del modelo. En la mayoría de los casos, los modelos de retroalimentación dan resultados razonablemente precisos, pero las redes convolucionales funcionan mejor para el procesamiento de imágenes.
Puede haber varias capas ocultas en el modelo dependiendo de la complejidad de la función que el modelo va a asignar. Estas capas ocultas le permitirán modelar relaciones complejas, como redes neuronales profundas.
Sin embargo, cuando hay muchas capas ocultas, se necesita mucho tiempo para entrenar y ajustar las pesas. La otra desventaja de esto es la mala interpretabilidad del modelo en comparación con otros como los árboles de decisión. Esto se debe al significado simbólico desconocido detrás de los pesos aprendidos.
Pero las redes neuronales artificiales han funcionado de manera impresionante en la mayoría de las aplicaciones del mundo real. Tiene una alta tolerancia a los datos ruidosos y es capaz de clasificar patrones no entrenados. Por lo general, las redes neuronales artificiales funcionan mejor con entradas y salidas de valores continuos.
Todos los algoritmos anteriores son aprendices entusiastas, ya que entrenan un modelo con anticipación para generalizar los datos de entrenamiento y usarlos para predicciones posteriores.
K-Nearest Neighbor es un algoritmo de aprendizaje diferido que almacena todas las instancias correspondientes a puntos de datos de entrenamiento en un espacio de n dimensiones. Cuando se reciben datos discretos desconocidos, analiza el número k más cercano de instancias guardadas (vecinos más cercanos) y devuelve la clase más común como predicción. Para datos de valor real, devuelve la media de k vecinos más cercanos.
En el algoritmo del vecino más cercano ponderado por distancia, se pondera la contribución de cada uno de los k vecinos según su distancia mediante la siguiente consulta, dando mayor peso a los vecinos más cercanos:
Por lo general, KNN es robusto a los datos ruidosos ya que promedia los k vecinos más cercanos.
Después de entrenar el modelo, la parte más importante es evaluar el clasificador para verificar su aplicabilidad.
Más sobre aprendizaje automático: ¿Cómo funciona la retropropagación en una red neuronal?
Existen varios métodos para evaluar un clasificador, pero la forma más común es el método de reserva. En él, el conjunto de datos dado se divide en dos particiones, prueba y entrenamiento. El veinte por ciento de los datos se utiliza como prueba y el 80 por ciento se utiliza para entrenar. El conjunto de trenes se utilizará para entrenar el modelo y los datos de prueba invisibles se utilizarán para probar su poder predictivo.
El sobreajuste es un problema común en el aprendizaje automático y ocurre en la mayoría de los modelos. Se puede realizar una validación cruzada K-fold para verificar que el modelo no esté sobreajustado. En este método, el conjunto de datos se divide aleatoriamente en k subconjuntos mutuamente excluyentes, cada uno de ellos aproximadamente del mismo tamaño. Uno se guarda para realizar pruebas mientras que otros se utilizan para entrenamiento. Este proceso se repite a lo largo de todos los k pliegues.
La precisión es la fracción de instancias relevantes entre las instancias recuperadas, mientras que la recuperación es la fracción de instancias relevantes que se han recuperado sobre la cantidad total de instancias relevantes. La precisión y el recuerdo se utilizan como medida de la relevancia.
Una curva ROC proporciona una comparación visual de los modelos de clasificación y muestra el equilibrio entre la tasa de verdaderos positivos y la tasa de falsos positivos.
El área bajo la curva ROC es una medida de la precisión del modelo. Cuando un modelo está más cerca de la diagonal, es menos preciso. Un modelo con perfecta precisión tendrá un área de 1,0.
Ejemplos:Ejemplos: