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

Introducción

Los modelos de elección discreta tienen como objetivo predecir las decisiones que toman las personas a la hora de elegir entre un conjunto de alternativas, denominado «surtido». Entre los casos de uso más conocidos se encuentran la predicción del medio de transporte que elegirá una persona para desplazarse al trabajo o las compras que realizará un cliente. Los modelos de elección son capaces de gestionar variaciones en el surtido, ya sea cuando algunas alternativas dejan de estar disponibles o cuando sus características cambian en distintos contextos. Esta adaptabilidad a diferentes escenarios permite que estos modelos se utilicen 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 elecciones destinadas a profesionales e investigadores académicos para procesar data de elección y, a continuación, formular, estimar y poner en práctica modelos de elección. La biblioteca está estructurada en dos niveles de uso, tal y como se ilustra en la figura 1. El nivel superior está diseñado para una implementación rápida y sencilla, mientras que 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 se ha diseñado con los siguientes objetivos:

  • Optimizado: El procesamiento de conjuntos de datos y la estimación de modelos de elección estándar se ven facilitados por un código sencillo que es compatible con los principales paquetes de aprendizaje automático, como scikit-learn (Pedregosa et al., 2011).

  • Escalable: Se han implementado procesos optimizados para data y la estimación de modelos, lo que permite utilizar grandes conjuntos de datos y modelos con un gran número de parámetros.

  • Flexible: El código fuente se puede personalizar para adaptarse a diferentes casos de uso.

  • Biblioteca de modelos: Este mismo paquete ofrece 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: La biblioteca incluye herramientas de posprocesamiento que utilizan modelos de elección para la planificación del surtido y la fijación de precios.

Las principales contribuciones se resumen en las tablas 1 y 2.

class="lazyload
class="lazyload
class="lazyload

Justificación de la necesidad

Escalabilidad de Data los modelos

data de Choice-Learn se basa en NumPy (Harris et al., 2020) con el objetivo de reducir el consumo de memoria. Minimiza la repetición de elementos o características de los clientes y pospone la unión de la data completa hasta el procesamiento de lotes data. El paquete introduce el objeto FeaturesStorage, ilustrado en la figura 2, que permite hacer referencia a los valores de las características únicamente mediante su ID. Estos valores se sustituyen al marcador de posición del ID sobre la marcha durante el proceso de procesamiento por lotes. Por ejemplo, las características de los supermercados, como la superficie o la ubicación, suelen ser fijas. Por lo tanto, pueden almacenarse en una data auxiliar y, en el conjunto de datos principal, la tienda donde se registra la elección solo se identifica mediante su ID.

El paquete se basa en TensorFlow (Abadi et al., 2015) para la estimación de modelos, lo que ofrece la posibilidad de utilizar algoritmos de optimización cuasi-Newtonianos rápidos, como L-BFGS (Nocedal y Wright, 2006), así como diversos optimizadores de descenso de gradiente (Kingma y Ba, 2017; Tieleman y Hinton, 2012) especializados en el manejo de lotes data. También es posible el uso de GPU, lo que puede suponer un ahorro de tiempo. Por último, la estructura 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 implementación y servicio, como TFLite y TFServing.

class="lazyload

Uso flexible: desde aplicaciones lineales hasta especificaciones personalizadas

Los modelos de elección que siguen el principio de maximización de la utilidad aleatoria (McFadden y 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 siguen una distribución de Gumbel, la probabilidad de elegir la alternativa 𝑖 puede expresarse como la normalización softmax sobre las alternativas disponibles 𝑗 ∈ 𝒜:

class="lazyload

La tarea del modelador de elección 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 de la clase ChoiceModel y sobrescribir el método compute_batch_utility tal y como se indica en la documentación.

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

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

Operaciones de distribución: optimización del surtido y de los precios

Choice-Learn Servicios herramientas Servicios para operaciones posteriores, que no suelen estar integradas en las bibliotecas de modelización de elección. En concreto, la optimización del surtido es un caso de uso habitual que aprovecha un modelo de elección para determinar el subconjunto óptimo de alternativas que ofrecer a los clientes, maximizando así 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 productos y la fijación de precios. Ofrecemos implementaciones basadas en la formulación de programación mixta-entera 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: un caso práctico

En la figura 3 (a) ofrecemos ejemplos numéricos del uso de la memoria para demostrar la eficiencia de FeaturesStorage. Consideramos una característica que se repite en un conjunto de datos, como una codificación «one-hot» para ubicaciones, representada por una matriz de forma (#locations, #locations) en la que cada fila hace referencia
a una ubicación.
Comparamos cuatro métodos data en el conjunto de datos de Expedia (Ben Hamner et al., 2013): pandas.DataFrames (El equipo de desarrollo de pandas, 2020) en formato largo y ancho, ambos utilizados en los paquetes de modelización de elección, Torch-Choice y Choice-Learn. La figura 3 (b) muestra los
resultados para varios tamaños de muestra.
Por último, en las figuras 3 (c) y (d), observamos mejoras en el uso de la memoria en un conjunto de datos propio sobre el comercio minorista físico, que consiste en la agregación de más de 4000 millones de compras en los supermercados Konzum de Croacia. Centrándonos en la subcategoría del café, el conjunto de datos especifica, para cada compra, qué productos estaban disponibles, sus precios, así como una representación one-hot del supermercado.

class="lazyload
class="lazyload

Blog de Medium de Artefact.

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