Tipos de machine learning: tu armamento para el procesamiento de datos

Dialéktico
Compartir

CONTENIDO

Como vimos en la introducción al machine learning, el aprendizaje de máquinas se divide en cinco categorías principales, las cuales vamos a revisar aquí con más detalle, donde hablaremos sobre el objetivo de cada tipo de aprendizaje, su funcionamiento, y algunos ejemplos ilustrativos.

dificultad dialéktico
¿Qué necesitas para esta exploración?
Travel Bag

Tentempié: algún alimento para amenizar la travesía

TM C1 2

Debido a que es un tema en el que no ahondaremos en los conceptos de forma muy técnica, solo es necesario tener presente el contexto sobre qué es el machine learning, y tal vez algún aperitivo.

Tipos de machine learning

Pergamino_3

Primero recordemos los tipos de machine learning, los cuales se diferencian el uno del otro de acuerdo a las características de los datos que pretendemos procesar, a la clase de resultados esperados, y la forma de conducir a estos.

El aprendizaje de máquinas se puede dividir en cuatro divisiones principales:

  • Aprendizaje supervisado (supervised learning).
  • Aprendizaje no supervisado (not supervised learning).
  • Aprendizaje semi-supervisado (semi-supervised learning).
  • Aprendizaje por refuerzo (reinforcement learning).
  • Aprendizaje auto-supervisado (auto-supervised learning).

Echemos un vistazo a cada uno.

Aprendizaje supervisado

Este tipo de machine learning es muy frecuente en la industria e investigación científica actualmente.

El aprendizaje supervisado se define como una forma de aprendizaje automático que consiste en generar modelos matemáticos capaces de hacer estimaciones dado un conjunto de datos etiquetados entre los que se pueden distinguir dos clases: de entrada y de salida.

Las entradas suelen referirse a las «características o atributos» de los objetos que constituyen al conjunto de datos utilizado, mientras que las salidas son el objetivo del algoritmo de aprendizaje supervisado (los valores a predecir), y se suelen denotar como «etiquetas«.

Cuando se dice que un conjunto de datos está etiquetado, se refiere a que se señala qué porción de los datos son las entradas y cuáles son las salidas, y con ello cumplir alguna de las siguientes dos tipos de tareas: regresión y clasificación.

Son varios elementos a considerar, por lo que simplificaremos lo dicho con un par de ejemplos.

Ejemplos de aprendizaje supervisado

A continuación, se ilustra el aprendizaje supervisado mediante ejemplos de tareas de regresión y clasificación:

  • Regresión: las tareas de regresión tratan sobre dotar a un modelo de la capacidad de predecir cantidades específicas que reflejan algo sobre el conjunto de datos. Un ejemplo de esto es entrenar un modelo que realice estimaciones sobre el precio de una computadora de acuerdo a sus características. En este caso, las propiedades de las computadoras (RAM, almacenamiento, entre otras) son las entradas para el modelo, mientras que la salida es el precio, el cual es el objetivo a predecir.
machine learning
Fig. 1.5.1 Un algoritmo que aprende a estimar el precio (salida) de una computadora de acuerdo a sus características (estas serían las entradas en el conjunto de datos) está entregando un resultado numérico.
  • Clasificación: las tareas de clasificación consisten en asignar uan categoría a cada conjunto de entradas. Un ejemplo puede ser el de un modelo entrenado para clasificar tipos de estrellas (donde el tipo de estrella es la salida) con base en sus propiedades físicas (las cuales son las entradas). Se dice, entonces, que dadas las entradas o características de las estrellas, el modelo las clasifica por su tipo.
machine learning
Fig. 1.5.2 Un algoritmo que aprende a clasificar estrellas conforme sus propiedades físicas (las cuales son tus entradas en este ejemplo) está entregando salidas categóricas, en este caso, de qué tipo de estrella se trata.

Con esto queda claro que este tipo de algoritmos se alimentan de datos etiquetados (es decir, señalando cuáles son las entradas y salidas) para satisfacer tareas de regresión o clasificación.

