Auriau, Vincent, Ali Aouad, Antoine Désir en Emmanuel Malherbe. “Keuze-leren: Grootschalige keuzemodellering voor operationele contexten door de lens van machinaal leren.” Tijdschrift voor Open Source Software 9, nr. 101 (2024): 6899.
Inleiding
Discrete keuzemodellen zijn gericht op het voorspellen van keuzebeslissingen die individuen maken uit een menu van alternatieven, een zogenaamd assortiment. Bekende toepassingen zijn bijvoorbeeld het voorspellen van de keuze van een forens voor een bepaalde vervoerswijze of de aankopen van een klant. Keuzemodellen kunnen omgaan met variaties in het assortiment, wanneer sommige alternatieven niet meer beschikbaar zijn of wanneer hun kenmerken in verschillende contexten veranderen. Dankzij dit aanpassingsvermogen aan verschillende scenario's kunnen deze modellen worden gebruikt als input voor optimalisatieproblemen, waaronder assortimentsplanning of prijsstelling.
Choice-Learn biedt een modulaire suite van hulpmiddelen voor keuzemodellering waarmee praktijkmensen en academische onderzoekers data keuzes kunnen verwerken en vervolgens keuzemodellen kunnen formuleren, schatten en operationaliseren. De bibliotheek is gestructureerd in twee gebruiksniveaus, zoals geïllustreerd in figuur 1. Het hogere niveau is ontworpen voor snelle en eenvoudige implementatie en het lagere niveau maakt meer geavanceerde parameterisaties mogelijk. Deze structuur, geïnspireerd op de verschillende eindpunten van Keras (Chollet et al., 2015), maakt een gebruiksvriendelijke interface mogelijk. Choice-Learn is ontworpen met de volgende doelstellingen:
De belangrijkste bijdragen worden samengevat in Tabellen 1 en 2.



Verklaring van behoefte
Data en schaalbaarheid van het model
Het data-beheer van Choice-Learn is gebaseerd op NumPy (Harris et al., 2020) met als doel de geheugenvoetafdruk te beperken. Het minimaliseert de herhaling van items of klantkenmerken en stelt het samenvoegen van de volledige data-structuur uit tot het verwerken van batches van data. Het pakket introduceert het object FeaturesStorage, geïllustreerd in afbeelding 2, waarmee alleen naar kenmerkwaarden kan worden verwezen door hun ID. Deze waarden worden tijdens het batchproces on the fly vervangen door de ID placeholder. Supermarktkenmerken zoals oppervlakte of positie zijn bijvoorbeeld vaak stationair. Ze kunnen dus worden opgeslagen in een hulpstructuur data en in de hoofdstructuur data wordt alleen naar de opslagplaats waar de keuze is vastgelegd, verwezen met zijn ID.
Het pakket is gebaseerd op Tensorflow (Abadi et al., 2015) voor modelschatting en biedt de mogelijkheid om snelle quasi-Newton optimalisatiealgoritmen zoals L-BFGS (Nocedal & Wright, 2006) en verschillende gradient-descent optimizers (Kingma & Ba, 2017; Tieleman & Hinton, 2012) te gebruiken, die gespecialiseerd zijn in het verwerken van batches van data. GPU-gebruik is ook mogelijk, wat tijdbesparend kan zijn. Tot slot zorgt de TensorFlow backbone voor een efficiënt gebruik in een productieomgeving, bijvoorbeeld binnen een assortiment aanbevelingssoftware, door middel van deployment en serving tools, zoals TFLite en TFServing.

Flexibel gebruik: Van lineair nut tot aangepaste specificatie
Keuzemodellen volgens het principe van Random Utility Maximization (McFadden & Train, 2000) definiëren het nut van een alternatief 𝑖 ∈ 𝒜 als de som van een deterministisch deel 𝑈 (𝑖) en een willekeurige fout 𝜖𝑖. Als aangenomen wordt dat de termen (𝜖𝑖)𝑖∈𝒜 onafhankelijk en Gumbel-gedistribueerd zijn, kan de waarschijnlijkheid om alternatief 𝑖 te kiezen geschreven worden als de softmax-normalisatie over de beschikbare alternatieven 𝑗 ∈ 𝒜:

