Aprendizaje por Refuerzo para la Optimización de la Estrategia de Precios

Elena Krasheninnikova

d&a blog

Darle la vuelta a una tortilla es un movimiento complejo que los humanos necesitan aprender a través de la experimentación y la repetición. Entonces, ¿cómo podría un robot aprender a dar la vuelta a una tortilla? Imaginemos que hay un brazo robotizado capaz de realizar los mismos movimientos que un brazo humano. La mano sostiene una sartén, y la masa está cocida y tiene la forma de tortilla perfecta.

Imaginemos también que somos capaces de escribir el código necesario para hacer que el brazo robotizado mueva la mano de una manera que podría hacer que la tortilla voltee en el aire y caiga de nuevo sobre la sartén. La consecuencia más probable de nuestro primer intento posiblemente sería un fracaso.

Un humano se detendría y pensaría lo que salió mal. ¿Fue el movimiento demasiado fuerte? ¿Muy débil? ¿Debería haber esperado a que la tortilla caiga más a la derecha o a la izquierda? Cuando pensamos en las posibles consecuencias de nuestros movimientos y vemos el resultado, aprendemos. Y también lo hacen las máquinas.

 

Un equipo dirigido por Petar Kormushev utilizó las tecnologías de machine learning para entrenar a un robot de Barret Wam para dar vuelta a las tortillas a través del aprendizaje por refuerzo. Después de 50 intentos, el robot fue capaz de darle la vuelta a la tortilla. Utilizando una mezcla compleja de técnicas basadas en Markov Decision Process (Procesos de Decisión de Markov), el equipo diseñó un sistema capaz de entender lo que funcionó y lo que salió mal.

En BBVA Data & Analytics, estamos explorando este mismo modelo para optimizar las estrategias de precios, que pueden ser útiles para el aumento de ingresos y la retención de clientes. En las líneas siguientes, explicamos los pilares básicos de esta metodología.

Proceso de Decisión de Markov

El aprendizaje por refuerzo consiste en aprender a decidir en una situación dada qué acción es la mejor para lograr un objetivo. Un agente de hardware o software está conectado a su entorno a través de la percepción y la acción. En cada instante el agente recibe desde el entorno a través de los sensores el estado  en el que se encuentra. Entonces el agente decide ejecutar una acción , que genera como una salida. Esta salida cambia el estado del entorno a , que se transmite al agente con una señal de refuerzo .

Esta señal informa al agente de la utilidad de ejecutar la acción desde el estado para lograr una meta específica.

El comportamiento o política del agente debe ser tal que elija acciones que aumenten la suma de todas las señales de aprendizaje recibidas con el tiempo. Formalmente, el modelo consiste en un espacio de estados, , en el que se puede encontrar el agente, y un espacio de acciones, , que el agente puede ejecutar. También el modelo incluye varias funciones que son desconocidas en principio: una función , que realiza las transiciones de estado, y una función , que calcula el refuerzo que el agente recibe en cada momento. Con estas funciones se completa la descripción de los Procesos de Decisión de Markov (MDP).

El objetivo del agente es encontrar una política que, para cada estado , decida qué acción debe tomarse, de modo que se maximice alguna medida de refuerzo a largo plazo. Este objetivo se denomina criterio de optimalidad y puede ser diferente dependiendo del problema a resolver.

Resolver el problema de optimización de la estrategia de precios (PSO) como un problema de aprendizaje por refuerzo (RL) requiere el modelado de PSO como un proceso de decisión de Markov.

Criterios de optimización

La optimización de la estrategia de precios para las carteras de renovación requiere el manejo de dos funciones principales:

    • Ganancia

1

Donde representa la distribución de Bernoulli para la probabilidad de aceptación de un ratio de renovación dado.

    • Retención

2

Donde es la probabilidad de aceptación de un ratio de renovación dado .

Maximizaremos la función de ganancia que contiene implícitamente la retención.

Espacio de estados

Los estados son las condiciones posibles del objeto antes y después de que se ejecute una acción. Una manera sencilla de explicar esto sería diferenciar las condiciones iniciales y las condiciones óptimas o peores esperadas. En nuestro ejemplo, un estado es una tupla de características globales y de clientes.

Espacio de acciones

Las acciones se refieren a la manera en que interactuamos conscientemente con el objeto y se pueden manifestar de diferentes maneras: puede referirse a la presión o ablandamiento que aplicamos sobre una superficie, o el movimiento del brazo, en el caso del robot y la tortilla.

