¿Recuerda el teorema del no almuerzo gratis? No, no se trata de comida (todavía). Pero si tiene hambre, tome un tentempié antes de leer este post – no quiero que se le caiga la baba por todo el teclado.

Le recordaré – ningún algoritmo es óptimo sobre el conjunto de todas las situaciones posibles. Los algoritmos de aprendizaje automático son instrumentos delicados que se afinan en función del conjunto de problemas, especialmente en el aprendizaje automático supervisado.

Hoy veremos cómo funcionan los algoritmos de clasificación más populares y que nos ayudan, por ejemplo, a escoger y clasificar unos maravillosos y jugosos tomates.

Cómo funciona la clasificación

Cada día predecimos si una cosa puede ser referida a una clase concreta. Por poner un ejemplo, la clasificación nos ayuda a tomar decisiones a la hora de elegir tomates en un supermercado («verdes», «perfectos», «podridos»). En términos de aprendizaje automático, asignamos una etiqueta de una de las clases a cada tomate que tenemos en nuestras manos.

La eficiencia de su concurso de recogida de tomates (algunos lo llamarían modelo de clasificación) depende de la precisión de sus resultados. Cuanto más a menudo vaya usted mismo al supermercado (en lugar de enviar a sus padres o a su pareja), mejor será su capacidad para elegir tomates frescos y deliciosos.

¡Los ordenadores son iguales! Para que un modelo de clasificación aprenda a predecir resultados con precisión, necesita muchos ejemplos de entrenamiento.

4 tipos de clasificación

4 tipos de tareas de clasificación en el aprendizaje automático

Clasificación binaria

La clasificación binaria significa que hay dos clases con las que trabajar que se relacionan entre sí como verdadero y falso. Imagínate que tienes delante una enorme caja de lugres con tomates amarillos y rojos. Pero, su elegante receta de pasta italiana dice que sólo necesita los rojos.

¿Qué hace? Evidentemente, utilizar la codificación de etiquetas y, en este caso, asignar 1 a «rojo» y 0 a «no rojo». Clasificar los tomates nunca ha sido tan fácil.

Clasificación binaria

Multiclase

¿Qué ves en esta foto?

Tomates

Tomates beefsteak rojos. Tomates cherry. Tomates de cóctel. Tomates Heirloom.

Aquí no hay blanco y negro, «normal» y «anormal» como en la clasificación binaria. Damos la bienvenida a todo tipo de maravillosas hortalizas (o bayas) a nuestra mesa.

Lo que probablemente no sepas si no eres un fanático de la cocina con tomates es que no todos los tomates son igual de buenos para el mismo plato. Los tomates rojos beefsteak son perfectos para la salsa pero no se encurten. Los tomates cherry funcionan para las ensaladas pero no para la pasta. Así que es importante saber con qué se está tratando.

La clasificación multiclase nos ayuda a ordenar todos los tomates de la caja independientemente de cuántas clases haya.

Clasificación multiclase

Clasificación multietiqueta

La clasificación multietiqueta se aplica cuando una entrada puede pertenecer a más de una clase, como una persona que es ciudadana de dos países.

Para trabajar con este tipo de clasificación, es necesario construir un modelo que pueda predecir múltiples salidas.

Se necesita una clasificación multietiqueta para el reconocimiento de objetos en fotos. Por ejemplo, cuando se necesita identificar no sólo los tomates, sino también otros tipos diferentes de objetos en la misma imagen: manzanas, calabacines, cebollas, etc.

Nota importante para todos los amantes del tomate: No se puede simplemente tomar un algoritmo de clasificación binaria o multiclase y aplicarlo directamente a la clasificación multietiqueta. Pero puede utilizar:

Clasificación multietiqueta

También puede intentar utilizar un algoritmo independiente para cada clase con el fin de predecir las etiquetas de cada categoría.

Equilibrado

Trabajamos con la clasificación desequilibrada cuando los ejemplos de cada clase están distribuidos de forma desigual.

La clasificación desequilibrada se utiliza para el software de detección de fraudes y el diagnóstico médico. Encontrar tomates raros y exquisitos cultivados biológicamente que se derraman accidentalmente en una gran pila de tomates del supermercado es un ejemplo de clasificación desequilibrada ofrecido por Gints, nuestro impresionante editor (si tienes otros ejemplos, tuitéanoslos).

Clasificación desequilibrada

Te recomiendo que visites el fantástico blog de Machine Learning Mastery donde podrás leer sobre los diferentes tipos de clasificación y estudiar muchos más materiales de aprendizaje automático.

Pasos para construir un modelo de clasificación

Una vez que sepas qué tipo de tarea de clasificación tienes entre manos, es el momento de construir un modelo.

  1. Selecciona el clasificador. Tienes que elegir uno de los algoritmos de ML que aplicarás a tus datos.
  2. Entrénalo. Tienes que preparar un conjunto de datos de entrenamiento con resultados etiquetados (cuantos más ejemplos, mejor).
  3. Predice la salida. Utilice el modelo para obtener algunos resultados.
  4. Evaluar el modelo clasificador. Es una buena idea preparar un conjunto de validación de datos que no has utilizado en el entrenamiento para comprobar los resultados.

Veamos ahora los algoritmos de clasificación más utilizados.

Los algoritmos de clasificación más populares

algoritmos de clasificación comunes

Scikit-Learn es una de las principales bibliotecas de ML para Python. Así que si quieres construir tu modelo, échale un vistazo. Proporciona acceso a clasificadores ampliamente utilizados.