Het is de taak van de keuzemodelleerder om een geschikte nutsfunctie 𝑈 (.) te formuleren, afhankelijk van de context. In Choice-Learn kan de gebruiker voorgedefinieerde modellen parametriseren of vrijelijk een aangepaste nutsfunctie specificeren. Om een aangepast model te declareren, moet men de klasse ChoiceModel erven en de methode compute_batch_utility overschrijven, zoals in de documentatie wordt getoond.
Bibliotheek van traditionele random utiliteitsmodellen en modellen op basis van machinaal leren
Traditionele parametrische keuzemodellen, waaronder de Conditional Logit (Train et al., 1987), specificeren de nutsfunctie vaak in een lineaire vorm. Dit levert interpreteerbare coëfficiënten op, maar beperkt de voorspellende kracht van het model. Recente werken stellen de schatting van complexere modellen voor, met neurale netwerkbenaderingen (Aouad & Désir, 2022; Han et al., 2022) en boomgebaseerde modellen (Aouad et al., 2023; Salvadé & Hillel, 2024). Terwijl bestaande keuzebibliotheken (Bierlaire, 2023; Brathwaite & Walker, 2018; Du et al., 2023) vaak niet ontworpen zijn om dergelijke op machine learning gebaseerde benaderingen te integreren, stelt Choice-Learn een verzameling voor die beide soorten modellen omvat.
Downstream activiteiten: Assortiment- en prijsoptimalisatie
Choice-Learn biedt extra hulpmiddelen voor downstream operaties, die meestal niet geïntegreerd zijn in bibliotheken met keuzemodellen. Assortimentsoptimalisatie is met name een veelvoorkomende toepassing waarbij een keuzemodel wordt gebruikt om de optimale subset van alternatieven te bepalen die aan klanten moet worden aangeboden om een bepaalde doelstelling te maximaliseren, zoals de verwachte opbrengst, het conversiepercentage of de sociale welvaart. Dit raamwerk omvat een verscheidenheid aan toepassingen zoals assortimentsplanning, optimalisatie van displaylocaties en prijsstelling. Wij bieden implementaties gebaseerd op de gemengde-integer programmeerformule beschreven in (Méndez-Díaz et al., 2014), met de optie om de oplosser te kiezen tussen Gurobi (Gurobi Optimization, LLC, 2023) en OR-Tools (Perron & Furnon,2024).
Geheugengebruik: een casestudy
We geven in Figuur 3 (a) numerieke voorbeelden van geheugengebruik om de efficiëntie van FeaturesStorage aan te tonen. We beschouwen een kenmerk dat herhaald wordt in een dataset, zoals een één-hot-codering voor locaties, voorgesteld door een matrix van vorm (#locaties, #locaties) waarbij elke rij verwijst naar
naar één locatie.
We vergelijken vier data-verwerkingsmethoden op de Expedia dataset (Ben Hamner et al., 2013): pandas.DataFrames (The pandas development team, 2020) in lang en breed formaat, beide gebruikt in keuzemodelleerpakketten, Torch-Choice en Choice-Learn. Figuur 3 (b) toont de
resultaten voor verschillende steekproefgrootten.
Tot slot observeren we in Figuur 3 (c) en (d) geheugengebruikswinsten op een eigen dataset in de detailhandel bestaande uit de aggregatie van meer dan 4 miljard aankopen in Konzum supermarkten in Kroatië. De dataset, die zich concentreert op de subcategorie koffie, specificeert voor elke aankoop welke producten beschikbaar waren, hun prijzen en een eenmalige weergave van de supermarkt.


BLOG





