Auriau, Vincent, Ali Aouad, Antoine Désir y Emmanuel Malherbe. "Choice-Learn: Modelización de elecciones a gran escala para contextos operativos a través de la lente del aprendizaje automático". Journal of Open Source Software 9, nº 101 (2024): 6899.

Introducción

El objetivo de los modelos de elección discreta es predecir las decisiones que toman los individuos a partir de un menú de alternativas, denominado surtido. Los casos de uso más conocidos incluyen la predicción de la elección del modo de transporte de un viajero o las compras de un cliente. Los modelos de elección son capaces de gestionar variaciones en el surtido, cuando algunas alternativas dejan de estar disponibles o cuando sus características cambian en diferentes contextos. Esta capacidad de adaptación a distintos escenarios permite utilizar estos modelos como datos de entrada para problemas de optimización, como la planificación del surtido o la fijación de precios.

Choice-Learn ofrece un conjunto modular de herramientas de modelización de la elección para que los profesionales y los investigadores académicos procesen la elección data y, a continuación, formulen, estimen y operacionalicen modelos de elección. La biblioteca está estructurada en dos niveles de uso, como se ilustra en la Figura 1. El nivel superior está diseñado para una implementación rápida y sencilla, y el nivel inferior está diseñado para una implementación rápida y sencilla. El nivel superior está diseñado para una implementación rápida y sencilla y el nivel inferior permite parametrizaciones más avanzadas. Esta estructura, inspirada en los diferentes puntos finales de Keras (Chollet et al., 2015), permite una interfaz fácil de usar. Choice-Learn está diseñado con los siguientes objetivos:

  • Racionalizado: El procesamiento de los conjuntos de datos y la estimación de los modelos de elección estándar se ven facilitados por una firma de código sencilla y coherente con los paquetes de aprendizaje automático habituales, como scikit-learn (Pedregosa et al., 2011).

  • Escalable: Se implementan procesos optimizados para el almacenamiento en data y la estimación de modelos, lo que permite el uso de grandes conjuntos de datos y modelos con un gran número de parámetros.

  • Flexible: El código base puede personalizarse para adaptarse a diferentes casos de uso.

  • Biblioteca de modelos: El mismo paquete proporciona implementaciones tanto de modelos de elección estándar como de métodos basados en el aprendizaje automático, incluidas las redes neuronales.

  • Operaciones posteriores: Las herramientas de postprocesamiento que aprovechan los modelos de elección para la planificación del surtido y la fijación de precios están integradas en la biblioteca.

Las principales contribuciones se resumen en los cuadros 1 y 2.

class="img-responsive
class="img-responsive
class="img-responsive

Declaración de necesidad

Data y escalabilidad del modelo

La gestión de data de Choice-Learn se basa en NumPy (Harris et al., 2020) con el objetivo de limitar la huella de memoria. Minimiza la repetición de elementos o características de clientes y aplaza la unión de la estructura completa de data hasta el procesamiento de lotes de data. El paquete introduce el objeto FeaturesStorage, ilustrado en la Figura 2, que permite referenciar los valores de características sólo por su ID. Estos valores se sustituyen al marcador de posición ID sobre la marcha en el proceso de procesamiento por lotes. Por ejemplo, las características de los supermercados, como la superficie o la posición, suelen ser estacionarias. Así, pueden almacenarse en una estructura auxiliar de data y, en el conjunto de datos principal, el almacén donde se registra la elección sólo se referencia con su ID.

El paquete se basa en Tensorflow (Abadi et al., 2015) para la estimación de modelos, ofreciendo la posibilidad de utilizar algoritmos de optimización rápidos de cuasi-Newton como L-BFGS (Nocedal & Wright, 2006), así como varios optimizadores de gradiente-descenso (Kingma & Ba, 2017; Tieleman & Hinton, 2012) especializados en el manejo de lotes de data. También es posible el uso de GPU, lo que puede suponer un ahorro de tiempo. Por último, la columna vertebral de TensorFlow garantiza un uso eficiente en un entorno de producción, por ejemplo dentro de un software de recomendación de surtido, a través de herramientas de despliegue y servicio, como TFLite y TFServing.

