La puissance des ordinateurs actuels permet de démocratiser l'usage du Machine Learning. Il s'agit d'algorithmes d'intelligence artificielle destinés à déterminer automatiquement des relations entre des données. Bien que le Machine Learning facilite la compréhension de structures abstraites de données, cet outil d'analyse scientifique peut parfois sembler loin des considérations opérationnelles des entreprises.
L'objectif de cet article est de montrer comment employer concrètement le Machine Learning pour gérer des situations habituelles que rencontrent beaucoup d'entreprises modernes. De quelle façon le Machine Learning peut-il améliorer les performances d'une entreprise ? Nous commençons par une présentation générale du Machine Learning, puis nous détaillons un cas d'étude récent d'un client de Solstice Lab. Enfin, nous discutons des contraintes liées à l'explication des modèles.
Sommaire
Présentation du Machine Learning
Définition et objectifs
Il existe de nombreux ensembles de données. Le but du Machine Learning est de discerner des groupes de données, d’en faciliter la classification et la représentation. C’est aussi une façon automatique de produire davantage de structure parmi des données plus ou moins similaires.
L’objectif et l’intérêt opérationnel du Machine Learning est d’automatiser des tâches répétitives, liées à un grand volume de données, pour lesquelles il est parfois difficile de trouver un équivalent humain aussi performant. De fait, certains algorithmes de Machine Learning surpassent même des experts humains dans leur champ d’activité.
Notons néanmoins que ces algorithmes sont spécifiques à un objet déterminé, et qu’ils manquent de souplesse pour généraliser leur champ d’action.
Méthodes utilisées
Le Machine Learning consiste à approximer la distribution statistique d’un ensemble de données d'entraînement afin d’obtenir de bonnes performances prédictives sur des données de test issues de la même distribution. Pour ce faire, l’algorithme fonctionne en plusieurs étapes, qui constituent une époque :
- utiliser un modèle pour prédire la valeur des données d’entraînement,
- calculer l’erreur entre la prédiction et les données réelles,
- améliorer automatiquement le modèle afin de réduire l’erreur.
A chaque époque, nous cherchons ainsi à améliorer les performances de l’algorithme. Après plusieurs centaines d'époques, nous pouvons parvenir à une performance limite maximale, et l’entraînement du modèle est fini : il y a eu convergence. C’est tout un art de concevoir un modèle qui, d’une part converge, et d’autre part obtienne une précision optimale.
Exemples
💡 Le Machine Learning peut entre autres servir à :
- Reconnaître des chiffres manuscrits, par exemple pour automatiser l’encaissement de chèques en banque,
- Classifier des panneaux routiers, utile pour les véhicules autonomes,
- Identifier des données aberrantes, afin de contrôler la qualité d’un ensemble de données.
Cas d'usage chez Solstice Lab : application au pricing
Secteurs d’activités qui utilisent le Machine Learning
Il existe actuellement de nombreux secteurs d’activités qui utilisent des algorithmes de Machine Learning pour déterminer automatiquement les prix. Nous pouvons citer.
- les compagnies aériennes,
- les e-commerçants,
- les hôtels,
- la location de voiture.
Exemple de catalogue de prix pour du e-commerce
Solstice Lab a récemment travaillé auprès d’un client pour améliorer les prix affichés en catalogue sur Internet. Notre client nous a fourni une base de données de produits en catalogue, ainsi que des quantités vendues au cours du temps. Nous disposons aussi d’informations techniques à propos de produits (e.g. dimensions, poids, catégorie, date de sortie, etc.), qui permettent de constituer les features du modèle de Machine Learning.
Nous avons essayé plusieurs architectures afin de représenter au mieux ces données. Citons notamment les deux plus intéressantes pour notre étude de cas :
- la régression linéaire, simple et efficace pour déterminer des corrélations linéaires,
- la forêt d'arbres décisionnels, plus compliquée, mais adaptée aux problèmes non-linéaires.
Résultats : courbe d'élasticité-prix
Ces modèles nous ont permis de mettre en lumière des corrélations de variables, grâce à la régression linéaire. Nous avons pu vérifier une hypothèse de pricing utilisée par les experts du métier
prix = coefficient x surface
Et notre algorithme est en cohérence avec leur expérience. Notre analyse a même pu affiner la méthode utilisée, en fonction des familles de produits considérées, et nous avons obtenu
log prix = coefficient x log surface
De plus, grâce au modèle plus complexe des forêts d’arbres décisionnels, nous avons obtenu une fonction de prédiction de la probabilité de vente, à partir des caractéristiques techniques d’un produit. Cette fonction est aussi variable par rapport au temps écoulé entre le mise en ligne (l’arrivée en stock) et l’achat du produit. Ce modèle permet alors d’optimiser le coefficient liant prix et surface, et de construire une courbe d’offre-demande, puis une courbe d’élasticité-prix, en fonction du temps passé en stock.
Cette méthode permet au client de gérer plus efficacement les prix affichés en catalogue, en fonction du Chiffre d’Affaires attendu, ainsi que de la capacité à conserver certains produits en stock.
Pour en savoir plus sur comment analyser l'évolution du CA avec différents modèles prix, quantité, devise et l'effet mix, consultez l'article portant sur l'effet mix dans l'analyse de l'évolution du chiffre d'affaires (modèles)
Explicabilité vs. Prédictibilité
Mesure de l’erreur
Un modèle de Machine Learning peut faire des prédictions. Nous pouvons alors comparer les prédictions aux données réelles et introduire la notion d’erreur. Dans certains cas, la mesure de l’erreur est une fonction simple à calculer, par exemple :
- la fonction 0/1, dans le contexte d’une classification,
- l’erreur quadratique moyenne, plus générale et avec des propriétés mathématiques intéressantes.
Cependant, il y a des modèles pour lesquels la fonction d’erreur n’est pas aussi simple, et c’est d’ailleurs un sujet important lors de la conception d’une architecture de Machine Learning, de parvenir à utiliser une fonction d’erreur adéquate.
De fait, la mesure de l’erreur sert à deux moments clefs :
- lors de l’entraînement du modèle, afin de parvenir à la convergence des paramètres,
- lors de l'évaluation des performances d’un modèle.
Notons qu’il est souvent difficile a priori de savoir quelle fonction d’erreur permet d’obtenir le meilleur résultat, et qu’il faut souvent mesurer l’erreur de façon empirique pour obtenir des modèles robustes.
Objectifs du Machine Learning et explicabilité des modèles
Le Machine Learning s’emploie dans différents contextes. Cependant, son thème général est souvent de trouver une façon de regrouper des données entre elles. Dans notre étude de cas, il s’agit de trouver quels produits correspondent à quels prix, afin d’optimiser les ventes.
Définissons l’explicabilité d’un modèle : il s’agit de la facilité avec laquelle nous pouvons expliquer à un client pourquoi le modèle prédit tel ou tel résultat.
- Pour certains modèles de Machine Learning, l’explicabilité est assez peu pertinente. Par exemple, pour la reconnaissance de chiffres manuscrits, ce qui importe le plus, c’est le score de prédiction, mais pas tant la méthode.
- Pour d’autres modèles de Machine Learning, en revanche, l’explicabilité est un facteur clef de la valeur du modèle. Il s’agit notamment des algorithmes conçus pour assister des prises de décisions humaines. En effet, certains métiers (e.g. transport, médecine, droit) exigent que la responsabilité d’un choix ne se résume pas aveuglément à l'écoute d’un algorithme prédictif. C’est notamment ces questions de responsabilité/sécurité qui freinent l’avènement du Machine Learning pour la conduite autonome.
- Dans notre étude de cas, la formule log prix = coefficient x log surface est explicite et facile à illustrer par des exemples.
Capacité prédictive des algorithmes
Lors de l’entraînement et du test, un modèle peut devenir très performant. Cependant, il faut faire attention à nuancer sa capacité prédictive. En effet, certains modèles obtiennent des scores élevés pour un jeu de données particulier, mais ne sont pas capables de généraliser correctement à d’autres données : il s’agit du sur-apprentissage.
C’est donc au moment de la conception de l’architecture du modèle qu’il faut veiller attentivement à garder assez de souplesse et de généralité afin de pouvoir à la fois apprendre et à la fois éviter le sur-apprentissage. En effet, le théorème d'approximation universelle garantit que n’importe quelle fonction réelle continue peut être approchée par un réseau de neurones. Il y a ainsi toujours un compromis à trouver entre finesse de l’approximation et légèreté en mémoire.
Il n’existe a priori pas de méthode générale pour trouver un tel compromis, et c’est là qu’interviennent l’expertise et la réflexion consacrées à l’esquisse d’un modèle de Machine Learning. Un bon modèle est donc un modèle assez simple pour éviter le sur-apprentissage et assez puissant pour obtenir une capacité prédictive satisfaisante.
Conclusion
- Le Machine Learning est un outil d'analyse statistique. Il permet de comprendre des structures de données qu'il serait très fastidieux d'explorer traditionnellement à la main.
- Chez Solstice Lab, nous utilisons régulièrement le Machine Learning. Il nous permet d'accélérer la compréhension des données de nos clients. Par exemple, nous étudions le catalogue de prix d'une startup. Cette étude indique plusieurs axes d'amélioration, e.g. des corrélations de variables ou la cohérence de familles de produits.
- De fait, les modèles de Machine Learning peuvent non seulement expliquer des données, mais aussi en prédire d'autres : c'est la différence entre les données d'entraînement et de test. Dans notre cas, le modèle prédit la probabilité de vente d'un produit en fonction du prix.
Ainsi, nous parvenons rapidement à construire une courbe d'élasticité-prix prédictive, ce qui permet de tester des hypothèses et in fine de trouver des prix plus adaptés. Cela permet donc d'augmenter le chiffre d’affaires du client.
Pour aller plus loin, afin de vérifier la justesse de nos modèles et de calibrer finement leurs hyperparamètres, nous pouvons mettre en place des écrans de contrôle de qualité des données.