Auriau, Vincent, Ali Aouad, Antoine Désir et Emmanuel Malherbe. « Choice-Learn : modélisation des choix à grande échelle pour des contextes opérationnels sous l'angle de l'apprentissage automatique ». Journal of Open Source Software 9, n° 101 (2024) : 6899.

Introduction

Les modèles de choix discrets visent à prédire les choix effectués par des individus parmi un ensemble d'alternatives, appelé « assortiment ». Parmi les cas d'application bien connus, on peut citer la prédiction du mode de transport choisi par un navetteur ou des achats effectués par un client. Les modèles de choix sont capables de gérer les variations de l'assortiment, lorsque certaines alternatives ne sont plus disponibles ou lorsque leurs caractéristiques changent selon les contextes. Cette adaptabilité à différents scénarios permet d'utiliser ces modèles comme données d'entrée pour des problèmes d'optimisation, notamment la planification de l'assortiment ou la tarification.

Choice-Learn propose une suite modulaire d’outils de modélisation des choix destinés aux professionnels et aux chercheurs universitaires, leur permettant de traiter data sur les choix, puis de formuler, d’estimer et de mettre en œuvre des modèles de choix. La bibliothèque est structurée en deux niveaux d'utilisation, comme l'illustre la figure 1. Le niveau supérieur est conçu pour une mise en œuvre rapide et facile, tandis que le niveau inférieur permet des paramétrages plus avancés. Cette structure, inspirée des différents points de terminaison de Keras (Chollet et al., 2015), offre une interface conviviale. Choice-Learn a été conçu avec les objectifs suivants :

  • Simplification : le traitement des ensembles de données et l'estimation des modèles de choix standard sont facilités par une syntaxe de code simple, compatible avec les principaux progiciels d'apprentissage automatique tels que scikit-learn (Pedregosa et al., 2011).

  • Évolutif : des processus optimisés sont mis en œuvre pour data et l'estimation des modèles, ce qui permet d'utiliser de grands ensembles de données et des modèles comportant un grand nombre de paramètres.

  • Flexible : La base de code peut être personnalisée pour s'adapter à différents cas d'usage.

  • Bibliothèque de modèles : ce même package propose à la fois des implémentations de modèles de choix standard et des méthodes basées sur l'apprentissage automatique, y compris les réseaux neuronaux.

  • Opérations en aval : des outils de post-traitement qui exploitent des modèles de choix pour la planification des gammes et la tarification sont intégrés à la bibliothèque.

Les principales contributions sont résumées dans les tableaux 1 et 2.

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

Justification du besoin

Évolutivité Data des modèles

data de Choice-Learn s'appuie sur NumPy (Harris et al., 2020) dans le but de limiter l'empreinte mémoire. Elle minimise la répétition des caractéristiques des articles ou des clients et reporte la jointure de la data complète jusqu'au traitement des lots de data. Le package introduit l'objet FeaturesStorage, illustré à la figure 2, qui permet de référencer les valeurs des caractéristiques uniquement par leur identifiant. Ces valeurs sont substituées à la place de l'identifiant à la volée lors du processus de traitement par lots. Par exemple, les caractéristiques des supermarchés telles que la superficie ou l'emplacement sont souvent fixes. Elles peuvent donc être stockées dans une data auxiliaire et, dans l'ensemble de données principal, le magasin où le choix est enregistré n'est référencé que par son identifiant.

Le package s'appuie sur TensorFlow (Abadi et al., 2015) pour l'estimation des modèles, offrant la possibilité d'utiliser des algorithmes d'optimisation quasi-Newton rapides tels que L-BFGS (Nocedal & Wright, 2006), ainsi que divers optimiseurs par descente de gradient (Kingma & Ba, 2017 ; Tieleman & Hinton, 2012) spécialisés dans le traitement de lots data. L'utilisation d'un GPU est également possible, ce qui peut permettre de gagner du temps. Enfin, l'infrastructure TensorFlow garantit une utilisation efficace en environnement de production, par exemple au sein d'un logiciel de recommandation d'assortiment, grâce à des outils de déploiement et de mise en service tels que TFLite et TFServing.

class="lazyload

Polyvalence d'utilisation : de l'application linéaire aux spécifications sur mesure

