Auriau, Vincent, Ali Aouad, Antoine Désir, und Emmanuel Malherbe. “Choice-Learn: Groß angelegte Wahlmodellierung für betriebliche Kontexte durch die Linse des maschinellen Lernens.” Zeitschrift für Open Source Software 9, Nr. 101 (2024): 6899.
Einführung
Diskrete Auswahlmodelle zielen auf die Vorhersage von Wahlentscheidungen ab, die Einzelpersonen aus einem Menü von Alternativen, dem sogenannten Sortiment, treffen. Bekannte Anwendungsfälle sind die Vorhersage der Verkehrsmittelwahl eines Pendlers oder der Einkäufe eines Kunden. Wahlmodelle sind in der Lage, mit Variationen des Sortiments umzugehen, wenn einige Alternativen nicht mehr verfügbar sind oder wenn sich ihre Eigenschaften in verschiedenen Kontexten ändern. Dank dieser Anpassungsfähigkeit an verschiedene Szenarien können diese Modelle als Input für Optimierungsprobleme verwendet werden, z. B. für die Sortimentsplanung oder die Preisgestaltung.
Choice-Learn bietet eine modulare Suite von Tools zur Modellierung von Wahlmöglichkeiten für Praktiker und akademische Forscher, um Wahlmöglichkeiten data zu verarbeiten und dann Wahlmodelle zu formulieren, zu schätzen und zu operationalisieren. Die Bibliothek ist in zwei Nutzungsebenen unterteilt, wie in Abbildung 1 dargestellt. Die höhere Ebene ist für eine schnelle und einfache Implementierung konzipiert und die untere Ebene ermöglicht fortgeschrittenere Parametrisierungen. Diese Struktur, die sich an den verschiedenen Endpunkten von Keras orientiert (Chollet et al., 2015), ermöglicht eine benutzerfreundliche Schnittstelle. Choice-Learn wurde mit den folgenden Zielen entwickelt:
Die wichtigsten Beiträge sind in den Tabellen 1 und 2 zusammengefasst.



Erklärung des Bedarfs
Data und Skalierbarkeit des Modells
Die data-Verwaltung von Choice-Learn stützt sich auf NumPy (Harris et al., 2020) mit dem Ziel, den Speicherbedarf zu begrenzen. Es minimiert die Wiederholung von Elementen oder Kundenmerkmalen und verschiebt die Verknüpfung der vollständigen data-Struktur bis zur Verarbeitung von Stapeln von data. Das Paket führt das in Abbildung 2 dargestellte Objekt FeaturesStorage ein, das es ermöglicht, Feature-Werte nur über ihre ID zu referenzieren. Diese Werte werden während des Batching-Prozesses spontan durch den ID-Platzhalter ersetzt. Supermarkt-Features wie Oberfläche oder Position sind zum Beispiel oft stationär. Sie können daher in einer data-Hilfsstruktur gespeichert werden, und in der data-Hauptstruktur wird der Speicher, in dem die Auswahl aufgezeichnet ist, nur mit seiner ID referenziert.
Das Paket basiert auf Tensorflow (Abadi et al., 2015) für die Modellschätzung und bietet die Möglichkeit, schnelle Quasi-Newton-Optimierungsalgorithmen wie L-BFGS (Nocedal & Wright, 2006) sowie verschiedene Gradientenabstiegsoptimierer (Kingma & Ba, 2017; Tieleman & Hinton, 2012) zu verwenden, die auf die Handhabung von Stapeln von data spezialisiert sind. Die Verwendung von GPUs ist ebenfalls möglich, was sich als zeitsparend erweisen kann. Schließlich gewährleistet das TensorFlow-Backbone durch Deployment- und Serving-Tools wie TFLite und TFServing eine effiziente Nutzung in einer Produktionsumgebung, z. B. innerhalb einer Software für Sortimentsempfehlungen.

Flexible Nutzung: Vom linearen Nutzen bis zur kundenspezifischen Spezifikation
Wahlmodelle, die dem Prinzip der zufälligen Nutzenmaximierung folgen (McFadden & Train, 2000), definieren den Nutzen einer Alternative 𝑖 ∈ 𝒜 als die Summe eines deterministischen Teils 𝑈 (𝑖) und eines zufälligen Fehlers 𝜖𝑖. Wenn die Terme (𝜖𝑖)𝑖∈𝒜 als unabhängig und Gumbel-verteilt angenommen werden, kann die Wahrscheinlichkeit, die Alternative 𝑖 zu wählen, als die Softmax-Normalisierung über die verfügbaren Alternativen 𝑗 ∈ 𝒜 geschrieben werden:

