Auriau, Vincent, Ali Aouad, Antoine Désir en Emmanuel Malherbe. "Choice-Learn: Grootschalige keuzemodellering voor operationele contexten door de lens van machine learning." 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 voorbeelden zijn 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 eigenschappen veranderen in verschillende contexten. Door dit aanpassingsvermogen aan verschillende scenario's kunnen deze modellen worden gebruikt als input voor optimalisatieproblemen, waaronder assortimentsplanning of prijsstelling.

Choice-Learn biedt een modulaire reeks hulpmiddelen voor keuzemodellering voor praktijkmensen en academische onderzoekers om keuzen te verwerken data en vervolgens keuzemodellen te formuleren, te schatten en te 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:

  • Gestroomlijnd: Het verwerken van datasets en het schatten van standaardkeuzemodellen wordt vergemakkelijkt door een eenvoudige code die consistent is met mainstream machineleerpakketten zoals scikit-learn (Pedregosa et al., 2011).

  • Schaalbaar: Er zijn geoptimaliseerde processen geïmplementeerd voor data opslag en modelschatting, waardoor het gebruik van grote datasets en modellen met een groot aantal parameters mogelijk is.

  • Flexibel: De codebase kan worden aangepast aan verschillende gebruikssituaties.

  • Modellenbibliotheek: Hetzelfde pakket biedt implementaties van zowel standaardkeuzemodellen als op machinaal leren gebaseerde methoden, waaronder neurale netwerken.

  • Downstream activiteiten: Post-processing tools die keuzemodellen gebruiken voor assortimentsplanning en prijsstelling zijn geïntegreerd in de bibliotheek.

De belangrijkste bijdragen zijn samengevat in tabellen 1 en 2.

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

Verklaring van behoefte

Data en schaalbaarheid van het model

Het beheer van Choice-Learn data maakt gebruik van 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 kenmerkwaarden alleen door hun ID kunnen worden weergegeven. Deze waarden worden tijdens het batchproces door de ID-plaatshouder vervangen. Supermarktkenmerken zoals oppervlakte of positie zijn bijvoorbeeld vaak stationair. Ze kunnen dus worden opgeslagen in een hulpstructuur data en in de hoofddataset wordt alleen verwezen naar de winkel waar de keuze is vastgelegd met zijn ID.

Het pakket is gebaseerd op Tensorflow (Abadi et al., 2015) voor modelschattingen en biedt de mogelijkheid om snelle quasi-Newton optimalisatiealgoritmen te gebruiken, zoals L-BFGS (Nocedal & Wright, 2006) en verschillende gradient-descent optimizers (Kingma & Ba, 2017; Tieleman & Hinton, 2012) 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.

class="img-responsive

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 kans om alternatief 𝑖 te kiezen geschreven worden als de softmax-normalisatie over de beschikbare alternatieven 𝑗 ∈ 𝒜:

class="img-responsive

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 utility-modellen en op machine learning gebaseerde modellen

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 services biedt extra hulpmiddelen voor downstreamactiviteiten die gewoonlijk niet zijn geïntegreerd in bibliotheken met keuzemodellen. Met name assortimentsoptimalisatie is een veelvoorkomende toepassing waarbij een keuzemodel wordt gebruikt om de optimale subset van alternatieven te bepalen om klanten aan te bieden die een bepaalde doelstelling maximaliseren, zoals de verwachte omzet, conversieratio of sociale welvaart. Dit raamwerk omvat een verscheidenheid aan toepassingen, zoals assortimentsplanning, optimalisatie van displaylocaties en prijsstelling. We 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 te laten zien. We beschouwen een kenmerk dat wordt herhaald in een dataset, zoals een een-op-een codering voor locaties, voorgesteld door een matrix van vorm (#locaties, #locaties) waarbij elke rij verwijst naar een locatie.
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 keuzemodelleringspakketten, 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 concentreert zich op de subcategorie koffie en specificeert voor elke aankoop welke producten beschikbaar waren, hun prijzen en een eenmalige weergave van de supermarkt.

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

Medium Blog door Artefact.

Dit artikel is oorspronkelijk gepubliceerd op Medium.com.
Volg ons op onze Medium Blog!