13  Aprendizaje automático

El aprendizaje automático, (machine learning), es un área de la inteligencia artificial que se centra en el desarrollo de algoritmos que permiten a las computadoras aprender a realizar tareas específicas a partir de datos, sin ser programadas explícitamente para ello (Samuel 1959). Este campo se basa en la idea de que los sistemas pueden identificar patrones, tomar decisiones y mejorar su rendimiento mediante la experiencia, es decir, a través de la interacción con los conjuntos de datos. El aprendizaje automático se divide en tres categorías principales: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por refuerzo; los cuales se retoman adelante.

Dentro del aprendizaje automático, el aprendizaje profundo (deep learning) ha adquirido una gran relevancia en los últimos años debido a su capacidad para resolver problemas complejos en áreas como la visión por computadora, el procesamiento del lenguaje natural y la reconocimiento de voz, entre otros. El aprendizaje profundo se caracteriza por el uso de redes neuronales artificiales con múltiples capas, conocidas como redes neuronales profundas. Estas redes fueron inspiradas en la estructura y funcionamiento del cerebro humano, donde cada capa de neuronas artificiales procesa y transforma los datos de entrada para extraer características cada vez más abstractas y significativas. A medida que los datos pasan a través de las capas, el modelo representa la información de manera jerárquica, lo que le permite capturar relaciones complejas entre conceptos.

El aprendizaje profundo se distingue del aprendizaje automático tradicional por su capacidad para mejorar su rendimiento conforme se tienen más ejemplos. Sin embargo, también presenta desafíos, como la necesidad de grandes cantidades de datos para el entrenamiento y un considerable poder computacional. A pesar de estos retos, el aprendizaje profundo ha demostrado ser una herramienta poderosa y versátil, impulsando avances significativos en diversas disciplinas y consolidándose como un pilar fundamental dentro del ámbito del aprendizaje automático y la inteligencia artificial en general.

13.1 Tareas a resolver

El aprendizaje automático puede resulver una amplia variedad de tareas con aplicaciones en diversos dominios. A continuación, se describen las principales: regresión, clasificación, agrupamiento, reducción de dimensionalidad y modelado generativo.

13.1.1 Regresión

La regresión es una tarea de aprendizaje supervisado en la que el objetivo es predecir un valor continuo a partir de un conjunto de variables de entrada. En esencia, se busca modelar la relación entre una o más variables independientes (características) y una variable dependiente (objetivo).

$$

Y = (X)$$

tal que, \(\Phi:\mathbb{R}^n \rightarrow \mathbb{R}^m\).

Por ejemplo, en el ámbito de la economía, la regresión puede utilizarse para predecir el precio de una vivienda en función de características como su ubicación y cantidad de metros cuadrados.

Los algoritmos comunes para regresión incluyen la regresión lineal, la regresión polinómica y los árboles de decisión. La calidad del modelo se evalúa típicamente mediante métricas como el error cuadrático medio (MSE) o el coeficiente de determinación (\(R^2\)).

13.1.2 Clasificación

La clasificación es otra tarea de aprendizaje supervisado, pero a diferencia de la regresión, el objetivo es predecir una etiqueta o categoría discreta. En este caso, el modelo aprende a asignar una clase específica a cada instancia de datos basándose en sus características.

$$

y = (X)$$

tal que \(\Psi:\mathbb{R}^n \rightarrow \{ l_1 \dots l_n \}\).

Por ejemplo, en el diagnóstico médico, un modelo de clasificación podría predecir si un paciente tiene una enfermedad específica o no en función de síntomas y resultados de pruebas. Los algoritmos de clasificación más utilizados incluyen la regresión logística, las máquinas de vectores de soporte (SVM), los árboles de decisión y las redes neuronales. La precisión, la precisión, el recuerdo y la puntuación F1 son métricas comunes para evaluar el rendimiento de los modelos de clasificación.

13.1.3 Agrupamiento

El agrupamiento es una tarea de aprendizaje no supervisado que consiste en dividir un conjunto de datos en grupos o clusters, de tal manera que los elementos dentro de un mismo grupo sean similares entre sí, pero diferentes de los elementos en otros grupos. A diferencia de la clasificación, en el agrupamiento no se dispone de etiquetas predefinidas, por lo que el modelo debe inferir la estructura de los datos por sí mismo. Un ejemplo común es la segmentación de clientes en grupos con comportamientos de compra similares para personalizar estrategias de marketing. Los algoritmos de agrupamiento más conocidos incluyen K-means, DBSCAN y el clustering jerárquico. La evaluación del agrupamiento puede realizarse mediante métricas como el coeficiente de silueta o el índice de Davies-Bouldin.

13.1.4 Reducción de dimensionalidad

