Este sitio web utiliza cookies propias y de terceros para el correcto funcionamiento y visualización del sitio web por parte del usuario, así como para las estadísticas. Si continúa navegando, consideramos que acepta su uso. Por más información lea nuestros Términos y Condiciones

Machine Learning con PyTorch y Scikit-Learn

Detalles
Cant. Págs.
800
Dimensiones
170 x 240 x 41.75mm | 1331g
Fecha de publicación
Editorial
MARCOMBO
País de publicación
Spain
Lenguaje
Spanish
ISBN
9788426735737
Precio de venta
$ 1.791
Aceptamos transferencia bancaria, Abitab, RedPagos y todas las tarjetas a través de mercadopagos.
Chateanos por WhatsApp
Precio de venta
$ 1.791
Aceptamos transferencia bancaria, Abitab, RedPagos y todas las tarjetas a través de mercado pagos.
Chateanos por WhatsApp
Detalles
Cant. Págs.
800
Dimensiones
170 x 240 x 41.75mm | 1331g
Fecha de publicación
Editorial
MARCOMBO
País de publicación
Spain
Lenguaje
Spanish
ISBN
9788426735737
Descripción

Si busca un manual de referencia sobre Machine Learning y Deep Learning con PyTorch, ha llegado al libro indicado. En él se explica paso a paso cómo construir sistemas de aprendizaje automático con éxito.Mientras que en algunos libros solo se enseña a seguir instrucciones, en este descubrirá los principios para crear modelos y aplicaciones por sí mismo. Encontrará multitud de explicaciones claras, visualizaciones y ejemplos, y aprenderá en profundidad todas las técnicas esenciales de Machine Learning.Actualizado para ocuparse de Machine Learning utilizando PyTorch, este libro también presenta las últimas incorporaciones a Scikit-Learn. Además, trata varias técnicas de Machine Learning y Deep Learning para la clasificación de textos e imágenes. Con este libro, también aprenderá sobre las redes generativas antagónicas (GAN), útiles para generar nuevos datos y entrenar agentes inteligentes con aprendizaje reforzado.Por último, esta edición incluye las últimas tendencias en Machine Learning, como las introducciones a las redes neuronales de grafos y transformadores a gran escala utilizados para el procesamiento del lenguaje natural (NLP).Sin duda, tanto si es un desarrollador de Python neófito en Machine Learning como si desea profundizar en los últimos avances, este libro de PyTorch será su gran aliado en el aprendizaje automático con Python.Gracias a esta lectura:Explorará marcos de trabajo, modelos y técnicas para que las máquinas «aprendan» de los datosEmpleará Scikit-Learn para Machine Learning y PyTorch para Deep LearningEntrenará clasificadores de Machine Learning en imágenes, texto, etc.Creará y entrenará redes neuronales, transformadores y redes neuronales gráficasDescubrirá las mejores prácticas para evaluar y ajustar los modelosPronosticará los resultados de elementos continuos utilizando el análisis de regresiónProfundizará en los datos textuales y de las redes sociales mediante el análisis de sentimiento«Estoy seguro de que este libro le resultará muy valioso, tanto por ofrecer una visión general del apasionante campo de Machine Learning, como por ser un tesoro de conocimientos prácticos. Espero que le inspire a aplicar Machine Learning para lograr un mayor beneficio, sea cual sea su problemática»Dmytro DzhulgakovPyTorch Core Maintainer

Sinopsis

Si busca un manual de referencia sobre Machine Learning y Deep Learning con PyTorch, ha llegado al libro indicado. En él se explica paso a paso cómo construir sistemas de aprendizaje automático con éxito. Mientras que en algunos libros solo se enseña a seguir instrucciones, en este descubrirá los principios para crear modelos y aplicaciones por sí mismo.

Tabla de contenido

