Engineering

Introduction au Machine Learning – Notre Supply Traffic Filter

Avec le développement des voitures autonomes, des assistants personnels à commande vocale et des algorithmes de recommandation intégrés à vos services de streaming préférés, il semble que nous ne percevons que la partie émergée de l’iceberg en ce qui concerne le Machine Learning (ML). Pour beaucoup d’entre nous, il régit de plus en plus la façon dont nous vivons et choisissons de passer notre temps.

Passionnés par la technologie et la manière dont elle définit notre monde, les ingénieurs d’Index Exchange ont étudié en profondeur le phénomène du Machine Learning, en particulier dans le domaine de l’apprentissage supervisé. Notre pipeline optimisé pour le Machine Learning, “Supply Traffic Filter”, est un bon exemple de la façon dont nous avons investi dans ce domaine, et nous voulons ici expliquer exactement comment nous avons procédé.

un graphique montrant le processus de suivi et de test d'un projet de Machine Learning

 

Définir le challenge

La première étape d’un projet Machine Learning consiste à définir le challenge auquel on souhaite répondre. Tous les problèmes ne sont pas adaptés au Machine Learning. Quelques points à considérer:

  1. Est-ce que résoudre le problème manuellement prend beaucoup de temps ? Est-ce que cela Implique des règles étendues ?
  2. Les résultats changent-ils si souvent qu’il est difficile de les maintenir ?
  3. Est-il difficile d’obtenir des informations sur le problème en raison du volume élevé de données disponibles ?

Chez Index Exchange, l’un de ces défis était de gérer des échelles toujours plus importantes. Un bon exemple de cela est que lorsque le COVID est apparu, nous avons instantanément constaté une augmentation significative du trafic alors que les techniciens de nos centres de données ne pouvaient pas voyager en raison des restrictions en place. Nous devions alors déterminer s’il était possible de continuer à augmenter le trafic, tout en le gérant plus efficacement et sans impacter les éditeurs et les annonceurs qui comptent sur notre plateforme. Il aurait été difficile de prévoir la valeur des enchères entrantes, compte tenu de l’énorme volume de données. La combinaison de tous ces facteurs a souligné un défi applicable au Machine Learning, et en particulier une approche Machine Learning supervisée.

Pour en savoir plus sur la manière dont nous avons abordé ce problème, rendez-vous ici.

Sélectionner des fonctionnalités

Nous avons maintenant un défi de Machine Learning à résoudre. Fantastique ! À ce stade, nous devons choisir les fonctionnalités les plus appropriées. Une fonctionnalité de Machine Learning est une propriété ou une caractéristique mesurable. La sélection des fonctions est d’une importance cruciale, car les performances du modèle de Machine Learning dépendent fortement de cet aspect. Le choix des bonnes fonctionnalités peut améliorer les performances du modèle et réduire le temps d’apprentissage. Inversement, le choix de fonctionnalités non pertinentes peut réduire les performances du modèle. Alors, comment savoir si une fonctionnalité répond à vos besoins ou non ?

Identification des fonctionnalités

Tout d’abord, toutes les fonctionnalités possibles doivent être identifiées. Lorsque les ingénieurs d’Index Exchange ont commencé à travailler sur le Supply Traffic Filter, ils ont été confrontés à un grand nombre de fonctionnalités potentielles, ils se sont donc tournés vers les experts en la matière au sein  l’entreprise pour les aider à dresser une liste.

Prétraitement de l’ensemble de fonctionnalités

Dans un monde parfait, nous aurions accès à des données propres, mais en réalité, le bruit et le caractère aléatoire sont légion. Pour cette raison, les ingénieurs en Machine Learning passent beaucoup de temps à étudier et à nettoyer les données.

Certaines fonctionnalités sont textuelles, tandis que les modèles Machine Learning utilisent des valeurs numériques. Il appartient donc aux ingénieurs de transformer ces fonctionnalités en format numérique, généralement en utilisant des techniques de “one hot encoding” ou “integer encoding”. En général, le “one hot encoding” donne de meilleurs résultats quel’  “integer encoding” , mais le coût en temps de formation est plus élevé. Le “one hot encoding” est recommandé pour les petits ensembles de données. Pour des ensembles de données plus volumineux, “l’integer encoding” est préférable.