La reducción de dimensionalidad es una técnica utilizada para reducir el número de variables o características en un conjunto de datos, conservando la información más relevante. Esta tarea es especialmente útil cuando se trabaja con datos de alta dimensionalidad, ya que puede mejorar la eficiencia de los algoritmos, reducir el ruido y facilitar la visualización de los datos. Por ejemplo, en el análisis de imágenes, la reducción de dimensionalidad puede utilizarse para extraer características clave de una imagen sin perder información esencial. Las técnicas más comunes incluyen el análisis de componentes principales (PCA), la descomposición en valores singulares (SVD) y t-SNE (t-Distributed Stochastic Neighbor Embedding).

13.1.5 Modelado generativo

El modelado generativo es una tarea que consiste en aprender la distribución subyacente de un conjunto de datos para generar nuevas instancias que sean similares a los datos originales. A diferencia de las tareas anteriores, que se centran en la predicción o la organización de datos, el modelado generativo tiene como objetivo crear datos nuevos y plausibles. Por ejemplo, en el ámbito del arte digital, los modelos generativos pueden utilizarse para crear imágenes, música o texto que imiten el estilo de un artista específico. Los enfoques más destacados en esta área incluyen las redes generativas adversarias (GANs) y los modelos autoregresivos, como GPT (Generative Pre-trained Transformer). Estas técnicas han revolucionado campos como la generación de contenido, el diseño asistido por computadora y la síntesis de medios.

13.2 Tipos de aprendizaje

El aprendizaje automático se divide en tres categorías principales según la naturaleza de los datos y el enfoque utilizado para entrenar los modelos: aprendizaje supervisado, aprendizaje no supervisado y aprendizaje por refuerzo. Cada uno de estos tipos de aprendizaje tiene características distintivas, objetivos específicos y aplicaciones particulares, lo que los hace adecuados para diferentes tipos de problemas.

13.2.1 Aprendizaje supervisado

El aprendizaje supervisado es un paradigma en el que el modelo se entrena utilizando un conjunto de datos etiquetados, es decir, datos que incluyen tanto las entradas (características) como las salidas deseadas (etiquetas). El objetivo principal es aprender una función que mapee las entradas a las salidas de manera precisa, de tal forma que el modelo pueda generalizar y realizar predicciones sobre datos nuevos y no vistos previamente. Durante el entrenamiento, el algoritmo ajusta sus parámetros o incrementa su base de conocimiento para minimizar una función de pérdida, que mide la discrepancia entre las predicciones del modelo y las etiquetas reales.

El aprendizaje supervisado puede resolver los problemas de clasificación y y regresión. Por ejemplo en la clasificación: determinar si un correo electrónico es spam o no spam. En la regresión, podríamos estimar el valor de una casa a partir de los metros cuadrados que tiene.

13.2.2 Aprendizaje no supervisado

El aprendizaje no supervisado, por otro lado, se utiliza cuando los datos disponibles no están etiquetados, es decir, solo se dispone de las entradas sin información sobre las salidas deseadas. El objetivo en este caso es descubrir estructuras, patrones o relaciones subyacentes en los datos. A diferencia del aprendizaje supervisado, no existe una guía explícita en forma de etiquetas, por lo que el modelo debe inferir la organización de los datos por sí mismo.

Las técnicas de aprendizaje no supervisado pueden resolver la agrupación (clustering) y la reducción de dimensionalidad. Por ejemplo, la segmentación de clientes en grupos con comportamientos similares, o la compresión de información, respectivamente.

13.2.3 Aprendizaje por refuerzo

El aprendizaje por refuerzo es un paradigma en el que un agente interactúa con un entorno dinámico y aprende a tomar decisiones que maximizan una recompensa acumulativa a lo largo del tiempo. A diferencia del aprendizaje supervisado y no supervisado, el aprendizaje por refuerzo no depende de un conjunto de datos estático, sino que el agente aprende mediante la experiencia adquirida a través de la interacción continua con el entorno. En cada paso, el agente observa el estado actual del entorno, toma una acción y recibe una recompensa o penalización como retroalimentación. El objetivo del agente es aprender una política óptima que le permita maximizar la recompensa total a largo plazo.

El aprendizaje por refuerzo se basa en conceptos como los procesos de decisión de Markov y utiliza algoritmos como Q-learning o policy gradient para aprender la política adecuada. Este tipo de aprendizaje es especialmente útil en problemas donde las decisiones deben tomarse en secuencia y donde las acciones tienen consecuencias a largo plazo. Aplicaciones típicas incluyen el control de robots, la gestión de recursos en sistemas complejos y el desarrollo de agentes inteligentes para juegos, como el famoso caso de AlphaGo, que logró superar a campeones mundiales en el juego de Go.

13.3 Evaluación de modelos

