Lo intentaré y espero que os guste. Hay algunas fórmulas más abajo que podrían asustarte. No lo espero, porque haré todo lo posible para explicarlas de la manera más sencilla que pueda.
Estas son las dos fórmulas:
- La probabilidad: $P(r|\theta,a,x)$
- Y el posterior: $P(\theta|D)$
TL;DR
Thompson Sampling le permite
- Elija un parámetro aleatorio del modelo de entre todos los que considere posibles.
- Actuar una vez según ese parámetro particular del modelo.
- Observa la recompensa que obtienes con ese parámetro particular del modelo.
- Aprende de esta nueva experiencia y actualiza tu creencia sobre los posibles parámetros del modelo.
¿Probabilidad?
La probabilidad es algo que define cómo probablemente las cosas son. En este caso la probabilidad dice cómo probablemente es que recibimos la recompensa $r$ si se trata de una acción de juego $a$ en contexto $x$ . Por ejemplo, si llueve (¡contexto!) y coges un paraguas (¡acción!) te mantienes seco (¡premio! :) ). En cambio, si no llueve (¡contexto!) y coges un paraguas (¡acción!) tienes que cargar con un peso extra (¡recompensa negativa! :( ). Por lo tanto, la probabilidad es lo más importante que hay que entender. Si lo sabes todo sobre la probabilidad, es fácil actuar de forma óptima.
¿Qué pasa con ese extraño círculo?
Como habrás notado no escribí nada sobre ese extraño círculo $\theta$ que se llama theta. (Los matemáticos tienen la costumbre de indicar qué partes son las más difíciles dándoles letras griegas, lo que dificulta aún más su comprensión). Este $\theta$ representa el parámetro del modelo. Estos parámetros se utilizan cuando la relación entre el contexto+acciones y la recompensa es más difícil. Por ejemplo, un parámetro del modelo podría ser cuánto baja tu recompensa si te cae 1mm de lluvia encima de la cabeza. Otro parámetro del modelo podría ser cuánto disminuye tu recompensa si coges un paraguas. Acabo de decir que la probabilidad es lo principal que quieres entender, y que los parámetros del modelo son lo principal de la probabilidad. Si conoces los parámetros del modelo $\theta$ , sabes cómo se relaciona el contexto+acciones con la recompensa y es fácil actuar de forma óptima.
Entonces, ¿cómo podemos conocer estos parámetros del modelo para obtener la máxima recompensa?
Esta es la cuestión esencial para el problema del bandido de brazos múltiples. En realidad, tiene dos partes. Se quiere conocer con precisión los parámetros del modelo explorando todos los tipos de acciones en diferentes contextos. Pero si ya sabes qué acción es buena para un contexto específico, quieres explotar esa acción y obtener la mayor recompensa posible. Así que si no estás seguro de los parámetros de tu modelo $\theta$ es posible que quieras hacer una exploración adicional. Si estás bastante seguro de los parámetros de nuestro modelo $\theta$ También está bastante seguro de qué acción tomar. Esto es lo que se conoce como el compromiso de exploración versus explotación.
No has dicho nada sobre esto después
La clave de este comportamiento óptimo es su (des)certeza sobre los parámetros del modelo $\theta$ . Y la posterioridad dice exactamente eso: dadas todas las recompensas anteriores que obtuvimos por acciones anteriores en contextos anteriores, ¿cuánto se sabe de $\theta$ . Por ejemplo, si nunca has salido a la calle, no sabes lo infeliz que te vuelves cuando te llueve en la cabeza. En otras palabras, no tienes muy claro el parámetro del modelo de infelicidad cuando llueve sobre la cabeza. Si has estado alguna vez bajo la lluvia, con y sin paraguas, puedes empezar a aprender algo sobre este oscuro parámetro del modelo.
Ahora bien, ¿qué sugiere Thomson Sampling para hacer frente a todas estas incertidumbres?
El muestreo de Thomson propone algo muy sencillo: basta con elegir un parámetro aleatorio del modelo a posteriori, realizar una acción y observar lo que ocurre. Por ejemplo, si nunca has salido a la calle, el parámetro de infelicidad cuando llueve en la cabeza puede ser cualquier cosa. Así que elegimos uno, suponemos que nos sentimos muy infelices cuando nos llueve en la cabeza. Vemos que está lloviendo (contexto), así que cogemos un paraguas (acción) porque el parámetro de nuestro modelo nos dice que así podemos obtener la máxima recompensa. Y efectivamente, observas que te pones un poco de mal humor al caminar bajo la lluvia con un paraguas, pero no eres realmente infeliz. De esto aprendemos que lluvia+paraguas es malhumorado. La próxima vez que llueva vuelves a elegir una creencia al azar sobre lo que ocurre cuando la lluvia cae sobre tu cabeza. Esta vez puede ser que no te moleste en absoluto. Sin embargo, cuando estás a mitad de camino hacia tu destino te mojas y aprendes que la lluvia sin paraguas es realmente mala. Esto reduce tu incertidumbre sobre la infelicidad cuando llueve sobre la cabeza, porque ahora sabes que probablemente sea alta.
¡¡Esto suena tan simple!!
Sí, no es tan complejo. La parte difícil es el muestreo a partir de un parámetro posterior del modelo. Conseguir y mantener una distribución sobre todos los parámetros del modelo, que además sea apropiada para su problema específico, es difícil. Pero... es definitivamente factible :).