class="img-responsive

Uso flexible: Desde la utilidad lineal hasta la especificación personalizada

Los modelos de elección que siguen el principio de Maximización de la Utilidad Aleatoria (McFadden & Train, 2000) definen la utilidad de una alternativa 𝑖 ∈ 𝒜 como la suma de una parte determinista 𝑈 (𝑖) y un error aleatorio 𝜖𝑖. Si se supone que los términos (𝜖𝑖)𝑖∈𝒜 son independientes y distribuidos por Gumbel, la probabilidad de elegir la alternativa 𝑖 puede escribirse como la normalización softmax sobre las alternativas disponibles 𝑗 ∈ 𝒜:

class="img-responsive

El trabajo del modelador de elecciones consiste en formular una función de utilidad adecuada 𝑈 (.) en función del contexto. En Choice-Learn, el usuario puede parametrizar modelos predefinidos o especificar libremente una función de utilidad personalizada. Para declarar un modelo personalizado, es necesario heredar la clase ChoiceModel y sobrescribir el método compute_batch_utility como se muestra en la documentación.

Biblioteca de modelos tradicionales de utilidad aleatoria y modelos basados en el aprendizaje automático

Los modelos de elección paramétricos tradicionales, incluido el Logit Condicional (Train et al., 1987), suelen especificar la función de utilidad de forma lineal. Esto proporciona coeficientes interpretables, pero limita el poder predictivo del modelo. Trabajos recientes proponen la estimación de modelos más complejos, con enfoques de redes neuronales (Aouad & Désir, 2022; Han et al., 2022) y modelos basados en árboles (Aouad et al., 2023; Salvadé & Hillel, 2024). Mientras que las bibliotecas de elección existentes (Bierlaire, 2023; Brathwaite & Walker, 2018; Du et al., 2023) no suelen estar diseñadas para integrar estos enfoques basados en el aprendizaje automático, Choice-Learn propone una colección que incluye ambos tipos de modelos.

Operaciones descendentes: Optimización del surtido y de los precios

Choice-Learn Servicios herramientas adicionales para operaciones posteriores, que no suelen estar integradas en las bibliotecas de modelos de elección. En concreto, la optimización del surtido es un caso de uso común que aprovecha un modelo de elección para determinar el subconjunto óptimo de alternativas que ofrecer a los clientes maximizando un objetivo determinado, como los ingresos esperados, la tasa de conversión o el bienestar social. Este marco abarca diversas aplicaciones, como la planificación del surtido, la optimización de la ubicación de los expositores y la fijación de precios. Proporcionamos implementaciones basadas en la formulación de programación entera mixta descrita en (Méndez-Díaz et al., 2014), con la opción de elegir el solucionador entre Gurobi (Gurobi Optimization, LLC, 2023) y OR-Tools (Perron & Furnon,2024).

Uso de la memoria: estudio de un caso

En la Figura 3 (a) ofrecemos ejemplos numéricos de uso de memoria para mostrar la eficiencia del FeaturesStorage. Consideramos una característica que se repite en un conjunto de datos, como una codificación de ubicaciones, representada por una matriz de forma (#ubicaciones, #ubicaciones) en la que cada fila se refiere a una ubicación.
a una ubicación.
Comparamos cuatro métodos de manejo de data en el conjunto de datos Expedia (Ben Hamner et al., 2013): pandas.DataFrames (The pandas development team, 2020) en formato largo y ancho, ambos utilizados en paquetes de modelado de elección, Torch-Choice y Choice-Learn. La figura 3 (b) muestra los
resultados para distintos tamaños de muestra.
Por último, en la Figura 3 (c) y (d), observamos ganancias en el uso de memoria en un conjunto de datos propio de la venta minorista en establecimientos físicos consistente en la agregación de más de 4.000 millones de compras en supermercados Konzum de Croacia. Centrándonos en la subcategoría de café, el conjunto de datos especifica, para cada compra, qué productos estaban disponibles, sus precios, así como una representación del supermercado.

class="img-responsive
class="img-responsive

Blog de Medium por Artefact.

Este artículo se publicó inicialmente en Medium.com.
¡Síguenos en nuestro Medium Blog !