La evaluación de un modelo de aprendizaje es necesaria para verificar que tan bien funcionará en producción con valores que no han sido utilizados durante el entrenamiento.

13.3.1 Matriz de confusión

La matriz de confusión es una tabla que permite visualizar el desempeño de un algoritmo de clasificación, mostrando las predicciones realizadas por el modelo frente a los valores reales de la clase objetivo. La matriz de confusión organiza esta información en una estructura de cuadrícula, donde cada fila representa las instancias de una clase real y cada columna representa las instancias predichas por el modelo. Para un problema de clasificación binaria, la matriz de confusión tiene la estructura mostrada en la tabla 1.


  VP   FN
  FP   VN

: Estructura de la matriz de confusión para un problema de clasificación binaria.

Los elementos de la matriz de confusión se definen a partir de contabilizar cada predicción hecha con respecto del valor de referencia. Los verdaderos positivos (VP) determinan el número de ejemplos positivos que fueron correctamente clasificados como positivos por el modelo. Los verdaderos negativos (VN) son el número de ejemplos negativos que fueron correctamente clasificados como negativos. Los falsos positives (FP) especifican el número de ejemplos negativos que fueron incorrectamente clasificados como positivos. Finalmente, los falsos negativos (FN) especifican el número de ejemplos positivos que fueron incorrectamente clasificados como negativos (también conocidos como “errores por omisión”).

La matriz de confusión no solo es útil para evaluar el rendimiento en clasificación binaria, sino que también se puede extender a problemas de clasificación multiclase, aumentando el número de filas y columnas según las clases involucradas.

13.4 Métricas de distancia

La métricas de distancia son utilizadas en el estudio de las redes neuronales para estimar si una predicción es cercana al valor de referencia. Estas métricas deben de ser continuas o computacionalmente continuas para que su derivada pueda ser utilizara durante el aprendizaje.

13.4.1 Error cuadrático medio

El Error Cuadrático Medio o MSE (Mean squared error) es una de las métricas de distancia más utilizadas. Su objetivo es medir el promedio de los cuadrados de los errores, es decir, la diferencia entre el valor predicho por la red y el valor real de referencia. Matemáticamente, para un conjunto de \(n\) datos, el MSE se define como:

$$

MSE = _{i=1}^{n} (y_i - _i)^2,$$

donde:\(y_i\) es el valor real (ground truth) y \(\hat{y}_i\) es el valor predicho por el modelo. cabe señalar que en su uso de redes neuronales, se suele agregar un coeficiente \(\frac{1}{2}\) para simplificar los gradientes.

13.4.2 Divergencia Kullback–Leibler

La Divergencia de Kullback–Leibler (KL), también llamada entropía relativa, es una medida estadística que cuantifica qué tan distinta es una distribución de probabilidad (denominada \(Q\)) de una segunda distribución de probabilidad de referencia (denominada \(P\)). Desde la perspectiva de la teoría de la información, la divergencia KL mide la “pérdida de información” que ocurre cuando utilizamos una distribución aproximada para representar la realidad. Formalmente, si tenemos dos distribuciones discretas, la fórmula para calcular esta diferencia es:

$$

D_{KL}(P | Q) = _{i} P(i) $$

Un punto importante es que la divergencia KL no es una distancia real en términos matemáticos, porque no es simétrica; es decir, la diferencia de \(P\) respecto a \(Q\) no es la misma que de \(Q\) respecto a \(P\). A diferencia de una resta simple, la divergencia KL crece de forma asintótica. Esto significa que crece con mucha más fuerza conforme la distribución se aleja de la objetivo.

Ejemplo

Suponga que en una ciudad solo hay dos estados posibles: Sol o Lluvia. Y por tanto, su distribución real es (\(P\)). Los datos históricos dicen que el 70% de los días son soleados y el 30% lluviosos. Es decir: $$

P() = 0.7\[ \]

P() = 0.3$$

Ahora suponga una distribución para el modelo (\(Q\)). Ésta la genera un meteorólogo quien predice que el clima será 50% soleado y 50% lluvioso (una distribución uniforme). Es decir, $$

Q() = 0.5\[ \]

Q() = 0.5$$

Dado lo anterior, determine la divergencia KL.

SOLUCION:

  1. Calcular para el evento “Sol” $$

P() () = 0.7 () = 0.7 (1.4)\[ \]

= $$

  1. Calcular para el evento “Lluvia”$$

P() () = 0.3 () = 0.3 (0.6)\[ \]

(-0.510) = $$

  1. Paso 3: Sumar los resultados$$

D_{KL}(P | Q) = 0.235 + (-0.153) = $$

Samuel, Arthur L. 1959. «Some studies in machine learning using the game of checkers». IBM Journal of research and development 3 (3): 210-29.