Prefacio xxi1. Dotar a los ordenadores de la capacidad de aprender de los datos 1Creación de máquinas inteligentes para transformar los datosen conocimiento ............................................................................................. 2Los tres tipos de aprendizaje automático .......................................................... 3Formulación de pronósticos sobre el futuro con el aprendizaje supervisado 3Clasifi cación para pronosticar etiquetas de clase 4Regresión para el pronóstico de resultados continuos 5Resolución de problemas interactivos con el aprendizaje reforzado 7Descubrimiento de estructuras ocultas con el aprendizaje no supervisado 8Detección de subgrupos mediante el agrupamiento (clustering) 8Reducción de la dimensionalidad para comprimir los datos 9Introducción a la terminología básica y la notación ........................................ 10Notación y convenciones que se utilizan en el libro 10Terminología del aprendizaje automático 12Hoja de ruta para crear sistemas de aprendizaje automático ........................... 13Preprocesamiento: cómo dar forma a los datos 14Entrenamiento y selección de modelos predictivos 14Evaluación de modelos y pronóstico de instancias de datos ocultos 15Utilización de Python en aprendizaje automático ........................................... 16Instalación de Python y sus paquetes desde Python Package Index 16Uso del gestor de paquetes y distribucion de Anaconda Python 17Paquetes para computación científi ca, ciencia de datos yaprendizaje automático 18Resumen ....................................................................................................... 202. Entrenamiento de algoritmos sencillos de aprendizaje automáticopara tareas de clasificación ............................................................ 21Neuronas artifi ciales: un vistazo a la historia de los inicios del aprendizajeautomático .................................................................................................... 22Defi nición formal de neurona artifi cial 23Regla de aprendizaje del perceptrón 25Implementación de algoritmos de aprendizaje del perceptrón en Python ........ 28Una API del perceptrón orientada a objetos API 28Entrenamiento de un modelo de perceptrón con el conjunto de datos Iris 32Neuronas lineales adaptativas y convergencia del aprendizaje ......................... 38Minimización de las funciones de pérdida con el descenso del gradiente 39Implementación de Adaline en Python 42Mejora del descenso del gradiente mediante el escalado de características 46Aprendizaje automático a gran escala y descenso del gradiente estocástico 49Resumen ....................................................................................................... 543. Un recorrido por los clasificadores de aprendizaje automáticocon Scikit-learn ............................................................................ 57Elección de un algoritmo de clasifi cación ....................................................... 57Primeros pasos con Scikit-learn: entrenamiento del precetrón ........................ 58Modelización de las probabilidades de clase mediante regresión logística ....... 64Regresión logística y probabilidades condicionales 65Aprendizaje de los pesos del modelo mediante la función de pérdida logística 69Conversión de una implementación de Adaline en un algoritmode regresión logística 72Entrenamiento de un modelo de regresión logística con Scikit-learn 76Cómo abordar el sobreajuste utilizando la regularización 79Clasifi cación de margen máximo con máquinas de vectores de soporte ........... 82Intuición de margen máximo 83Tratamiento de un caso no separable linealmente mediante variablesde holgura 84Implementaciones alternativas en Scikit-learn 86Resolución de problemas no lineales utilizando el kernel en SVM ................... 86Métodos del kernel para datos no separables linealmente 86Uso del truco del kernel para encontrar hiperplanos de separaciónen un espacio de alta dimensión 89Aprendizaje utilizando árboles de decisión ..................................................... 92Maximización de IG: cómo sacar el máximo partido a su dinero 93Creación de un árbol de decisión 98Combinación de múltiples árboles de decisión mediante bosques aleatorios 100K vecinos más cercanos: un algoritmo de aprendizaje perezoso .................... 104Resumen ..................................................................................................... 1084. Elaboración de conjuntos de datos de entrenamiento adecuados:preprocesamiento ...................................................................... 109Tratamiento de los datos que faltan .............................................................. 109Identifi cación de los valores que faltan en las tablas de datos 110Eliminación de ejemplos de entrenamiento o de característicascon valores perdidos 111Atribución de valores perdidos 112Interpretación de la API del estimador de Scikit-learn 114Tratamiento de datos categóricos ................................................................. 115Codifi cación de datos categóricos con Pandas 115Asignación de las características ordinales 116Codifi cación de las etiquetas de clase 117Codifi cación one-hot de las características nominales 118Opcional: codifi cación de características ordinales 121Partición del conjunto de datos en conjuntos de entrenamiento yde prueba separados .................................................................................... 122Las características deben estar en la misma escala ....................................... 125Selección de características signifi cativas ..................................................... 128Regularizaciones L1 y L2 como penalizaciones contra la complejidaddel modelo 128Interpretación geométrica de la regularización L2 129Soluciones dispersas con la regularización L1 130Algoritmos de selección secuencial de características 134Evaluación de la importancia de las características con bosques aleatorios .... 141Resumen ..................................................................................................... 1435. Compresión de datos mediante la reducción de la dimensionalidad .. 145Reducción de la dimensionalidad no supervisada mediante el análisisde componentes principales ....................................................................... 146Etapas más importantes del análisis de componentes principales 146Extracción de los componentes principales paso a paso 148Varianzas total y explicada 151Transformación de características 153Análisis de componentes principales en Scikit-learn 156Evaluación de las contribuciones de las características 159Compresión de datos supervisados mediante el análisis discriminante lineal 162Análisis de componentes principales frente al análisis discriminante lineal 162Funcionamiento interno del análisis discriminante lineal 163Cálculo de matrices de dispersión 164Selección de discriminantes lineales para el nuevo espacio de características 166Proyección de ejemplos en el nuevo espacio de características 169LDA mediante Scikit-learn 170Reducción de la dimensionalidad no lineal y visualización de datos .............. 172¿Por qué considerar la reducción de la dimensionalidad no lineal? 172Visualización de datos mediante la incorporación de vecinos estocásticosdistribuidos en t 174Resumen ..................................................................................................... 1776. Aprendizaje de las mejores prácticas para la evaluaciónde modelos y el ajuste de hiperparámetros .................................... 179Optimización de fl ujos de trabajo con pipelines ............................................ 179Carga del conjunto de datos Breast Cancer Wisconsin 180Combinación de transformadores y estimadores en una pipeline 182Uso de la validación cruzada de k iteraciones (k subconjuntos) paraevaluar el rendimiento del modelo ............................................................... 184El método de retención 184Validación cruzada de k iteraciones 185Depuración de algoritmos con curvas de aprendizaje y validación ................. 189Diagnóstico de problemas de sesgo y varianza con curvas de aprendizaje 190Como abordar el sobreajuste y el infraajuste con curvas de validación 193Ajuste de los modelos de aprendizaje automático mediantela búsqueda en la red ................................................................................... 195Ajuste de hiperparámetros mediante la búsqueda en la red 195Confi guraciones de los hiperparámetros con la búsqueda aleatoria 197Búsqueda de hiperparámetros más efi ciente en recursoscon reducción sucesiva a la mitad 200Selección de algoritmos con validación cruzada anidada 202Observación de diferentes métricas de evaluación del rendimiento ............... 204Lectura de la matriz de confusión 204Optimización de la precisión y la recuperación de un modelo de clasifi cación 206Representación de la característica operativa del receptor 209Métricas de puntuación para la clasifi cación multiclase 211Cómo hacer frente al desequilibrio de clases 212Resumen ..................................................................................................... 2157. Combinación de diferentes modelos para el aprendizaje de conjunto .... 217Aprendizaje de conjunto .............................................................................. 217Combinación de clasifi cadores mediante el voto mayoritario ......................... 221Implementación de un clasifi cador de voto mayoritario sencillo 221Utilización del principio de votación por mayoría para hacer pronósticos 226Evaluación y ajuste del clasifi cador conjunto 229Bagging: elaboración de un conjunto de clasifi cadores a partirde muestras bootstrap .................................................................................. 235Bagging en pocas palabras 236Aplicación de bagging para clasifi car ejemplos en el conjunto de datos Wine 237Aprovechamiento de los alumnos débiles mediante el refuerzo adaptativo ...... 241Cómo funciona el refuerzo adaptativo 242Apicación de AdaBoost con Scikit-learn 246Refuerzo del gradiente: entrenamiento de un conjunto basadoen los gradientes de pérdida ........................................................................ 250Comparación de AdaBoost con el refuerzo del gradiente 250Esquema del algoritmo general de refuerzo del gradiente 251Explicación del algoritmo de refuerzo del gradiente para la clasifi cación 253Ilustración del refuerzo del gradiente para la clasifi cación 254Utilización de XGBoost 257Resumen ..................................................................................................... 2598. Aplicación del aprendizaje automático al análisis de opiniones ........ 261Preparación de datos de reseñas de películas de IMDb parael tratamiento de textos ............................................................................... 262Obtención del conjunto de datos de reseñas de películas 262Preprocesamiento del conjunto de datos de películas en un formatomás conveniente 263Presentación del modelo bolsa de palabras .................................................. 265Transformación de palabras en vectores de características 265Evaluación de la relevancia de las palabras mediante la frecuenciade los términos-frecuencia inversa de los documentos 267Limpieza de datos de texto 270Procesamiento de documentos en tokens 272Entrenamiento de un modelo de regresión logística para la clasifi caciónde documentos ............................................................................................ 274Trabajo con conjuntos de datos más grandes: algoritmos en líneay aprendizaje fuera del núcleo ..................................................................... 277Modelado de temas con asignación latente de Dirichlet ................................. 281Descomposición de documentos de texto con LDA 282LDA con Scikit-learn 282Resumen ..................................................................................................... 2869. Pronóstico de variables objetivo continuas con análisis de regresión ... 289Introducción a la regresión lineal ................................................................ 290Regresión lineal simple 290Regresión lineal múltiple 291Exploración del conjunto de datos Ames Housing ......................................... 292Carga del conjunto de datos Ames Housing en un DataFrame 292Visualización de las características importantes de un conjunto de datos 294Obserevaciones de las relaciones mediante la matriz de correlación 296Implementación del modelo de regresión lineal mediantemínimos cuadrados ordinarios .................................................................... 298Resolución de la regresión para los parámetros de regresióncon el descenso del gradiente 299Estimación del coefi ciente del modelo de regresión mediante Scikit-learn 303Ajuste del modelo de regresión robusto mediante RANSAC ........................... 306Evaluación del rendimiento de los modelos de regresión lineal ..................... 309Uso de métodos regularizados para la regresión ........................................... 314Conversión del modelo de regresión lineal en una curva:regresión polinómica .................................................................................. 316Adición de términos polinómicos usando Scikit-learn 316Modelado de relaciones no lienales en el conjunto de datos Ames Housing 318Tratamiento de relaciones no lineales mediante bosques aleatorios ............... 321Regresión de árbol de decisión 321Regresión de bosque aleatorio 323Resumen ..................................................................................................... 32610. El trabajo con datos no etiquetados: análisis de clustering ............. 327Agrupación de objetos por similitud mediante k-means ................................ 328Clustering de k-means con Scikit-learn 328Una forma más inteligente de colocar los centroides inicialesde los clústeres utilizando k-means++ 333Clustering duro frente a clustering blando 334Uso del método del codo para encontrar el número óptimo de clústeres 336Cuantifi ación de la calidad del clustering mediante gráfi cos de silueta 337Organización de clústeres en forma de árbol jeráquico ................................. 342Agrupación de clústeres de forma ascendente 343Realización de la agrupación jeráquica en la matriz de distancias 344Anexión de dendrogramas a un mapa de calor 348Aplicación de clustering aglomerativo a través de Scikit-learn 350Localización de regiones de alta densidad mediante DBSCAN ........................ 351Resumen ..................................................................................................... 35611. Implementación de una red neuronal artificial multicapa desde cero .... 359Modelado de funciones complejas con redes neuronales artifi ciales .............. 359Resumen de redes neuronales de una capa 361Introducción a la arquitectura de redes neuronales multicapa 363Activación de una red neuronal por propagación hacia delante 365Clasifi cación de dígitos escritos a mano ........................................................ 368Obtención y preparación del conjunto de datos MNIST 368Implementación del perceptrón multicapa 372Codifi cación del bucle de entrenamiento de la red neuronal 377Evaluación del rendimiento de la red neuronal 382Entrenamiento de redes neuronales artifi ciales ............................................ 386Cálculo de la función de pérdida 386Desarrollo de conocimiento de la retropropagación 388Entrenamiento de redes neuronales por retropropagación 390Sobre la convergencia en redes neuronales .................................................. 394Unas últimas palabras sobre la implementación de redes neuronales ............ 395Resumen ..................................................................................................... 39612. Paralelización de redes neuronales con PyTorch ............................ 397PyTorch y el rendimiento del entrenamiento ................................................ 397Retos del rendmiento 398¿Qué es PyTorch? 399Cómo vamos a aprender PyTorch 400Primeros pasos con PyTorch ........................................................................ 400Instalación de PyTorch 401Creación de tensores en PyTorch 402Manipulación del tipo de datos y la forma de tensores 403Aplicación de operaciones matemáticas a tensores 404División, apilamiento y concatenación de tensores 405Elaboración de pipelines de entrada en PyTorch ........................................... 407Creación de PyTorch DataLoader a partir de tensores existentes 408Combinación de dos tensores en un conjunto de datos mixto 409Barajar, agrupar y repetir 410Creación de conjuntos de datos a partir de archivos del discode almacenamiento local 412Obtención de los conjuntos de datos disponibles en la bibliotecatorchvision.datasets 416Elaboración de modelos de NN en PyTorch ................................................... 420Módulo de redes neuronales de PyTorch (torch.nn) 420Elaboración de un modelo de regresión lineal 421Entrenamiento de modelos mediante los módulos torch.nn y torch.optim 425Elaboración de un perceptrón multicapa para clasifi car fl oresen el conjunto de datos Iris 426Evaluación del modelo entrenado en el conjunto de datos de prueba 429Almacenamineto y recarga del modelo entrenado 430Elección de funciones de activación para redes reuronales multicapa ............ 431Recapitulación de la función logística 431Estimación de las probabilidades de clase en la clasifi cación multiclasemediante la función soft max 433Ampliación del espectro de salida mediante la tangente hiperbólica 434Activación de la unidad lineal rectifi cada 434Resumen ..................................................................................................... 43813. Profundización: la mecánica de PyTorch ...................................... 441Características esenciales de PyTorch .......................................................... 442Grafos de computación de PyTorch .............................................................. 443Comprensión de los grafos de computación 443Creación de grafos en PyTorch 443Objetos tensoriales PyTorch para almacenar y actualizarlos parámetros del modelo ........................................................................... 444Cálculo de gradientes mediante diferenciación automática ........................... 447Cálculo de gradientes de pérdida con respecto a las variables entrenables 447Comprensión de la diferenciación automática 449Ejemplos adversarios 449Simplifi cación de las implementaciones de arquitecturas más frecuentesmediante el módulo torch.nn ....................................................................... 449Implementación de modelos basados en nn.Sequential 450Elección de la función de pérdida 451Resolución de problemas de clasifi cación XOR 452Cómo fl exibilizar la elaboración de modelos con nn.Module 457Cómo escribir capas personalizadas en PyTorch 459Proyecto uno: pronóstico de la efi ciencia de combustibles de coches ............. 464Trabajo a realizar con columnas de características 464Entrenamiento de modelos de regresión DNN 468Proyecto dos: clasifi cación de dígitos escritos a mano del MNIST .................. 470Las API de PyTorch de alto nivel: una breve introduccióna PyTorch-Lightning .................................................................................... 473Confi guración del modelo PyTorch Lightning 474Confi guración de los cargadores de datos para Lightning 477Entrenamiento de modelos con la clase PyTorch Lightning Trainer 479Evaluación del modelo con TensorBoard 479Resumen ..................................................................................................... 48314. Clasificación de imágenes con redes neuronalesconvolucionales profundas ........................................................ 485Componentes de las CNN ............................................................................. 485Comprensión de las CNN y jerarquías de características 486Realización de convoluciones discretas 488Convoluciones discretas en una dimensión 489Entradas de relleno para controlar el tamaño de los mapasde características de salida 491Determinación del tamaño de la salida de la convolución 493Realización de convoluciones discretas en 2D 494Capas de submuestreo 498Poner todo junto: implementación de CNN ................................................... 499Trabajo con varios canales de entrada o de color 500Regularización de NN con regularización y abandono de L2 503Funciones de pérdida para la clasifi cación 507Implementación de CNN profundas utilizando PyTorch ................................ 509La arquitectura de CNN multicapa 509Carga y preprocesamiento de datos 510Implementación de CNN usando el módulo torch.nn 512Confi guración de capas de CNN en PyTorch 512Construcción de CNN en PyTorch 513Clasifi cación de sonrisas a partir de imágenes faciales mediante CNN ........... 519Carga del conjunto de datos CelebA 519Transformación de imágenes e incremento de datos 520Entrenamiento de un clasifi cador de sonrisas CNN 527Resumen ..................................................................................................... 53415. Modelado de datos secuenciales mediante redes neuronalesrecurrentes ............................................................................... 537Introducción a los datos secuenciales .......................................................... 537Modelado de datos secuenciales: el orden importa 538Datos secuenciales frente a datos de series temporales 538Representación de secuencias 539Diferentes categorías del modelado de secuencias 539RNN para modelar secuencias ...................................................................... 541Comprender el fl ujo de datos en las RNN 541Cálculo de activaciones en RNN 543Recurrencia oculta frente a recurrencia de salida 545Retos del aprendizaje de las interacciones de largo alcance 548Células de memoria a corto y largo plazo 550Implementación de RNN para el modelado de secuencias en PyTorch ........... 552Proyecto uno: pronóstico de las opiniones en las reseñas de cine de IMDb 552Preparación de los datos de reseñas de películas 553Capas de incorporación (embedding) para la codifi cación de frases 558Elaboración de modelos RNN 560Elaboración de un modelo RNN para la tarea de análisis de opiniones 561Proyecto dos: modelado lingüístico a nivel de caracteres en PyTorch 566Preprocesamiento del conjunto de datos 567Elaboración de un modelo RNN a nivel de carácter 572Fase de evaluación: generación de nuevos pasajes de texto 574Resumen ..................................................................................................... 57916. Transformadores: mejora del procesamiento del lenguajenatural con mecanismos de atención ........................................... 581Adición de un mecanismo de atención a las RNN .......................................... 582El mecanismo de atención ayuda a las RNN a acceder a la información 582Mecanismo de atención original para las RNN 583Procesamiento de entradas mediante RNN bidireccional 584Generación de salidas a partir de vectores de contexto 585Cálculo de los pesos de atención 586Introducción al mecanismo de autoatención ................................................ 587Empezando por una forma básica de autoatención 587Parameterización del mecanismo de autoatención: atencióndel producto punto escalado 591La atención es todo lo que necesitamos: introdución a la arquitecturaoriginal del transformador .......................................................................... 595Codifi cación de las incorporaciones de contexto mediante atenciónmulticabezal 597Aprendizaje de un modelo lingüístico: decodifi cador y atenciónmulticabezal enmascarada 601Detalles de la implementación: codifi caciones posicionales ynormalización de capas 602Elaboración de modelos lingüísticos a gran escala aprovechandolos datos no etiquetados .............................................................................. 605Preentrenamiento y ajuste de los modelos de transformadores 605Aprovechamiento de datos no etiquetados con GPT 608Utilización de GPT-2 para generar texto nuevo 612Preentrenamiento bidireccional con BERT 614Lo mejor de ambos mundos: BART 618Reajuste de modelos BERT en PyTorch .......................................................... 621Carga del conjunto de datos de reseñas de películas de IMDb 622Tokenización del conjunto de datos 624Carga y reajuste de modelos BERT preentrenados 625Cómo reajustar los transformadores de forma más cómodamediante la API Trainer 630Resumen ..................................................................................................... 63417. Redes generativas antagónicas con las que sintetizar nuevos datos .... 637Introducción a las redes generativas antagónicas .......................................... 637Empezando por los autocodifi cadores 638Modelos generativos para sintetizar nuevos datos 640Generación de nuevas muestras con GAN 642Comprensión de las funciones de perdida de las redes generadoras ydiscriminadoras en un modelo GAN 643Implementación de un modelo GAN desde cero ............................................ 645Entrenamiento de modelos GAN en Google Colab 646Implementación de las redes generadora y discriminadora 649Defi nición del conjunto de datos de entrenamiento 652Entrenamiento de modelos GAN 654Mejora de la calidad de las imágenes sintetizadas medianteGAN convolucionales y de Wasserstein .......................................................... 661Convolución traspuesta 661Normalización por lotes 663Implementación del generador y del discriminador 666Medidas de disimilitud entre dos distribuciones 673Uso de la distancia EM en la prática para las GAN 677Penalización del gradiente 677Implementación de WGAN-GP para entrenar modelos DCGAN 678Colapso de modo 683Otras aplicaciones de las GAN ...................................................................... 684Resumen ..................................................................................................... 68518. Redes neuronales de grafos para captar las dependenciasen datos estructurados en grafos ................................................. 687Introducción a los datos de grafos ................................................................ 688Grafos no dirigidos 688Grafos dirigidos 689Grafos etiquetados 690Representación de las moléculas como grafos 690Comprensión de las convoluciones de grafos ................................................ 690Motivaciones para utilizar las convoluciones de grafos 691Implementación de una convolución básica de grafos 693Implementación de GNN en PyTorch desde cero ........................................... 698Defi nición del modelo NodeNetwork 698Codifi cación de la capa de convolución del grafo de NodeNetwork 700Preparación de DataLoader 704Uso de NodeNetwork para hacer pronósticos 707Implementación de GNN con la biblioteca PyTorch Geometric ...................... 708Otras capas de GNN y desarrollos recientes .................................................. 714Convoluciones de grafos espectrales 714Reducción (pooling) 716Normalización 718Referencias a las redes neuronales de grafos en la literatura avanzada 719Resumen ...................................................................................................... 72119. Aprendizaje reforzado para la toma de decisionesen entornos complejos .............................................................. 723Introducción: aprender de la experiencia ..................................................... 724Comprensión del aprendizaje reforzado 724Defi nición de la interfaz agente-entorno de los sistemasde aprendizaje reforzado 726Fundamentos teóricos de RL ........................................................................ 727Procesos de decisión de Markov 727Formulación de los procesos de decisión de Markov 728Visualización del proceso de Markov 730Tareas episodicas o continuas 731Terminología RL: retorno, política y función de valor 731Retorno 732Política 733Función de valor 734Programación dinámica mediante la ecuación de Bellman 735Algoritmos de aprendizaje reforzado ............................................................ 736Programación dinámica 737Evaluación de políticas: pronóstico de la función de valorcon programación dinámica 738Mejora de la política mediante la función de valor estimada 738Iteración de la política 739Itearción del valor 739Aprendizaje reforzado con Monte Carlo 740Estimación de la función de valor del estado mediante MC 741Estimación de la función de valor de la acción mediante MC 741Consecución de la política óptima mediante el control de MC 741Mejora de la política: cálculo de la política codiciosa a partirde la función de valor de la acción 742Aprendizaje por diferencia temporal 742Pronóstico TD 743Control de TD en la política (SARSA) 744Control de TD fuera de la política (Q-learning) 744Implementación de nuestro primer algoritmo RL ......................................... 745Presentación del kit de herramientas OpenAI Gym 745El trabajo con los entornos existentes en OpenAI Gym 746Ejemplo del tipo mundo cuadriculado 748Implementación del entorno de mundo cuadriculado en OpenAI Gym 748Resolución del problema de mundo cuadriculado con Q-learning 755Un vistazo a Q-learning profundo ................................................................. 760Entrenamiento de modelos DQN según el algoritmo Q-learning 761Memoria de repetición 761Determinación de los valores objetivo para el cálculo de la pérdida 762Implementación del algoritmo Q-learning profundo 764Resumen del capítulo y del libro .................................................................. 768