Les modèles de choix fondés sur le principe de la maximisation aléatoire de l'utilité (McFadden & Train, 2000) définissent l'utilité d'une alternative 𝑖 ∈ 𝒜 comme la somme d'une partie déterministe 𝑈(𝑖) et d'une erreur aléatoire 𝜖𝑖. Si l'on suppose que les termes (𝜖𝑖)𝑖∈𝒜 sont indépendants et suivent une distribution de Gumbel, la probabilité de choisir l'alternative 𝑖 peut s'écrire sous la forme d'une normalisation softmax sur les alternatives disponibles 𝑗 ∈ 𝒜 :

class="lazyload

Le rôle du modélisateur de choix consiste à formuler une fonction d'utilité 𝑈 (.) adaptée au contexte. Dans Choice-Learn, l'utilisateur peut paramétrer des modèles prédéfinis ou spécifier librement une fonction d'utilité personnalisée. Pour déclarer un modèle personnalisé, il faut hériter de la classe ChoiceModel et redéfinir la méthode compute_batch_utility, comme indiqué dans la documentation.

Bibliothèque de modèles traditionnels d'utilité aléatoire et de modèles basés sur l'apprentissage automatique

Les modèles paramétriques traditionnels de choix, notamment le modèle logit conditionnel (Train et al., 1987), spécifient souvent la fonction d'utilité sous une forme linéaire. Cela permet d'obtenir des coefficients interprétables, mais limite la capacité prédictive du modèle. Des travaux récents proposent l'estimation de modèles plus complexes, à l'aide d'approches basées sur les réseaux neuronaux (Aouad & Désir, 2022 ; Han et al., 2022) et de modèles arborescents (Aouad et al., 2023 ; Salvadé & Hillel, 2024). Alors que les bibliothèques de choix existantes (Bierlaire, 2023 ; Brathwaite & Walker, 2018 ; Du et al., 2023) ne sont souvent pas conçues pour intégrer de telles approches basées sur l'apprentissage automatique, Choice-Learn propose une collection comprenant les deux types de modèles.

Activités en aval : optimisation de l'assortiment et des prix

Choice-Learn propose des outils supplémentaires pour les opérations en aval, qui ne sont généralement pas intégrés dans les bibliothèques de modélisation des choix. L'optimisation de l'assortiment, en particulier, est un cas d'utilisation courant qui exploite un modèle de choix pour déterminer le sous-ensemble optimal d'alternatives à proposer aux clients afin de maximiser un certain objectif, tel que le chiffre d'affaires attendu, le taux de conversion ou le bien-être social. Ce cadre couvre diverses applications telles que la planification de l'assortiment, l'optimisation de l'emplacement des produits en rayon et la tarification. Nous proposons des implémentations basées sur la formulation de programmation mixte-entière décrite dans (Méndez-Díaz et al., 2014), avec la possibilité de choisir le solveur entre Gurobi (Gurobi Optimization, LLC, 2023) et OR-Tools (Perron & Furnon, 2024).

Utilisation de la mémoire : une étude de cas

Nous présentons à la figure 3 (a) des exemples chiffrés d'utilisation de la mémoire afin d'illustrer l'efficacité de FeaturesStorage. Nous prenons le cas d'une caractéristique répétée dans un ensemble de données, telle qu'un codage one-hot pour des emplacements, représentée par une matrice de forme (#locations, #locations) où chaque ligne correspond
à un emplacement.
Nous comparons quatre méthodes data sur l'ensemble de données Expedia (Ben Hamner et al., 2013) : pandas.DataFrames (The pandas development team, 2020) en format long et large, toutes deux utilisées dans les packages de modélisation des choix, Torch-Choice et Choice-Learn. La figure 3 (b) montre les
résultats pour différentes tailles d'échantillon.
Enfin, dans les figures 3 (c) et (d), nous observons des gains en termes d'utilisation de la mémoire sur un ensemble de données propriétaire dans le secteur de la vente au détail physique, constitué de l'agrégation de plus de 4 milliards d'achats effectués dans les supermarchés Konzum en Croatie. En se concentrant sur la sous-catégorie du café, l'ensemble de données précise, pour chaque achat, quels produits étaient disponibles, leurs prix, ainsi qu'une représentation one-hot du supermarché.

class="lazyload
class="lazyload

Blog Medium Blog Artefact.

Cet article a été initialement publié sur Medium.com.
Suivez-nous sur notre Blog Medium Blog