TML M1

En algún punto veremos todo lo relacionado al aprendizaje supervisado en una lección exclusiva, donde ejecutaremos un código de Python y hablaremos sobre sus definiciones matematicas.

Aprendizaje no supervisado

El aprendizaje no supervisado es el hermano misterioso del aprendizaje supervisado, cuya misión, aunque relativamente similar, se separa de manera marcada debido a las características de los datos a procesar y los métodos utilizados para hacerlo.

Su objetivo consiste en generar modelos que identifiquen patrones en conjuntos de datos no etiquetados, es decir, en los que no especificamos salidas. Solemos utilizar este tipo de machine learning para estructurar nuestros datos: resumir o explicar características intrínsecas de forma automática.

TML L1

Exacto, en este caso, utilizamos un algoritmo de aprendizaje para acomodar las piezas, las cuales representarían nuestro conjunto de datos, del que buscamos obtener algún patrón.

La mayoría de los modelos de aprendizaje no supervisado pueden resumirse en los siguientes cuatro tipos:

  • Clustering o agrupamiento: tiene como objetivo acumular el conjunto de datos en grupos de acuerdo con sus similitudes.
  • Reducción de dimensionalidad: tiene como objetivo reducir las dimensiones de los datos, ayudándonos a filtrar y mantener aquellos que sean matemáticamente más relevantes. En este caso, encontramos técnicas como el análisis de componentes principales (PCA), el análisis de componentes independientes o la factorización de matrices no negativas.
  • Detección de valores atípicos: tiene como objetivo encontrar eventos inusuales que distinguen una parte de los datos del resto según determinados criterios.
  • Detección de novedades: se ocupa de los casos en los que se producen cambios en los datos.

En este momento, probablemente estos algoritmos no tengan mucho sentido para ti, pero luego los aprenderás con más detalle. Mientras tanto, veamos un ejemplo de aprendizaje no supervisado explicando cómo funciona un algoritmo de clustering.

Ejemplo de aprendizaje no supervisado

El clustering, agrupamiento, clusterización o análisis de grupos, es un proceso que consiste en agrupar datos similares, es decir, reunir los datos en distintos conglomerados, los cuales se bautizan como grupos o clusters, de manera que las agrupaciones se realicen generando los siguientes resultados:

  • Los datos dentro de un grupo son similares.
  • Los datos de diferentes grupos son diferentes.
TML A3

Así es, la agrupación se puede ilustrar de varias formas.

Para visualizar el objetivo del aprendizaje no supervisado utilizaremos un ejemplo de este tipo, utilizando un algoritmo popular llamado k-medias.

El caso es el siguiente: tenemos un conjunto de datos de 1000 estrellas, de las cuales conocemos tres características:

  • Su distancia a la tierra.
  • Su brillo.
  • Su color.

La meta es agrupar a las estrellas de acuerdo a estas propiedades.

Así es como luciría el gráfico de los puntos que buscamos agrupar, es decir, de las estrellas:

k medias
Fig. 1.5.3 Conjunto de estrellas graficadas respecto a los valores de sus tres características físicas (tres dimensiones).

Una vez que utilizamos nuestro algoritmo de clusterización, el resultado es el siguiente:

k medias
Fig. 1.5.4 Puntos agrupados por el algoritmo: cada color representa a un grupo diferente, en este caso se le solicitó al modelo crear tres conjuntos.

En el mapeo final, se obtienen tres grupos distintos de estrellas acumulados por las semejanzas en sus atributos. De esta forma obtenemos datos etiquetados a partir de información que no teníamos previamente catalogada. Este es un ejemplo de cómo obtenemos estructuras a través de la identificación de patrones en un conjunto de datos mediante aprendizaje no supervisado.

El código de este ejemplo también puede ser consultado y utilizado en el laboratorio, el cual se explicará y desarrollará en futuras expediciones.