En PSO, una acción es el ratio de renovación para el cliente actual. Asumimos que tenemos un espacio finito y discreto de acciones. Los ratios de renovación para cada cliente están limitados con las restricciones globales aplicadas a cada cliente (dependiendo de sus variables). Es decir, cada cliente tiene sus restricciones para los ratios de renovación. Dividimos el rango de posibles ratios de renovación de cada cliente de manera que cada cliente tenga 10 acciones posibles (incrementos/decrementos) incluyendo el valor de 1 (cuando el precio es el mismo que en la última renovación).

Función de transición

La función de transición realiza la transición de un estado dado a otro diferente después de ejecutar una acción específica. En PSO usamos el modelo de probabilidad (Regresión Logística) como un simulador que nos devuelve la respuesta en forma de probabilidad de aceptación de un ratio de renovación dado (acción) por cada cliente. Actualizamos las variables globales dependiendo del valor final de la clase (renovación o no).

3

Función de refuerzo

El refuerzo es una medida de cómo de buena es la acción aplicada al estado. Si una acción conduce a una política óptima, entonces el refuerzo reconoce la acción óptima, y es cuando el aprendizaje ocurre. Como nuestro criterio de optimalidad es maximizar la función de ganancia, el refuerzo en PSO es la diferencia entre el valor de la función de ganancia en el estado anterior y el actual.

Se puede decir que tenemos un conocimiento completo del modelo de un MDP finito si conocemos el espacio de estados y el espacio de acciones, las probabilidades que definen su dinámica y la función de refuerzo.

Funciones de valor

Muchos algoritmos de aprendizaje por refuerzo intentan aprender la política con aproximación de funciones de valor. Estas funciones estiman, dada una política, lo bueno que es para un agente estar en un estado particular, o incluso lo bueno que es ejecutar una determinada acción de un estado particular. El valor de un estado bajo una política , que se denota con , es el refuerzo que se espera obtener si empezamos a guiarnos por la política desde el estado hasta el infinito:

4

Donde denota el valor esperado dado que el agente sigue la política . Esta función se denomina como función de valor-estado.

De la misma manera, , puede definirse como el valor de ejecutar una acción desde un estado que sigue una política , es decir, el refuerzo que se espera obtener si comenzamos a guiarnos por la política después de ejecutar la acción desde el estado .

5

Esta función se denomina función de valor-acción. En ambas ecuaciones el parámetro se ha introducido como un factor de descuento para acciones futuras, siguiendo un criterio de optimalidad de horizonte infinito descontado en el momento definido:

6

Siempre hay una o más políticas que son mejores o iguales que otras políticas, que se definen como políticas óptimas. Una política óptima se denomina como . Las políticas óptimas comparten una única función óptima de valor-estado.

7

También existe una función de valor-acción óptima , que también es única y que maximiza el valor de cualquier par de estado-acción para cualquier política.

8

Las políticas óptimas pueden derivarse fácilmente de estas funciones. Hay una gran cantidad de métodos que se pueden aplicar para aprender las funciones de valor, y por lo tanto, las políticas óptimas para un MDP finito dado:

  1. Programación dinámica
    • Iteración de valor
    • Iteración de política
  2. Métodos libres de modelo (on-policy y off-policy métodos)
    • Aprendizaje por diferencia temporal (Q-Learning)
    • Monte Carlo con arranque exploratorio
  3. Métodos basados en el modelo
    • Método de equivalencia de certeza
    • Dyna-Q
    • Prioritized Sweeping
    • Queue-Dyna
    • Programación Dinámica en Tiempo Real

 

En el problema de la optimización de la estrategia de precios utilizamos Q-learning para aprender las funciones de valor y las políticas óptimas. La fase de implementación consistió en explorar el dominio ejecutando diferentes estrategias, normalización y agrupación de estados, construyendo Q-table inicializada a cero con un número de estados igual al número de clusters y simulando todas las tuplas de experiencias siguiendo el Q-learning. Para cada tupla de experiencia, los estados deben ser normalizados y discretizados siguiendo los factores de normalización y los clusters obtenidos anteriormente.

En el trabajo descrito ha colaborado con nosotros un experto en aprendizaje por refuerzo de la Universidad Carlos III de Madrid Fernando Fernández Rebollo.

¿Has utilizado Aprendizaje Reforzado para otros usos? Comparte tus ejemplos con nosotros en el Twitter de BBVA Data & Analytics.