9 · Predicción Monte Carlo
La programación dinámica necesitaba el modelo (P y R). Monte Carlo lo descarta: estima V(s) promediando simplemente los retornos reales observados tras visitar s a lo largo de muchos episodios muestreados.
La predicción Monte Carlo estima V(s) = E[G_t | s] muestreando episodios completos y promediando los retornos reales que siguieron a cada visita a s. Sin modelo de transición P, sin función de recompensa R — solo experiencia.
Sin esto:
Sin un método sin modelo solo puedes evaluar políticas cuando ya conoces P y R — inútil para el escenario real de RL donde el agente debe aprender puramente de lo que experimenta.
En el Capítulo 3 evaluamos y mejoramos políticas con programación dinámica, pero eso requería el modelo completo: las probabilidades de transición P(s'|s,a) y las recompensas R(s,a). En el escenario real de RL el agente no conoce P ni R — solo puede muestrear el entorno llamando a step() y viendo qué devuelve. Este capítulo trata la predicción sin modelo: estimar la función de valor V^π(s) solo a partir de la experiencia.
La primera idea es bellamente directa. Recuerda la definición de valor:
V^π(s) = E[ G_t | S_t = s ]
— el retorno esperado cuando empiezas en el estado s y sigues la política π. Una esperanza es solo un promedio sobre muchas muestras. Así que la predicción Monte Carlo (MC) hace exactamente eso: corre muchos episodios completos y, por cada estado visitado, registra el retorno real G_t que le siguió. La estimación de V(s) es simplemente el promedio de esos retornos.
La receta:
- Corre un episodio hasta terminar bajo π, registrando la secuencia de (estado, recompensa).
- Recorre el episodio hacia atrás acumulando el retorno descontado
Gen cada paso (G = r + γ·G). - Por cada estado visitado, agrega
Ga la lista de retornos observados de ese estado. - Repite por muchos episodios;
V(s)= media de los retornos recogidos paras.
Esto es MC de primera visita si solo cuentas la primera vez que aparece s en un episodio, o de toda visita si cuentas cada ocurrencia. Ambos convergen a V^π cuando crece el número de episodios, por la ley de los grandes números. Lo crucial: MC nunca toca P ni R — aprende directo de trayectorias muestreadas.
Python (in browser)
Monte Carlo de primera visita: corre episodios, acumula retornos hacia atrás, promedia por estado. La estimación coincide con la V(s)=s/6 analítica sin conocer el modelo.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Guardar cada retorno y volver a promediar es un desperdicio. Un truco estándar reescribe el promedio como una actualización incremental. Si V(s) es la media actual de n retornos y llega un nuevo retorno G, la nueva media es:
V(s) ← V(s) + (1/n) · ( G − V(s) )
Este es el prototipo de toda regla de aprendizaje en RL: estimación vieja + tamaño-de-paso × (objetivo − estimación vieja). El término (G − V(s)) es el error, y 1/n es el tamaño de paso. Si reemplazamos 1/n por una constante pequeña α, obtenemos un promedio corrido que olvida suavemente episodios viejos — útil cuando la política o el entorno cambian, y exactamente la forma que usará el aprendizaje por diferencias temporales en la próxima lección.
Python (in browser)
MC incremental: V(s) ← V(s) + (1/n)(G − V(s)). La estimación del estado central converge hacia su valor verdadero 0.5 al acumular episodios.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Por qué la predicción Monte Carlo se llama 'sin modelo'?
- La predicción Monte Carlo estima V^π(s) = E[G_t|s] promediando los retornos reales observados tras visitar s en muchos episodios muestreados — sin modelo.
- Calcula los retornos recorriendo cada episodio hacia atrás: G = r + γ·G; primera visita cuenta s una vez por episodio, toda visita cuenta cada ocurrencia; ambos convergen a V^π.
- La forma incremental V(s) ← V(s) + paso·(G − V(s)) — estimación vieja + tamaño-de-paso × error — es la plantilla de toda regla de aprendizaje de RL.
Las estimaciones de retorno Monte Carlo sustentan REINFORCE y los métodos de gradiente de política, y la idea de 'promediar los retornos muestreados' reaparece en todo estimador de valor sin modelo.
Si lo quitas: Sin la predicción sin modelo solo podrías evaluar políticas cuando P y R son conocidos, lo que casi nunca ocurre en entornos reales.