Skip to main content
Aprendizaje Supervisado

Machine Learning: Ejemplos de Aprendizaje Supervisado

El aprendizaje supervisado en el Machine Learning se utiliza cuando queremos hacer predicciones de ciertos resultados dadas ciertas entradas. Esto se puede considerar como tener pares de input/outputs, datos que se utilizarán para entrenar a nuestro modelo.

La idea es que con este tipo de entrenamiento podamos hacer predicciones al mostrarle nueva información, eso nos indicará que se ha logrado generalizar.

En pocas palabras, el aprendizaje supervisado exige tener un set de data con el cuál se entrena a un modelo y esta información ya cuenta con las soluciones deseadas (labels), a partir de esto, queremos que ante nueva data pueda predecir de manera correcta.

Existen dos principales tipos de problemas para los cuales se puede utilizar el aprendizaje supervisado, problemas de clasificación o problemas de regresión y para estos, tenemos distintos tipos de modelos que pueden ser implementados a través de algoritmos, que, dependiendo el contexto, seleccionamos el que mejor convenga.

Machine Learning

Algunos de los tipos de modelos son los siguientes:

  • K-NN (Nearest Neighbors)

Este tipo de modelo nos ayuda a clasificar información, por ejemplo los filtros de Spam que representan un problema binario, ya que nos enfrentamos a una situación tipo “Si/No”.

El Set de Iris es uno de los ejemplos más famosos de clasificación multiclase. El modelo aprende al ser expuesto a un set de 150 simples con labels para cada género de planta, los clasifica en clusters. Se define un K, en este caso, puede ser 3 y para cada punto nuevo busca los 3 vecinos más cercanos, cosa que puede significar que pertenece más a una clase que a otra.

En la siguiente gráfica, queremos clasificar al punto verde, si k equivale a 3 podemos ver que está rodeado de más puntos grises que naranjas por lo que podríamos clasificar esa nueva entrada como virgínica.

Image removed.

  • Regresión Linear

Las regresiones lineales nos ayudan a predecir objetivos numéricos, pueden ser precios de un carro dadas ciertas características (features), los cuales llamaremos predictores.

Las regresiones pueden ser de dos variables o variables múltiples, en el caso de las dos variables, nuestro modelo sería linear. Pensemos en que queremos medir la felicidad de los países con base al PIB per cápita. Podemos utilizar información como “satisfacción per cápita” de un país y su PIB per cápita para que a partir de esto se construya un modelo simple que será linear.

Image removed.

Para esto, utilizamos una función tipo y = mx + b que también puede ser h(theta) = theta(0) + theta(1)X donde los valores Theta son los parámetros que modificamos para ajustar nuestro modelo, para ello utilizamos el Método de mínimos cuadrados y Descenso del Gradiente.

Es necesario considerar que puede suceder que el modelo sea extremadamente simple y no generalice correctamente cuando la data nos es representativa de todas las situaciones.

Image removed.

Por ello, es muy importante considerar que este modelo funciona bien para cuestiones menos complejas y preferentemente de dos variables.

También existen modelos polinomiales que se adaptan mejor a la data cuando es compleja, sin embargo, esto es un modelo del que no hablaré aquí.

  • Regresión Logística (Probabilístico)

Las regresiones logísticas también pueden ser modelos lineales, la diferencia es que nos permiten hacer clasificaciones ya que podemos obtener predicciones probabilísticas para cada clase.

Por ejemplo, “x” tipo de balance en una tarjeta de crédito tiene un x% de ser pagada o y% de no ser pagada. También podríamos considerar el ejemplo del Spam don “x” correo tiene un 50% de ser Spam o no.

Image removed.

  • Support Vector Machines (SVM)

Este tipo de modelos nos ayudan a realizar clasificaciones lineares, no lineares, de regresión y detección de outliers (datos aislados).

La idea detrás de estos modelos es que consideran un “vector de soporte” (vector siendo una línea con magnitud y dirección) en la data (mejor explicado en una gráfica) con la cual genera límites de decisión, estos límites de decisión nos permiten clasificar mejor y detectar outliers. (véase lo cuadrados rojos como outliers)

Image removed.

  • Árboles de Decisión

Los árboles de decisión son modelos que permiten tomar decisiones con base a valores límites, por ejemplo, si cierto valor es menor o igual a "n" (en caso de ser número) o si "x" valor coincide con un valor nominal, entonces se toma "y" decisión, si no cumple con las características del threshold que el modelo establece, entonces debe de establecer otro valor que permita tener un nuevo punto de decisión.

El set de iris también puede ser clasificado de esta manera utilizando el J48.

Image removed.

  • Random Forest

Estos modelos utilizan como base, árboles de decisión, que como ya sabemos, pude hacer regresiones o clasificar.

Estos modelos generan una serie de árboles de decisión donde se divide el set original de datos de entrenamiento de manera aleatoria en subconjuntos de igual tamaño por eso random forest. También las features que se seleccionan son aleatorias.

Cada subconjunto es utilizado para entrenar un árbol de decisión, esto produce diferentes resultados donde cada árbol realiza una tarea de regresión o clasificación con el objetivo de predecir.

En el caso de las regresiones, se descienden (minimizar el error) todos los árboles de decisión y se hace un promedio de todas las regresiones, es decir, se utiliza la media de los resultados de los árboles para poder hacer predicciones.

Para las clasificaciones, también se descienden los resultados, pero en esta ocasión se hace un voto mayoritario para las clasificaciones

Image removed.

Algunos de los usos de estos modelos aplican a los bancos, para ayudarles a clasificar clientes que pagan y son leales, así como aquellos que quieren hacer fraude o no pagan.

Otro ejemplo de uso fue para el Microsoft Kinect, utilizándolo para detectar y clasificar partes del cuerpo humano y sus movimientos.

Fuentes:

Geron, A. (2020). Aprende Machine Learning con Scikit-Learn, Keras y Tensorflow: Conceptos, herramientas y técnicas para conseguir sistemas digitales. Madrid, MD: Anaya Multimedia.

Müller, Andreas C.; Guido, Sarah. Introduction to Machine Learning with Python (p. 27). O'Reilly Media. Edición de Kindle.