Aprendizaje semi-supervisado

El aprendizaje semi-supervisado es un tipo de aprendizaje de máquinas menos común. Se trata de una combinación del aprendizaje supervisado y no supervisado, una especie de fusión que permite abordar ciertas problemáticas particulares.

El aprendizaje semi-supervisado es un tipo de machine learning que consiste en la creación de un modelo de aprendizaje automático que es entrenado con montículos de datos combinados: grandes cantidades de datos no etiquetados y datos etiquetados restantes.

Ejemplo de aprendizaje semi-supervisado

El aprendizaje semi-supervisado es útil principalmente cuando se tienen grandes cantidades de datos no etiquetados, y pocos volúmenes de datos etiquetados. Muchas veces el etiquetado requiere de intervención manual, por lo que se opta por este tipo de modelos para la optimización de tiempos de trabajo.

Un ejemplo de esto es la clasificación del contenido de una página web. En vez de esperar a que un equipo de personas etiqueten las más de 1.8 mil millones de páginas web existentes, los motores de búsqueda como Google utilizan páginas web ya clasificadas, y combinan esta información con todas las demás webs no clasificadas, generando una especie de auto-entrenamiento para obtener un algoritmo de clasificación de contenido a partir de datos etiquetados y no etiquetados.

TML M2

Aprendizaje por refuerzo

El aprendizaje por refuerzo es un método de aprendizaje de máquinas cuyo objetivo es encontrar las acciones adecuadas en una situación determinada que maximizan la probabilidad de obtener una recompensa específica.

Este tipo de algoritmos no reciben ejemplos de resultados (datos etiquetados) como en el aprendizaje supervisado, sino que debe descubrirlos mediante un proceso de prueba y error. A través de esto, la computadora decide qué acción tomar en una situación específica, la cual no sólo afecta a la recompensa inmediata, sino que también tiene un impacto en la recompensa en todos los pasos de tiempo posteriores.

TML D3

Ejemplo de aprendizaje por refuerzo

Tomaremos como ejemplo al histórico AlphaGo, el primer programa informático capaz de derrotar a un jugador de Go humano profesional, el primero en derrotar a un campeón mundial de Go, y posiblemente el jugador de Go más fuerte de la historia (el Go es un juego de mesa de origen chino más complejo que el ajedrez).

TML M3
TML D2

¿Cómo se logró esto?, utilizando técnicas de aprendizaje por refuerzo. AlphaGo aprendió jugando contra sí mismo miles de veces, aprendiendo de cada error cometido.

go tml
Fig. 4 En el aprendizaje por refuerzo, un algoritmo mejora en la búsqueda de una recompensa por un método de prueba y error. En AlphaGo, la computadora jugó contra sí misma para perfeccionar sus habilidades.

En este caso, la computadora debió aprender a tomar una posición del tablero de entrada, y producir una jugada fuerte como salida. La recompensa es la victoria, y a pesar de no obtenerse después de un movimiento, esta es considerada a largo plazo, por lo que el algoritmo busca realizar el mejor movimiento en cada turno para volverse en ganador de la partida.

AlphaGo hizo historia venciendo al campeón mundial de Go utilizando una técnica novedosa de aprendizaje reforzado. Este hecho se recogió en un excelente documental que durante algún tiempo fue exhibido en Netflix. Aquí abajo te dejaré la URL al video, aunque está en inglés y eres libre de buscarlo subtitulado al español:

TML K1

Denle una oportunidad, verán que está entretenido 👀

Contesta las siguientes preguntas

1 / 4

¿Cuál es la diferencia entre aprendizaje supervisado y no supervisado?

2 / 4

Un algoritmo que agrupa clientes de una tienda de acuerdo con sus características, y donde los datos de los clientes tienen atributos pero no se han especificado etiquetas de salidas, es un algoritmo de aprendizaje supervisado.

3 / 4

