Auriau, Vincent, Ali Aouad, Antoine Désir en Emmanuel Malherbe. „Choice-Learn: grootschalige keuzemodellering voor operationele contexten vanuit het perspectief van machine learning.“ Journal of Open Source Software 9, nr. 101 (2024): 6899.

Inleiding

Discrete-keuzemodellen zijn bedoeld om te voorspellen welke keuzes individuen maken uit een reeks alternatieven, ook wel een assortiment genoemd. Bekende toepassingen zijn onder meer het voorspellen van de vervoerskeuze van een forens of de aankopen van een klant. Keuzemodellen kunnen omgaan met variaties in het assortiment, bijvoorbeeld wanneer bepaalde 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, zoals assortimentsplanning of prijsbepaling.

Choice-Learn biedt een modulaire reeks tools voor keuzemodellering waarmee praktijkmensen en academische onderzoekers data 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 door de verschillende eindpunten van Keras (Chollet et al., 2015), zorgt voor een gebruiksvriendelijke interface. Choice-Learn is ontworpen met de volgende doelstellingen:

  • Gestroomlijnd: De verwerking van datasets en het schatten van standaardkeuzemodellen worden vergemakkelijkt door een eenvoudige codesyntaxis die aansluit bij gangbare machine learning-pakketten zoals scikit-learn (Pedregosa et al., 2011).

  • Schaalbaar: Er zijn geoptimaliseerde processen geïmplementeerd voor data en het schatten van modellen, 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: Ditzelfde pakket biedt implementaties van zowel standaardkeuzemodellen als op machine learning gebaseerde methoden, waaronder neurale netwerken.

  • Downstream-activiteiten: In de bibliotheek zijn nabewerkingstools geïntegreerd die gebruikmaken van keuzemodellen voor assortimentsplanning en prijsbepaling.

De belangrijkste bevindingen zijn samengevat in de tabellen 1 en 2.

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

Motivering

Schaalbaarheid van Data modellen

data van Choice-Learn is gebaseerd op NumPy (Harris et al., 2020) met als doel het geheugengebruik te beperken. Het minimaliseert de herhaling van items of klantkenmerken en stelt het samenvoegen van de volledige data uit totdat er batches met data worden verwerkt. Het pakket introduceert het FeaturesStorage-object, geïllustreerd in figuur 2, waarmee kenmerkwaarden alleen op basis van hun ID kunnen worden geraadpleegd. Deze waarden worden tijdens het batchverwerkingsproces direct in de ID-plaatshouder ingevuld. Kenmerken van supermarkten, zoals oppervlakte of locatie, zijn bijvoorbeeld vaak vaststaand. Ze kunnen dus in een aanvullende data worden opgeslagen en in de hoofddataset wordt de winkel waar de keuze is geregistreerd alleen met zijn ID aangeduid.

Het pakket is gebaseerd op TensorFlow (Abadi et al., 2015) voor modelestimatie en biedt de mogelijkheid om gebruik te maken van snelle quasi-Newton-optimalisatiealgoritmen zoals L-BFGS (Nocedal & Wright, 2006), evenals diverse gradient-descent-optimalisatoren (Kingma & Ba, 2017; Tieleman & Hinton, 2012) die gespecialiseerd zijn in het verwerken van batches met data. Het gebruik van een GPU is ook mogelijk, wat tijdbesparend kan zijn. Ten slotte zorgt de TensorFlow-backbone voor een efficiënt gebruik in een productieomgeving, bijvoorbeeld binnen software voor assortimentsaanbevelingen, via implementatie- en servingtools zoals TFLite en TFServing.

class="lazyload

Flexibel gebruik: van standaardtoepassingen tot maatwerkoplossingen

Keuzemodellen die het principe van willekeurige nutsmaximalisatie volgen (McFadden & Train, 2000) definiëren het nut van een alternatief 𝑖 ∈ 𝒜 als de som van een deterministisch deel 𝑈 (𝑖) en een willekeurige fout 𝜖𝑖. Als wordt aangenomen dat de termen (𝜖𝑖)𝑖∈𝒜 onafhankelijk zijn en een Gumbel-verdeling volgen, kan de kans dat alternatief 𝑖 wordt gekozen worden geschreven als de softmax-normalisatie over de beschikbare alternatieven 𝑗 ∈ 𝒜:

