Aprendizaje por refuerzo: una introducción
Replicación de Python para el libro de Sutton & Barto Aprendizaje por refuerzo: una introducción (segunda edición)
Si tiene alguna confusión sobre el código o desea informar un error, abra un problema en lugar de enviarme un correo electrónico directamente y, lamentablemente, no tengo respuestas a los ejercicios para el libro.
Contenido
Capítulo 1
- tres en raya
Capítulo 2
- Figura 2.1: Un problema de bandido ejemplar del banco de pruebas de 10 brazos
- Figura 2.2: Rendimiento promedio de los métodos de valor de acción codiciosos de épsilon en el banco de pruebas de 10 brazos
- Figura 2.3: Estimaciones optimistas del valor de la acción inicial
- Figura 2.4: Rendimiento promedio de la selección de acciones de UCB en el banco de pruebas de 10 brazos
- Figura 2.5: Rendimiento promedio del algoritmo gradient bandit
- Figura 2.6: Un estudio de parámetros de los distintos algoritmos bandidos
Capítulo 3
- Figura 3.2: Ejemplo de cuadrícula con política aleatoria
- Figura 3.5: Soluciones óptimas para el ejemplo de gridworld
Capítulo 4
- Figura 4.1: Convergencia de la evaluación iterativa de políticas en un pequeño mundo grid
- Figura 4.2: El problema del alquiler de coches de Jack
- Figura 4.3: La solución al problema del jugador
Capítulo 5
- Figura 5.1: Funciones estado-valor aproximadas para la política de blackjack
- Figura 5.2: La política óptima y la función de valor estatal para el blackjack encontrada por Monte Carlo ES
- Figura 5.3: Muestreo de importancia ponderada
- Figura 5.4: Muestreo de importancia ordinaria con estimaciones sorprendentemente inestables
Capítulo 6
- Ejemplo 6.2: Paseo aleatorio
- Figura 6.2: Actualización por lotes
- Figura 6.3: Sarsa aplicada al mundo de la red ventosa
- Figura 6.4: La tarea de caminar por los acantilados
- Figura 6.6: Rendimiento provisional y asintótico de los métodos de control de TD
- Figura 6.7: Comparación de Q-learning y Double Q-learning
Capítulo 7
- Figura 7.2: Rendimiento de los métodos TD de n pasos en un paseo aleatorio de 19 estados
Capítulo 8
- Figura 8.2: Curvas de aprendizaje promedio para agentes Dyna-Q que varían en su número de pasos de planificación
- Figura 8.4: Rendimiento promedio de los agentes Dyna en una tarea de bloqueo
- Figura 8.5: Rendimiento promedio de los agentes Dyna en una tarea de acceso directo
- Ejemplo 8.4: El barrido priorizado acorta significativamente el tiempo de aprendizaje en la tarea del laberinto Dyna
- Figura 8.7: Comparación de la eficiencia de las actualizaciones esperadas y de muestra
- Figura 8.8: Eficiencia relativa de diferentes distribuciones de actualizaciones
Capítulo 9
- Figura 9.1: Algoritmo de gradiente Monte Carlo en la tarea de caminata aleatoria de 1000 estados
- Figura 9.2: Algoritmo TD de n pasos en semigradiente en la tarea de caminata aleatoria de 1000 estados
- Figura 9.5: Base de Fourier versus polinomios en la tarea de caminata aleatoria de 1000 estados
- Figura 9.8: Ejemplo del efecto del ancho de la característica en la generalización inicial y la precisión asintótica
- Figura 9.10: Mosaicos únicos y múltiples en la tarea de caminata aleatoria de 1000 estados
Capítulo 10
- Figura 10.1: Función de costo restante para la tarea Mountain Car en una sola ejecución
- Figura 10.2: Curvas de aprendizaje para Sarsa semigradiente en la tarea Mountain Car
- Figura 10.3: Rendimiento de un paso frente a varios pasos de Sarsa semigradiente en la tarea Mountain Car
- Figura 10.4: Efecto de alfa y n en el rendimiento temprano de Sarsa semigradiente de n pasos
- Figura 10.5: Semigradiente diferencial Sarsa en la tarea de cola de control de acceso
Capítulo 11
- Figura 11.2: Contraejemplo de Baird
- Figura 11.6: El comportamiento del algoritmo TDC en el contraejemplo de Baird
- Figura 11.7: El comportamiento del algoritmo ETD según las expectativas en el contraejemplo de Baird
Capítulo 12
- Figura 12.3: Algoritmo de retorno λ fuera de línea en un paseo aleatorio de 19 estados
- Figura 12.6: Algoritmo TD(λ) en paseo aleatorio de 19 estados
- Figura 12.8: Algoritmo TD(λ) en línea verdadero en un paseo aleatorio de 19 estados
- Figura 12.10: Sarsa(λ) con reemplazo de trazas en Mountain Car
- Figura 12.11: Comparación resumida de los algoritmos Sarsa(λ) en Mountain Car
Capítulo 13
- Ejemplo 13.1: Corredor corto con acciones conmutadas
- Figura 13.1: REINFORCE en el mundo de la red de corredores cortos
- Figura 13.2: REFORZAR con línea de base en el mundo de la cuadrícula de corredor corto
Ambiente
- pitón 3.6
- engordado
- matplotlib
- nacido en el mar
- tqdm
Uso
Todos los archivos son autónomos.
python any_file_you_want.py
Contribución
Si desea contribuir con algunos ejemplos faltantes o corregir algunos errores, no dude en abrir un problema o realizar una solicitud de extracción.