Un algoritmo de machine learning que hace estimaciones de precios de casas, donde se tienen los datos etiquetados por entradas y salidas, es un algoritmo de aprendizaje supervisado.

4 / 4

¿Cuál de los siguientes es el tipo de aprendizaje automático más adecuado para crear un programa capaz de jugar ajedrez?

Tu puntación es

La puntuación media es 88%

0%

Aprendizaje auto-supervisado

Finalmente, pero no menos importante, está el aprendizaje auto-supervisado, el cual es una técnica relativamente nueva y en rápida evolución dentro del campo del machine learning. El aprendizaje auto-supervisado un tipo de machine learning que consiste en modelos que aprenden mediante algoritmos que generan sus propias etiquetas a partir de datos no etiquetados, tomando como punto de partida la definición y ejecución de una tarea de pretexto. La tarea de pretexto es una actividad inicial a ejecutar, diseñada para que el modelo aprenda características útiles de los datos, para posteriormente realizar tareas más específicas.

Ejemplo de aprendizaje auto-supervisado

Para comprender cómo operan este tipo de algoritmos, abordemos un ejemplo dado en el ámbito de la visión por computadora (procesamiento de imágenes). En este caso, se plantea la siguiente tarea de pretexto: rotación de imágenes. Esta servirá para enseñar a un modelo a entender y procesar imágenes de una manera que sea útil para otro tipo de tareas, como la clasificación de imágenes o detección de objetos.

Veámoslo paso a paso:

Paso 1: Tarea de Pretexto

  • Primero se define la tarea de pretexto, la cual es la rotación de imágenes. Después, se procede a tomar un conjunto de imágenes no etiquetadas para alimentar al modelo. Para llevar a cabo la tarea de pretexto, cada imagen se rota en ángulos predeterminados (por ejemplo, 0°, 90°, 180°, y 270°), y a cada versión rotada de las imágenes la máquina le asigna una etiqueta que corresponde al ángulo de rotación aplicado.

Paso 2: Entrenamiento del Modelo

  • Una vez que se tienen las imágenes auto-etiquetadas, se utiliza un modelo de aprendizaje supervisado como una red neuronal convolucional para procesar las imágenes y aprender a predecir el ángulo de rotación de una imagen dada.

Paso 3: Transferencia del Aprendizaje

  • Una vez que el modelo es capaz de predecir con precisión el ángulo de rotación de ciertas imágenes, se puede «partir» la red neuronal para tomar solo una porción de esta que se pueda utilizar como un extractor de características para nuevas tareas. Si no estás familiarizado con las redes neuronales, debes entender que uno de estos algoritmos está compuesto por varias capas de procesamiento, por lo que podemos concebir que la red en su conjunto ha aprendido a determinar ángulos de imágenes, pero las primeras capas se encargan apenas de extraer algunas características de las imágenes para llevar a acabo su tarea. Esta parte de la red se puede utilizar para entrenar un nuevo modelo en una tarea supervisada específica, como la clasificación de imágenes.

De esta forma el modelo puede aprender a reconocer características destacables en las imágenes a través de la ejecución de su primer tarea de pretexto: la de rotación. Al necesitar distinguir entre diferentes ángulos de rotación, el modelo debe prestar atención a los detalles visuales y estructurales de las imágenes, como bordes, formas, texturas, entre otros patrones generales. Esta capacidad para discernir y entender los componentes visuales puede ser aprovechada para ejecutar diversas tareas de análisis de imágenes que dependen de la capacidad de identificar y clasificar visualmente objetos y sus características distintivas.

TML M4

Esto es todo cuanto los tipos de aprendizaje de máquinas, recuerda que lo entenderás mucho mejor conforme a avancemos en el curso.

siguiente

DEJA TUS DUDAS O COMENTARIOS

Suscríbete
Notíficame de
guest

0 Comentarios
Más viejo
Más nuevo Más votado
Respuestas entre líneas
Ver todos los comentarios
0
¿Dudas, sugerencias, o comentarios? Deja un mensaje.x