Die Aufgabe des Choice-Modellierers ist es, je nach Kontext eine geeignete Nutzenfunktion 𝑈 (.) zu formulieren. In Choice-Learn kann der Benutzer vordefinierte Modelle parametrisieren oder eine benutzerdefinierte Nutzenfunktion frei angeben. Um ein benutzerdefiniertes Modell zu deklarieren, müssen Sie die Klasse ChoiceModel erben und die Methode compute_batch_utility überschreiben, wie in der Dokumentation beschrieben.
Bibliothek mit traditionellen Zufallsnutzenmodellen und auf maschinellem Lernen basierenden Modellen
Traditionelle parametrische Wahlmodelle, einschließlich des Conditional Logit (Train et al., 1987), spezifizieren die Nutzenfunktion häufig in einer linearen Form. Dies liefert interpretierbare Koeffizienten, schränkt aber die Vorhersagekraft des Modells ein. Neuere Arbeiten schlagen die Schätzung komplexerer Modelle vor, mit Ansätzen neuronaler Netzwerke (Aouad & Désir, 2022; Han et al., 2022) und baumbasierten Modellen (Aouad et al., 2023; Salvadé & Hillel, 2024). Während bestehende Choice-Bibliotheken (Bierlaire, 2023; Brathwaite & Walker, 2018; Du et al., 2023) oft nicht darauf ausgelegt sind, solche auf maschinellem Lernen basierenden Ansätze zu integrieren, schlägt Choice-Learn eine Sammlung vor, die beide Arten von Modellen umfasst.
Nachgelagerte Operationen: Sortiments- und Preisoptimierung
Choice-Learn bietet zusätzliche Tools für nachgelagerte Operationen, die normalerweise nicht in Bibliotheken zur Wahlmodellierung integriert sind. Insbesondere die Sortimentsoptimierung ist ein gängiger Anwendungsfall, bei dem ein Choice-Modell genutzt wird, um die optimale Teilmenge von Alternativen zu bestimmen, die den Kunden angeboten werden kann, um ein bestimmtes Ziel zu maximieren, wie z.B. den erwarteten Umsatz, die Konversionsrate oder das soziale Wohlergehen. Dieser Rahmen umfasst eine Vielzahl von Anwendungen, wie z.B. Sortimentsplanung, Optimierung von Ausstellungsorten und Preisgestaltung. Wir bieten Implementierungen, die auf der in (Méndez-Díaz et al., 2014) beschriebenen gemischt-ganzzahligen Programmierung basieren, mit der Option, den Solver zwischen Gurobi (Gurobi Optimization, LLC, 2023) und OR-Tools (Perron & Furnon, 2024) zu wählen.
Speichernutzung: eine Fallstudie
In Abbildung 3 (a) finden Sie numerische Beispiele für die Speichernutzung, um die Effizienz von FeaturesStorage zu veranschaulichen. Wir betrachten ein Feature, das in einem data-Set wiederholt wird, wie z.B. eine One-Hot-Codierung für Orte, dargestellt durch eine Matrix der Form (#locations, #locations), wobei jede Zeile auf
an einem Ort.
Wir vergleichen vier data-Verarbeitungsmethoden mit dem Expedia dataset (Ben Hamner et al., 2013): pandas.DataFrames (The pandas development team, 2020) im langen und breiten Format, die beide in den Wahlmodellierungspaketen Torch-Choice und Choice-Learn verwendet werden. Abbildung 3 (b) zeigt die
Ergebnisse für verschiedene Stichprobengrößen.
In Abbildung 3 (c) und (d) sehen wir schließlich, wie die Speichernutzung bei einem proprietären dataset im stationären Einzelhandel zunimmt, das aus der Aggregation von mehr als 4 Milliarden Einkäufen in Konzum-Supermärkten in Kroatien besteht. Das dataset, das sich auf die Unterkategorie Kaffee konzentriert, gibt für jeden Einkauf an, welche Produkte verfügbar waren, deren Preise sowie eine One-Hot-Darstellung des Supermarktes.


BLOG