Regresión Logística

La regresión logística se utiliza para la clasificación binaria.

Este algoritmo emplea una función logística para modelar la probabilidad de que ocurra un resultado. Es más útil cuando se quiere entender cómo varias variables independientes afectan a una única variable de resultado.

Pregunta de ejemplo: ¿Los niveles de precipitación y la composición del suelo conducirán a la prosperidad de los tomates o a su muerte prematura?

La regresión logística tiene limitaciones; todos los predictores deben ser independientes y no debe haber valores perdidos. Este algoritmo fallará cuando no haya una separación lineal de los valores.

Naive Bayes

El algoritmo Naive Bayes se basa en el teorema de Bayes. Puede aplicar este algoritmo para la clasificación binaria y multiclase y clasificar los datos basándose en los resultados históricos.

Tarea de ejemplo: necesito separar los tomates podridos de los frescos basándome en su aspecto.

Las ventajas de Naive Bayes son que estos algoritmos son rápidos de construir: no requieren un conjunto de entrenamiento extenso y también son rápidos en comparación con otros métodos. Sin embargo, como el rendimiento de los algoritmos bayesianos depende de la exactitud de sus fuertes suposiciones, los resultados pueden resultar potencialmente muy malos.

Usando el teorema de Bayes, es posible decir cómo la ocurrencia de un evento impacta en la probabilidad de otro evento.

k-Nearest Neighbors

kNN significa «k-nearest neighbor» y es uno de los algoritmos de clasificación más sencillos.

El algoritmo asigna los objetos a la clase a la que pertenecen la mayoría de sus vecinos más cercanos en el espacio de características multidimensional. El número k es el número de objetos vecinos en el espacio de características que se comparan con el objeto clasificado.

Ejemplo: Quiero predecir la especie del tomate a partir de las especies de tomates similares a él.

Para clasificar las entradas utilizando k-vecinos más cercanos, es necesario realizar un conjunto de acciones:

  • Calcular la distancia a cada uno de los objetos de la muestra de entrenamiento;
  • Seleccionar k objetos de la muestra de entrenamiento, cuya distancia sea mínima;
  • La clase del objeto a clasificar es la clase que aparece con mayor frecuencia entre los k-vecinos más cercanos.

Árbol de decisión

Los árboles de decisión son probablemente la forma más intuitiva de visualizar un proceso de toma de decisiones. Para predecir una etiqueta de clase de entrada, empezamos por la raíz del árbol. Hay que dividir el espacio de posibilidades en subconjuntos más pequeños basándose en una regla de decisión que se tiene para cada nodo.

Aquí hay un ejemplo:

ejemplo de árbol de decisión

Se sigue dividiendo el espacio de posibilidades hasta llegar a la parte inferior del árbol. Cada nodo de decisión tiene dos o más ramas. Las hojas del modelo anterior contienen la decisión sobre si una persona es o no apta.

Ejemplo: Usted tiene una cesta de diferentes tomates y quiere elegir el correcto para mejorar su plato.

Tipos de árboles de decisión

Hay dos tipos de árboles. Se basan en la naturaleza de la variable objetivo:

  • Árbol de decisión de variable categórica.
  • Árbol de decisión de variable continua.

Por tanto, los árboles de decisión funcionan bastante bien tanto con datos numéricos como categóricos. Otra ventaja de utilizar árboles de decisión es que requieren poca preparación de los datos.

Sin embargo, los árboles de decisión pueden llegar a ser demasiado complicados, lo que conduce a un exceso de ajuste. Una desventaja importante de estos algoritmos es que pequeñas variaciones en los datos de entrenamiento los hacen inestables y dan lugar a árboles completamente nuevos.

Bosque aleatorio

Los clasificadores de bosque aleatorio utilizan varios árboles de decisión diferentes en varias submuestras de conjuntos de datos. El resultado medio se toma como predicción del modelo, lo que mejora la precisión predictiva del modelo en general y combate el sobreajuste.

En consecuencia, los bosques aleatorios pueden utilizarse para resolver problemas complejos de aprendizaje automático sin comprometer la precisión de los resultados. No obstante, exigen más tiempo para formar una predicción y son más difíciles de implementar.

Lea más sobre cómo funcionan los bosques aleatorios en el blog Towards Data Science.

Máquina de vectores de soporte

Las máquinas de vectores de soporte utilizan un hiperplano en un espacio de N dimensiones para clasificar los puntos de datos. N es el número de características. Puede ser, básicamente, cualquier número, pero cuanto mayor sea, más difícil será construir un modelo.

Uno puede imaginar el hiperplano como una línea (para un espacio de 2 dimensiones). Una vez que se pasa del espacio tridimensional, se nos hace difícil visualizar el modelo.

Los puntos de datos que caen en diferentes lados del hiperplano se atribuyen a diferentes clases.

Ejemplo: Un sistema automático que clasifica los tomates en función de su forma, peso y color.

El hiperplano que elegimos afecta directamente a la precisión de los resultados. Así, buscamos el plano que tenga la máxima distancia entre los puntos de datos de ambas clases.

Los SVM muestran resultados precisos con una potencia de cálculo mínima cuando se tienen muchas características.

Resumiendo

Como ves, el aprendizaje automático puede ser tan sencillo como recoger verduras en la tienda. Pero hay muchos detalles a tener en cuenta si no quieres meter la pata. Permanece atento a nuestro blog, Twitter y Medium para ver más lecturas interesantes sobre el aprendizaje automático.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.