Réduire l’ensemble des fonctionnalité

Nous allons maintenant essayer de réduire le nombre de fonctionnalités grâce à un processus appelé «réduction de dimensionnalité». Le fait d’avoir un grand nombre de fonctionnalités n’améliore pas nécessairement les performances du modèle. Deux raisons principales justifient la limitation du nombre de fonctionnalités:

  1. Généralisation du modèle. Bien qu’il puisse sembler qu’il existe une corrélation entre une fonctionnalité donnée et un résultat donné, cette corrélation peut ne pas se généraliser aux données futures.
  2. Réduction des temps d’apprentissage et de prévision. Moins de fonctionnalités réduisent le temps d’apprentissage du modèle et de prédiction des résultats.

Il est maintenant établi que le nombre de fonctionnalités doit être limité, mais comment réduire la dimensionnalité des fonctionnalités? Il existe plusieurs techniques, mais nous recommandons d’opter pour «l’importance de la fonctionnalité». Cette technique évalue le degré de pertinence d’une fonctionnalité pour atteindre un résultat. En pratique, cela signifie que vous devez choisir les fonctionnalités avec des scores élevés et éliminer celles avec des scores faibles.

Dans notre cas, le projet Supply Traffic Filter a commencé avec 50 fonctionnalités, mais nous avons pu le réduire à seulement 11 pour commencer.

Sélectionnez un modèle d’apprentissage

À ce stade, nous devons choisir l’algorithme d’apprentissage. Dans l’apprentissage supervisé, les deux principaux modèles algorithmiques sont:

 Type d’Algorithme Predicts
Classification Target classes
Regression Value-likelihood

En ce qui concerne le défi auquel Supply Traffic Filter été confronté, notre objectif était de classer les enchères «no-bid» avant qu’elles ne se produisent, ce qui en fait un problème de classification. Fait intéressant, cependant, notre équipe de recherche a finalement opté pour un modèle régressif. Le filtrage du trafic doit être basé sur une quantité dynamique basée sur la charge. Si les nœuds d’exchange sont surchargés de trafic, le filtrage doit être plus agressif pour maintenir le fonctionnement et les performances. En utilisant le modèle régressif, chaque enchère se voit attribuer un score qui indique l’intérêt ou la pertinence attendue pour nos acheteurs. Sur la base de ce score, nos serveurs peuvent filtrer dynamiquement le trafic, proportionnellement au volume actif du serveur.

Sélection d’algorithmes de Machine Learning

Les algorithmes les plus populaires pour l’apprentissage supervisé sont différents. Pour en choisir un, il est important de connaître à la fois les caractéristiques des différentes fonctionalités et les avantages et les inconvénients des algorithmes individuels.

Algorithme d'apprentissage suprvisé
Avantages
Inconvénients



Régression logistique


  • Facile à mettre en œuvre et à comprendre

  • Faible coût de raffinement des hyperparamètres

  • Temps d’entraînement rapides


  • Mauvaises performances sur les données non linéaires

  • Sensible au bruit




Arbre décisionel


  • Facilement évolutif avec de grandes données d'entraînement

  • Facile à visualiser et à expliquer


  • Sensible au surajustement

  • Sensible aux données




Machine Vectorielle de Support


  • Bonne tolérance aux valeurs anormales

  • Excellentes performances avec de petites données d'entraînement


  • Temps d’entraînement longs avec des données volumineuses

  • Sensible aux hyperparamètres




Algorithme K-Nearest Neighbor


  • Simple à comprendre et à mettre en œuvre

  • Faible coût de raffinement des hyperparamètres

  • Aucune conjecture sur les données


  • Temps de déduction trop long pour les grands ensembles de données

  • Difficulté de mise à l’échelle avec de grands ensembles de données




Réseau Neuronal


  • Bonnes performances avec des ensembles de données non linéaires

  • Bonnes performances avec de grands ensembles de données

  • Corps élargi de recherche universitaire


  • Formation coûteuse en calcul

  • Modèle difficile à expliquer

One thought on “Introduction au Machine Learning – Notre Supply Traffic Filter

Comments are closed.