Machine Learning (Aprendizaje Autónomo).
Créditos de imagen a: https://revistabyte.es/actualidad-it/machine-learning-3/
El Machine learning (aprendizaje de máquina, autónomo o automático) es el campo de estudio que brinda a las computadoras la habilidad de aprender sin ser explícitamente programada (Arthur Samuel, 1959).
Los sistemas de machine learning aprenden cómo combinar entradas para producir predicciones útiles sobre datos nunca antes vistos [3].
Un programa computacional se dice que aprende de la experiencia E con relación a alguna tarea T y alguna medida del desempeño P, si su desempeño en T como medida por P mejora con la experiencia (Tom Mitchell, 1998).
Ejemplo: Jugar damas.
E - Experiencia de varios juegos de damas.
T - Tarea de jugar damas.
P - Probabilidad de que el programa gane el siguiente juego.
Tipos de Machine Learning.
En general, cualquier problema de aprendizaje automático se puede asignar a una de dos clasificaciones generales [1]:
- Aprendizaje Supervisado
- Aprendizaje No supervisado
- Aprendizaje Reforzado
Aprendizaje Supervisado.
En el Supervised Learning, se tiene un conjunto de datos y conocemos de ante mano cómo debe ser la salida correcta, asumiendo la idea de que existe una relación entre la entrada y la salida [1].
La salida correcta o etiqueta es conocida, la etiqueta es aplicada por una persona o un dispositivo lo genera [2].
Los problemas de aprendizaje supervisado se clasifican en:
- Regresión.
- Clasificación
En un problema de regresión, se busca predecir los resultados dentro de una salida continua, lo que implica que estamos asignando variables de entrada a alguna función continua [1]. Los modelos de regresión hacen predicciones que responden a preguntas como las siguientes [3]:
- ¿Cuál es el valor de una casa en California?
Dados los datos sobre el tamaño de las casas en el mercado inmobiliario, tratar de predecir su precio. El precio en función del tamaño es una salida continua, por lo que se trata de un problema de regresión [1].
Podríamos convertir este ejemplo en un problema de clasificación haciendo en su lugar nuestra producción sobre si la casa "vende por más o menos que el precio de venta". Aquí estamos clasificando las casas en función del precio en dos categorías discretas [1].
- Dada la altura de una persona, tenemos que predecir su peso.
- ¿Cuál es la probabilidad de que un usuario haga clic en este anuncio? [3].
En un problema de clasificación, se busca predecir los resultados en una salida discreta. Lo que implica que estamos tratando de asignar variables de entrada en categorías discretas [1]. Los modelos de clasificación hacen predicciones que responden a preguntas como las siguientes [3].:
- ¿Un mensaje de correo electrónico determinado es spam o no es spam?
- ¿Esta imagen es de un perro, un gato o un hámster?
Figura 1. Flujo de Trabajo en un Algoritmo de Aprendizaje Supervisado [2]
Aprendizaje no supervisado.
El Unsupervised Learning aborda problemas con poca o ninguna idea de cómo deberían ser nuestros resultados. Podemos derivar la estructura de los datos donde no necesariamente conocemos el efecto de las variables [1].
Podemos derivar esta estructura agrupando los datos en función de las relaciones entre las variables de los datos [1].
Encuentra los patrones previamente desconocidos en los datos sin etiqueta o guía [2].
La respuesta correcta es desconocida por lo que no existe entrenamiento, prueba o validación [2].
Figura 2. Flujo de Trabajo en un Algoritmo de Aprendizaje No supervizado [2]
Ejemplos:
- Clustering: Toma una colección de 1.000.000 de genes diferentes y encuentra una manera de agrupar automáticamente estos genes en grupos que son de alguna manera similares o relacionados por diferentes variables, como la vida útil, la ubicación, los roles, etc [1].
- Visión por Computadora [8].
- Transformar una figura 2D a visualización 3D [8].
- Organizar Clusters de Computadoras [8].
- Análisis de redes sociales [8].
- Segmentación de Mercado [8].
- Análisis de datos Astronómicos [8].
- Procesamiento de texto [8].
Una forma de aprendizaje no supervisado es el Self-Supervised Learning o aprendizaje Autosupervizado, donde los datos proporcionan la supervisión. Su utilidad es que permite aprender de algunos ejemplos etiquetados mientras hace un mejor uso de una gran cantidad de datos sin etiquetar [4]. El aprendizaje auto supervisado tiene como objetivo aprender representaciones de los datos en sí sin supervisión manual explícita [5]. La autosupervisión proporciona representaciones efectivas para las tareas posteriores sin requerir etiquetas [6]
Figura 3. Resumen de cómo se pueden construir las tareas de aprendizaje auto-supervisadas (Fuente de la imagen: charla de LeCun)
Créditos de Imagen: LeCun.
Las razones por las que su uso es beneficioso se debe a [7]:
- Gastos de producir un nuevo conjunto de datos para cada nueva tarea.
- Algunas áreas carecen de supervisión, p. Ej. datos médicos, donde es difícil obtener anotaciones.
Ejemplos:
Disponibilidad sin explotar de una gran cantidad de imágenes / videos sin etiquetar [7]:
- Facebook: mil millones de imágenes subidas por día
- Se cargan 300 horas de video en YouTube cada minuto.
Referencias
[1.] Machine Learning, Stanford by Coursera
[2.] Supply Chain Technology and Systems – MITx, edX
[3] Aprendizaje Automático, Google Developer
[