class="lazyload

Het is de taak van de keuze-modelleerder om een geschikte nutsfunctie 𝑈 (.) te formuleren, afhankelijk van de context. In Choice-Learn kan de gebruiker vooraf gedefinieerde modellen parametriseren of vrijelijk een aangepaste nutsfunctie specificeren. Om een aangepast model te definiëren, moet men de klasse ChoiceModel overnemen en de methode compute_batch_utility overschrijven, zoals aangegeven in de documentatie.

Verzameling van traditionele modellen met willekeurig nut en op machine learning gebaseerde modellen

Traditionele parametrische keuzemodellen, waaronder het Conditional Logit-model (Train et al., 1987), specificeren de nutsfunctie vaak in lineaire vorm. Dit levert weliswaar interpreteerbare coëfficiënten op, maar beperkt de voorspellende kracht van het model. Recente studies stellen de schatting van complexere modellen voor, met benaderingen op basis van neurale netwerken (Aouad & Désir, 2022; Han et al., 2022) en op bomen gebaseerde modellen (Aouad et al., 2023; Salvadé & Hillel, 2024). Terwijl bestaande keuzebibliotheken (Bierlaire, 2023; Brathwaite & Walker, 2018; Du et al., 2023) vaak niet zijn ontworpen om dergelijke op machine learning gebaseerde benaderingen te integreren, stelt Choice-Learn een verzameling voor die beide soorten modellen omvat.

Stroomafwaartse activiteiten: optimalisatie van het assortiment en de prijsstelling

Choice-Learn services tools voor verdere verwerking, die doorgaans niet zijn geïntegreerd in bibliotheken voor keuzemodellering. Met name assortimentsoptimalisatie is een veelvoorkomend toepassingsgebied waarbij een keuzemodel wordt gebruikt om de optimale subset van alternatieven te bepalen die aan klanten moet worden aangeboden, waarbij een bepaalde doelstelling wordt gemaximaliseerd, zoals de verwachte omzet, conversieratio of maatschappelijk welzijn. Dit raamwerk omvat een breed scala aan toepassingen, zoals assortimentsplanning, optimalisatie van schaplocaties en prijsbepaling. Wij bieden implementaties op basis van de mixed-integer programming-formulering beschreven in (Méndez-Díaz et al., 2014), met de mogelijkheid om te kiezen tussen Gurobi (Gurobi Optimization, LLC, 2023) en OR-Tools (Perron & Furnon, 2024) als solver.

Geheugengebruik: een casestudy

In figuur 3 (a) geven we rekenvoorbeelden van het geheugengebruik om de efficiëntie van FeaturesStorage te illustreren. We nemen een kenmerk dat in een dataset herhaald voorkomt, zoals een one-hot-codering voor locaties, weergegeven door een matrix met de vorm (#locations, #locations) waarbij elke rij verwijst
naar één locatie.
We vergelijken vier methoden data op de Expedia-dataset (Ben Hamner et al., 2013): pandas.DataFrames (The pandas development team, 2020) in lang en breed formaat, beide gebruikt in keuze-modelleringspakketten, Torch-Choice en Choice-Learn. Figuur 3 (b) toont de
resultaten voor verschillende steekproefgroottes.
Ten slotte zien we in figuur 3 (c) en (d) voordelen in het geheugengebruik op een eigen dataset in de fysieke detailhandel, bestaande uit de aggregatie van meer dan 4 miljard aankopen in Konzum-supermarkten in Kroatië. De dataset richt zich op de subcategorie koffie en specificeert voor elke aankoop welke producten beschikbaar waren, hun prijzen, evenals een one-hot-representatie van de supermarkt.

class="lazyload
class="lazyload

Medium-blog van Artefact.

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