Aprendizaje automático
El aprendizaje automático (del inglés machine learning), es el subcampo de las ciencias de la computación, y una rama de la inteligencia artificial, cuyo objetivo es desarrollar técnicas que permitan que las computadoras aprendan. Se dice que un agente aprende cuando su desempeño mejora con la experiencia y mediante el uso de datos; es decir, cuando la habilidad no estaba presente en su genotipo o rasgos de nacimiento.[1]
El campo de actuación del aprendizaje automático se solapa en muchas ocasiones con el de la estadística inferencial. Sin embargo, el aprendizaje automático incorpora las preocupaciones de la complejidad computacional de los problemas. Muchos problemas son de clase NP-hard, por lo que gran parte de la investigación realizada en aprendizaje automático está enfocada al diseño de soluciones factibles a esos problemas. El aprendizaje automático también está estrechamente relacionado con el reconocimiento de patrones. El aprendizaje automático puede ser visto como un intento de automatizar algunas partes del método científico mediante métodos matemáticos. Por lo tanto es un proceso de razonamiento inductivo.
El aprendizaje automático tiene una amplia gama de aplicaciones, incluyendo motores de búsqueda, diagnósticos médicos, detección de fraude en el uso de tarjetas de crédito, análisis de mercado, clasificación de secuencias de ADN, reconocimiento del habla y del lenguaje escrito (esta es una de sus utilidades más populares, ya que los símbolos de escritura son fácilmente identificables), juegos y robótica. Otras aplicaciones son la previsión meteorológica, diversas aplicaciones en medicina (análisis de biorritmos, detección de irregularidades en imágenes de rayos X, detección de células infectadas, marcas en la piel...) reconocimiento de huellas dactilares y de rostros, interpretación de fotografías aéreas y de satélite, predicción de magnitudes máximas de terremotos, reconocimiento de objetos y reconocimiento de música, entre otras. También se ha propuesto su uso para mejorar la eficiencia e identificar disparidades en los fallos judiciales.[2]
El aprendizaje automático nació de la búsqueda de inteligencia artificial. Ya en los primeros días de la IA como disciplina académica, algunos investigadores se interesaron en hacer que las máquinas aprendiesen. Trataron de resolver el problema con diversos métodos simbólicos, así como lo que ellos llamaron 'redes neurales' que eran en general perceptrones y otros modelos básicamente basados en modelos lineares generalizados como se conocen en estadística.
Muchos lenguajes de programación se pueden utilizar para implementar algoritmos de aprendizaje automático. Los más populares para 2015 eran R y Python.[3] R es muy usado ante todo en el campo académico, mientras que Python es más popular en la empresa privada.
Existe un número relativamente grande de libros de texto sobre el aprendizaje automático como disciplina. Hastie, Tibshirani y Friedman (2009)[4] sigue siendo la referencia clásica, complementada por Murphy (2022), el cual ofrece un tratamiento muy detallado y riguroso de la teoría del aprendizaje estadístico que sienta las bases de todos los métodos de aprendizaje automático.
Reconocimiento de patrones[editar | editar código]
El reconocimiento de patrones es la ciencia que se ocupa de los procesos sobre ingeniería, computación y matemáticas relacionados con objetos físicos o abstractos, con el propósito de extraer información que permita establecer propiedades de entre conjuntos de dichos objetos.
El reconocimiento de patrones consiste en el reconocimiento de patrones de señales.[5] Los patrones se obtienen a partir de los procesos de segmentación, extracción de características y descripción donde cada objeto queda representado por una colección de descriptores. El sistema de reconocimiento debe asignar a cada objeto su categoría o clase (conjunto de entidades que comparten alguna característica que las diferencia del resto). Para poder reconocer los patrones se siguen los siguientes procesos:
- Adquisición de datos
- Extracción de características
- Toma de decisiones
El punto esencial del reconocimiento de patrones es la clasificación: se quiere clasificar una señal dependiendo de sus características. Señales, características y clases pueden ser de cualquiera forma, por ejemplo se puede clasificar imágenes digitales de letras en las clases «A» a «Z» dependiendo de sus píxeles o se puede clasificar ruidos de cantos de los pájaros en clases de órdenes aviares dependiendo de las frecuencias.
Un sistema completo de reconocimiento de patrones incluye 1) un sensor que recoja fielmente los elementos del universo a ser clasificado, 2) un mecanismo de extracción de características cuyo propósito es extraer la información útil, eliminando la información redundante e irrelevante, y 3) una etapa de toma de decisiones en la cual se asigna a la categoría apropiada los patrones de clase desconocida a priori.
Sensor[editar | editar código]
El sensor es el dispositivo encargado de la adquisición de datos. Ha de ser capaz de transformar magnitudes físicas o químicas, llamadas variables de instrumentación, en magnitudes eléctricas. Las variables de instrumentación dependen del tipo de sensor y pueden ser por ejemplo: temperatura, intensidad lumínica, distancia, aceleración, inclinación, desplazamiento, presión, fuerza, torsión, humedad, etc.
Extracción de características[editar | editar código]
Es el proceso de generar características que puedan ser usadas en el proceso de clasificación de los datos. En ocasiones viene precedido por un preprocesado de la señal, necesario para corregir posibles deficiencias en los datos debido a errores del sensor, o bien para preparar los datos de cara a posteriores procesos en las etapas de extracción de características o clasificación.
Las características elementales están explícitamente presentes en los datos adquiridos y pueden ser pasados directamente a la etapa de clasificación. Las características de alto orden son derivadas de las elementales y son generadas por manipulaciones o transformaciones en los datos.
Selección de variables[editar | editar código]
Consiste en seleccionar cuál es el tipo de características o rasgos más adecuados para describir los objetos. Para ello, se deben localizar los rasgos que inciden en el problema de manera determinante.
Esta etapa también puede ser diseñada dentro de la clasificación.
La selección de variables puede diferenciarse según los objetivos buscados::*Para la clasificación: la selección de características relevantes, a partir del conjunto total de características que describen a los objetos, se hace con dos motivos fundamentales: mejorar la clasificación o aumentar la velocidad de procesamiento.
- Para la representación: decidir qué características representan mejor a cierto tipo de objetos.
Estrategias de selección de variables:
- wrapper: la selección de características se hace usando información del mecanismo de clasificación.
- filter: la selección se hace con un criterio independiente del clasificador. Incluye algunos métodos como:
- Tablas de decisión: le busca un subconjunto mínimo de variables que no introduzca confusión entre clases.
- ID3: le crea un árbol de decisión y se selecciona un conjunto de variables que permita discriminar entre clases.
- Teoría de testores: le buscan todos los subconjuntos de variables discriminantes minimales, con estos se evalúa la relevancia de cada variable y se seleccionan aquellas con mayor relevancia.
Tipos de modelos[editar | editar código]
Existen diversos modelos de aprendizaje automático, que pueden ser clasificados al menos en función de dos criterios: su formulación y su resolución. La clasificación según su formulación define la herramienta matemática que usa el modelo (vectores, densidades o reglas). La clasificación según su resolución define cómo se comporta su frontera (si divide el espacio en bloques o si evalúa los datos en una escala continua).
Según su formulación[editar | editar código]
El aprendizaje automático tiene como resultado un modelo diseñado para resolver una tarea específica. Dependiendo de su fundamento matemático y de la forma en que representan el conocimiento, los modelos se dividen tradicionalmente en tres grandes familias: geométricos, probabilísticos y lógicos.
Modelos geométricos[editar | editar código]
Los modelos geométricos se construyen directamente sobre el espacio de instancias, el cual puede tener una, dos o múltiples dimensiones. En este enfoque, cada observación se concibe como un vector numérico y el análisis se basa en conceptos como el cálculo de distancias, la geometría de formas y puntos de atracción.
Si es posible trazar un límite de decisión lineal que separe perfectamente las clases en este espacio, se dice que los datos son linealmente separables. Dicho límite se define matemáticamente como , donde w es un vector perpendicular al límite de decisión, x es un punto arbitrario sobre el límite y t representa el umbral de decisión.
Ejemplos emblemáticos de este enfoque son el algoritmo de los vecinos más cercanos (k-NN) y las máquinas de vectores de soporte (SVM).
Modelos probabilísticos[editar | editar código]
A diferencia de la rigidez espacial de los modelos geométricos, los modelos probabilísticos se basan en el supuesto de que los datos observados son el resultado de un proceso aleatorio. Su objetivo central es determinar la distribución de probabilidades que describe la relación entre las características de los datos y los resultados esperados.
Este enfoque se fundamenta en la teoría de la probabilidad y la estadística clásica, utilizando herramientas como el análisis de varianzas, covarianzas y dispersión. Uno de los pilares para el desarrollo de estos modelos es la estadística bayesiana, la cual permite actualizar la probabilidad de una hipótesis a medida que se incorporan nuevas evidencias empíricas. Un ejemplo clásico de este grupo es el clasificador Naive Bayes.
Las redes neuronales artificiales operan de forma híbrida: su estructura interna funciona transformando el espacio geométrico de los datos, por lo que pueden ser consideradas un modelo geométrico, pero sus capas finales suelen calcular distribuciones de probabilidad para clasificar los resultados.
Modelos lógicos[editar | editar código]
Los modelos lógicos abandonan el álgebra continua y el cálculo de probabilidades para expresarse mediante reglas estructuradas de tipo "si... entonces..." (if-then). Estas reglas se organizan habitualmente en forma de árboles de decisión.
La ventaja de los modelos lógicos es su alto nivel de interpretabilidad, ya que segmentan el espacio de características mediante cortes conceptuales.
Según su resolución[editar | editar código]
Más allá de la distinción entre geometría, probabilidad o lógica, los modelos también pueden clasificarse de forma transversal según cómo dividen e interpretan el espacio de instancias. Bajo esta perspectiva, se distinguen modelos de agrupamiento y modelos de gradación.
Modelos de agrupamiento[editar | editar código]
Los modelos de agrupamiento (grouping models) segmentan el espacio de instancias en regiones disjuntas y bien definidas. Cada observación cae en un grupo específico y recibe un tratamiento idéntico al de sus pares en esa misma región. La estrategia consiste en recortar el espacio de instancias en parcelas aisladas (bloques, celdas o esferas) y asignar un valor idéntico y constante a cualquier dato que caiga dentro de esa parcela.
Los modelos lógicos son, por definición, modelos de agrupamiento, ya que las reglas y los árboles son estructuras discretas que fragmentan el espacio en grupos. No obstante, también hay modelos de agrupamiento que no son lógicos: por ejemplo, los vecinos más cercanos (un ejemplo de modelo geométrico) y los modelos de mezcla gaussiana (un ejemplo de modelo probabilístico).
Modelos de gradación[editar | editar código]
Los modelos de gradación (grading models) operan sobre un continuo. En lugar de encerrar los datos en compartimentos estancos, evalúan la posición de cada instancia respecto a una frontera global, permitiendo distinguir sutilmente qué tan cerca o lejos está un punto de dicha frontera.
Por ejemplo, operan por gradación la regresión logística (ejemplo de modelo probabilístico) y las máquinas de vectores de soporte y redes neuronales artificiales (ejemplos de modelos geométricos).
Tareas[editar | editar código]
Clasificación[editar | editar código]
En el contexto del aprendizaje automático, se denomina clasificación al caso en el que el sistema de aprendizaje trata de etiquetar (clasificar) una serie de vectores utilizando una entre varias categorías (clases). La base de conocimiento del sistema está formada por ejemplos de etiquetados anteriores. No es más que un análisis de regresión donde la variable dependiente es una variable categórica o cualitativa. Las técnicas empleadas incluyen regresión logística, árboles de decisión, métodos de conjunto (ensemble methods) y técnicas de conjunto (ensemble techniques) como bosques aleatorios (random forests) y aumento de gradientes (gradient boosting).
Este tipo de aprendizaje se ha mostrado muy útil en problemas de investigación biológica, biología computacional y bioinformática. También se emplea para predecir la pérdida de clientes, detectar fraude o categorizar productos.
La clasificación trata de asignar las diferentes partes del vector de características a grupos o clases, basándose en las características extraídas. En esta etapa se usa lo que se conoce como aprendizaje automático, cuyo objetivo es desarrollar técnicas que permitan a las computadoras aprender.
Según tengamos constancia o no de un conjunto previo que permita al sistema aprender, la clasificación puede ser supervisada, parcialmente supervisada o no supervisada.
Paradigmas de aprendizaje[editar | editar código]
Aprendizaje supervisado[editar | editar código]
El aprendizaje supervisado es el más común. Se caracteriza por contar con información que especifica qué conjuntos de datos son satisfactorios para el objetivo del aprendizaje. Un ejemplo podría ser un software que reconoce si una imagen dada es o no la imagen de un rostro: para el aprendizaje del programa tendríamos que proporcionarle diferentes imágenes, especificando en el proceso si se trata o no de rostros.
En la clasificación supervisada, el algoritmo produce una función que establece una relación entre las entradas y las salidas deseadas del sistema. En el marco del aprendizaje automático se suele distinguir entre regresión y clasificación, dependiendo de si la salida es una variable cuantitativa o cualitativa.
La transducción es similar al aprendizaje supervisado, pero no construye de forma explícita una función. Trata de predecir las categorías de los futuros ejemplos basándose en los ejemplos de entrada, sus respectivas categorías y los ejemplos nuevos al sistema.
También es conocida como clasificación con aprendizaje. Se basa en la disponibilidad de áreas de entrenamiento. Se trata de áreas de las que se conoce a priori la clase a la que pertenecen y que servirán para generar una signatura espectral característica de cada una de las clases. Se denominan clases informacionales, en contraposición a las clases espectrales que genera la clasificación no supervisada.
A continuación se señalan algunos métodos de la clasificación supervisada.
Funciones discriminantes[editar | editar código]
Si son dos clases, se busca obtener una función g tal que para un nuevo objeto O, si g(O) ≥ 0 se asigna a la clase 1 y en otro caso a la 2. Si son múltiples clases se busca un conjunto de funciones gi y el nuevo objeto se ubica en la clase donde la función tome el mayor valor.
Clasificadores bayesianos[editar | editar código]
Una red bayesiana, red de creencia o modelo acíclico dirigido es un modelo probabilístico que representa una serie de variables de azar y sus independencias condicionales a través de un grafo acíclico dirigido. Una red bayesiana puede representar, por ejemplo, las relaciones probabilísticas entre enfermedades y síntomas. Dados ciertos síntomas, la red puede usarse para calcular las probabilidades de que ciertas enfermedades estén presentes en un organismo. Hay algoritmos eficientes que infieren y aprenden usando este tipo de representación.
Vecinos más cercanos[editar | editar código]
Un nuevo objeto se ubica en la clase donde esté el objeto de la muestra original que más se le parece.
Árboles de decisión[editar | editar código]
El aprendizaje por árboles de decisión usa un árbol de decisión como modelo predictivo que mapea observaciones a conclusiones sobre el valor de un objeto dado.
Este tipo de aprendizaje usa un árbol de decisiones como modelo predictivo. Se mapean observaciones sobre un objeto con conclusiones sobre el valor final de dicho objeto.
Los árboles son estructuras básicas en la informática. Los árboles de atributos son la base de las decisiones.
Una de las dos formas principales de árboles de decisiones es la desarrollada por Quinlan de medir la impureza de la entropía en cada rama, algo que primero desarrolló en el algoritmo ID3 y luego en el C4.5. Otra de las estrategias se basa en el índice GINI. El algoritmo de CART es una implementación de esta estrategia.[6]
Los árboles de decisión se emplean principalmente en aprendizaje supervisado. No obstante, existen otros métodos basados en estructuras de árbol, como ciertos métodos de agrupamiento, detección de anomalías o búsqueda en aprendizaje por refuerzo, que no corresponden necesariamente al modelo clásico de árbol de decisión supervisado.
Redes neuronales artificiales[editar | editar código]
Las redes neuronales artificiales (RNA) imitan supuestamente a las redes neuronales reales en el desarrollo de tareas de aprendizaje.
Reglas de asociación[editar | editar código]
Los algoritmos de reglas de asociación procuran descubrir relaciones interesantes entre variables. Entre los métodos más conocidos se hallan el algoritmo a priori, el algoritmo Eclat y el algoritmo de patrón frecuente.
Algoritmos genéticos[editar | editar código]
Los algoritmos genéticos son procesos de búsqueda heurística que simulan la selección natural. Usan métodos tales como la mutación y el cruzamiento para generar nuevas clases que puedan ofrecer una buena solución a un problema dado.
Máquinas de vectores de soporte[editar | editar código]
Los algoritmos de máquinas de vectores de soporte (MVS) usan un conjunto de ejemplos de formación clasificada en dos categorías para construir un modelo que prediga si un nuevo ejemplo pertenece a una u otra de dichas categorías.
Aprendizaje no supervisado[editar | editar código]
El aprendizaje no supervisado hace uso de conjuntos de datos no etiquetados. Para encontrar información en ellos, se basa en dos grupos de técnicas: el análisis de grupos o agrupamiento (las más comunes son el agrupamiento jerárquico o basado en conectividad, y el método conocido como k-medias basado en centroide), y la reducción de dimensionalidad (análisis de componentes principales, análisis factorial, DBSCAN...).
Se utilizan algoritmos de clasificación automática multivariante en los que los individuos más próximos se van agrupando formando clases.
- Restringida: el número de clases en la que se estructurará la muestra está previamente definido.
- Libre: el número de clases en la que se estructurará la muestra depende exclusivamente de los datos.
En el aprendizaje no supervisado, el programa no cuenta con datos que definan qué información es satisfactoria o no. El objetivo principal de estos programas suele ser encontrar patrones que permitan separar y clasificar los datos en diferentes grupos, en función de sus atributos. Siguiendo el ejemplo anterior, un software de aprendizaje no supervisado no sería capaz de decirnos si una imagen dada es un rostro o no pero sí podría, por ejemplo, clasificar las imágenes entre aquellas que contienen rostros humanos, de animales, o las que no contienen. La información obtenida por un algoritmo de aprendizaje no supervisado debe ser posteriormente interpretada por una persona para darle utilidad.
En el aprendizaje automático no supervisado, todo el proceso de modelado se lleva a cabo sobre un conjunto de ejemplos formado tan solo por entradas al sistema. Se trabaja con un conjunto de datos que no cuenta con variable objetivo. Por lo tanto, el sistema tiene que ser capaz de reconocer patrones en el conjunto de datos y descubrir agrupaciones ocultas, para poder asignar una etiqueta a las nuevas entradas.
A continuación se indican algunos métodos del aprendizaje no supervisado basado en agrupamiento.
Agrupamiento[editar | editar código]
El análisis de grupos o agrupamiento (en inglés, clustering) es la clasificación de observaciones en subgrupos (clusters) para que las observaciones en cada grupo se asemejen entre sí según ciertos criterios. Las técnicas de agrupamiento hacen inferencias diferentes sobre la estructura de los datos; se guían usualmente por una medida de similitud específica y por un nivel de compactamiento interno (similitud entre los miembros de un grupo) y la separación entre los diferentes grupos. El sistema recibe datos sin etiquetas y descubre los grupos por sí mismo, por cercanía geométrica, sin saber de antemano qué significa cada grupo.
- Simple Link y Complete Link: Parten de grupos unitarios de objetos y van uniendo los grupos más parecidos en cada etapa, hasta cumplir alguna condición.
- ISODATA: Se van formando grupos que se ajustan iterativamente usando teoría de probabilidades. En algunas versiones se puede hacer la unión o división de algún grupo. Este algoritmo tiene su origen en los años 60 y es usado casi exclusivamente en ingeniería geoespacial y ambiental, cuando se analizan fotografías tomadas por un satélite. Es empleado en cartografía.
- C-means: Se define un grupo de semillas, se asocia cada objeto al grupo de la semilla más parecida, se toman los centroides de cada grupo como nuevas semillas y se itera hasta que se estabilice.
- Criterios lógico-combinatorios: Los criterios que se imponen a los grupos son tales como ser conexos, completos maximales, compactos, etc.
Aprendizaje parcialmente supervisado[editar | editar código]
También conocida como de aprendizaje parcial. En estos problemas existe una muestra de objetos solo en algunas de las clases definidas.
Los algoritmos de clasificación parcialmente supervisada combinan los algoritmos de clasificación supervisada y no supervisada. Se tiene en cuenta los datos marcados y los no marcados.
Aprendizaje por refuerzo[editar | editar código]
Los métodos vistos hasta hora constituyen un análisis ex-post. Incluso cuando el objetivo es predecir lo desconocido, el enfoque se basa en el análisis de datos ya conocidos. Por el contrario, el aprendizaje por refuerzo aborda explícitamente problemas donde la toma de decisiones y el aprendizaje interactúan dinámicamente a lo largo del tiempo.[7]
El aprendizaje por refuerzo se centra en la toma de decisiones y en el aprendizaje a través de la interacción con un entorno. Conceptos clave en el proceso de aprendizaje por refuerzo son los de agentes, entornos, acciones, recompensas y políticas. Tiene importantes aplicaciones en robótica y sistemas autónomos.
El algoritmo aprende observando el mundo que le rodea. Su información de entrada es la retroalimentación que obtiene del mundo exterior como respuesta a sus acciones. Por lo tanto, el sistema aprende a base de ensayo-error.
En el aprendizaje por refuerzo, en vez de que un instructor indique al agente qué hacer, el agente inteligente debe aprender cómo se comporta el entorno mediante recompensas (refuerzos) o castigos, derivados del éxito o del fracaso respectivamente. El objetivo principal es que el agente inteligente aprenda la función de valor que le ayuda a maximizar la señal de recompensa y así optimizar sus políticas de modo a comprender el comportamiento del entorno y a tomar buenas decisiones para el logro de sus objetivos formales.
Los principales algoritmos de aprendizaje por refuerzo se desarrollan dentro de los métodos de resolución de problemas de decisión finitos de Markov, que incorporan las ecuaciones de Bellman y las funciones de valor. Los tres métodos principales son: la programación dinámica, los métodos de Monte Carlo y el aprendizaje de diferencias temporales.[8]
La distribución de probabilidad de transición (o modelo de transición) y la función de recompensa se denominan a menudo, de forma colectiva, el «modelo» del entorno (o MDP)
Entre las implementaciones desarrolladas está AlphaGo, un programa de IA desarrollado por Google DeepMind para jugar el juego de mesa Go. En marzo de 2016 AlphaGo le ganó una partida al jugador profesional Lee Se-Dol que tiene la categoría noveno dan y 18 títulos mundiales. Entre los algoritmos que utiliza se encuentra el árbol de búsqueda Monte Carlo, también utiliza aprendizaje profundo con redes neuronales. Puede ver lo ocurrido en el documental de Netflix “AlphaGo”.
Algoritmos sin modelo[editar | editar código]
En el aprendizaje por refuerzo, un algoritmo sin modelo (model-free) es aquel que no estima la distribución de probabilidad de transición (ni la función de recompensa) asociada con el proceso de decisión de Márkov (MDP), el cual, en aprendizaje por refuerzo, representa el problema a resolver. Un algoritmo sin modelo puede concebirse como un algoritmo «explícito» de ensayo y error. Entre los ejemplos típicos de algoritmos sin modelo se incluyen el aprendizaje por refuerzo de Montecarlo (MC), SARSA y Q-learning.
La estimación de Montecarlo es un componente central de muchos algoritmos sin modelo.
Aprendizaje profundo[editar | editar código]
El aprendizaje profundo (calco del inglés deep learning) es una rama del aprendizaje automático que se basa en el uso de algoritmos para modelar y comprender datos complejos. Se basa, fundamentalmente, en aprender características complejas capa por capa.
Aunque no existe una definición única y universalmente aceptada de aprendizaje profundo, el concepto central implica el uso de múltiples capas de procesamiento para extraer características y patrones de los datos. Las diferentes definiciones suelen destacar aspectos como:
- Uso de capas no lineales: Los algoritmos de aprendizaje profundo utilizan una serie de capas, cada una de las cuales aplica una transformación no lineal a los datos de entrada. Esto permite que el modelo aprenda representaciones complejas y abstractas de los datos.
- Aprendizaje de representaciones jerárquicas: El aprendizaje profundo se basa en la idea de que los datos pueden representarse en múltiples niveles de abstracción. Las capas inferiores aprenden características básicas, mientras que las capas superiores combinan estas características para formar representaciones más complejas.
En resumen, el aprendizaje profundo se caracteriza por el uso de múltiples capas de procesamiento no lineal para aprender representaciones jerárquicas de los datos, ya sea de forma supervisada o no supervisada.
La diferencia clave entre los algoritmos de aprendizaje profundo y los de aprendizaje "poco profundo" radica en el número de transformaciones que se aplican a los datos. Mientras que los algoritmos "poco profundos" pueden aplicar una o dos transformaciones, los algoritmos de aprendizaje profundo suelen utilizar muchas más capas, lo que les permite aprender representaciones más complejas.[10]: 6 Aunque no hay un número exacto de capas que defina cuándo un algoritmo se considera "profundo", la mayoría de los investigadores coinciden en que implica más de dos transformaciones intermedias.[10]: 7
En esencia, el aprendizaje profundo busca identificar las mejores maneras de representar los datos para facilitar el aprendizaje de tareas específicas. Por ejemplo, una imagen puede representarse como un conjunto de pixeles, pero algunas representaciones, como las que resaltan las características importantes de la imagen, pueden hacer que sea más fácil para un modelo determinar si la imagen contiene un rostro humano.
Los algoritmos de aprendizaje profundo, como otros algoritmos de aprendizaje automático, pueden utilizarse tanto en escenarios de clasificación supervisada como en escenarios de clasificación no supervisada.
El aprendizaje profundo ha demostrado ser especialmente eficaz en áreas como la visión artificial, el reconocimiento del habla y el procesamiento de audio y música; en definitiva, en el reconocimiento de imágenes y sonidos. Arquitecturas como las redes neuronales convolucionales y los transformadores han logrado resultados sobresalientes en estas áreas, superando a menudo a otros enfoques de aprendizaje automático.
Redes neuronales artificiales profundas[editar | editar código]
El aprendizaje profundo se sustenta fundamentalmente sobre las redes neuronales artificiales profundas, paradigma inspirado en teoría en las neuronas de los sistemas nerviosos de los animales. Se trata de un sistema de enlaces de neuronas que colaboran entre sí para producir un estímulo de salida. Las conexiones tienen pesos numéricos que se adaptan según la experiencia. De esta manera, las redes neurales se adaptan a un impulso y son capaces de aprender.
Alternativas a las redes neuronales[editar | editar código]
El concepto de aprendizaje profundo se refiere a la estrategia general de aprender en capas jerárquicas. Matemáticamente, es posible construir esas capas usando distintos modelos, si se diseña el algoritmo de optimización adecuado. En la industria, el aprendizaje automático profundo es casi sinónimo de redes neuronales artificiales profundas, que son las que dominan el mercado (son el motor de ChatGPT, Midjourney, etc.). Sin embargo, en el mundo académico, los científicos de la computación han intentado desarrollar otros algoritmos de aprendizaje profundo utilizando bloques de construcción matemáticos que no son neuronas. Los dos ejemplos más sólidos e importantes son los bosques profundos y los procesos gaussianos profundos.
La búsqueda de alternativas a las redes neuronales se debe a que estas presentan tres características que son a menudo consideradas inconvenientes:
- Tienen demasiados hiperparámetros: Configurar una red neuronal (elegir la tasa de aprendizaje, el número de neuronas, las funciones de activación, el dropout) es casi un arte místico. Por el contrario, el bosque profundo, por ejemplo, apenas requiere configuración.
- Exigen conjuntos de datos colosales: Una red neuronal profunda con pocos datos sufre de un gran sobreajuste. Los modelos basados en árboles o procesos gaussianos suelen ser mucho más robustos cuando los datos escasean.
- La caja negra absoluta: Es extremadamente difícil auditar matemáticamente por qué una neurona en la capa 47 ha decidido que una imagen es un gato. Los modelos basados en árboles de decisión ofrecen una trazabilidad lógica mucho mayor.
Véase también[editar | editar código]
Referencias[editar | editar código]
- ↑ Russell, Stuart; Norvig, Peter (2009). Inteligencia Artificial: Un Enfoque Moderno (3rd edición). p. 229.
- ↑ Ramos-Maqueda, Manuel; Chen, Daniel L. (2025). «The data revolution in justice». World Development (en inglés) 186: 106834.
- ↑ Four main languages for analytics and data mining science (KD Nuggets)
- ↑ Trevor Hastie, Robert Tibshirani, and Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Springer, New York, 2nd edition, 2009.
- ↑ Ernesto A. Meyer: Glosario de términos técnicos, Entrada P, «pattern recognition». Grupo de Informática Aplicada al Inglés Técnico, la Argentina, 1995, bajo la licencia de documentación libre GNU
- ↑ Flach 2012 Págs. 155-156
- ↑ Smith y Álvarez, 2025, p. 2.
- ↑ Sutton, Richard S., Barto, Andrew G. Reinforcement Learning: An Introduction. The MIT Press.
- ↑ Schulz, Hannes; Behnke, Sven (1 de noviembre de 2012). «Deep Learning». KI - Künstliche Intelligenz (en English) 26 (4): 357-363. ISSN 1610-1987. S2CID 220523562. doi:10.1007/s13218-012-0198-z.
- ↑ 10,0 10,1 J. Schmidhuber, "Deep Learning in Neural Networks: An Overview" http://arxiv.org/abs/1404.7828, 2014
Bibliografía[editar | editar código]
- Bishop, Christopher (2008) Pattern Recognition and Machine Learning. Springer Verlag. ISBN=978-0-3873-1073-2.
- Flach, Peter (2012) Machine Learning: The Art and Science of Algorithms that Make Sense of Data. Cambridge University Press. ISBN 978-1-107-42222-3.
- Gollapudi, Sunila (2016) Practical Machine Learning. Packt Publishing. ISBN=978-1-78439-968-4.
- Ian H. Witten and Eibe Frank (2011). Data Mining: Practical machine learning tools and techniques Morgan Kaufmann, 664 pág., ISBN 978-0-12-374856-0.
- Mitchell, T. (1997). Machine Learning, McGraw Hill. ISBN 0-07-042807-7
- Murphy, Kevin P. (2022). Probabilistic Machine Learning: An Introduction (en inglés). MIT Press.
- Richard O. Duda, Peter E. Hart, David G. Stork (2001) Pattern classification (2ª edición), Wiley, New York, ISBN 0-471-05669-3.
- Dietrich Paulus and Joachim Hornegger (1998) Applied Pattern Recognition (2ª edición), Vieweg. ISBN 3-528-15558-2
- J. Schuermann: Pattern Classification: A Unified View of Statistical and Neural Approaches, Wiley&Sons, 1996, ISBN 0-471-13534-8
- Sholom Weiss and Casimir Kulikowski (1991) Computer Systems That Learn, Morgan Kaufmann. ISBN 1-55860-065-5
- Smith, Matthew; Álvarez, Francisco (2025). «Machine Learning for Applied Economic Analysis: Gaining Practical Insights». Documento de Trabajo 2025/03 (en inglés) (Fedea).