Recherche de site Web

Une introduction douce à la dérive des concepts dans l'apprentissage automatique


Les données peuvent changer avec le temps. Cela peut entraîner des performances prédictives médiocres et dégradantes dans les modèles prédictifs qui supposent une relation statique entre les variables d'entrée et de sortie.

Ce problème de l'évolution des relations sous-jacentes dans les données est appelé dérive des concepts dans le domaine de l'apprentissage automatique.

Dans cet article, vous découvrirez le problème de la dérive des concepts et les moyens de le résoudre dans vos propres problèmes de modélisation prédictive.

Après avoir terminé cet article, vous saurez :

  • Le problème de l’évolution des données au fil du temps.
  • Qu'est-ce que la dérive conceptuelle et comment elle est définie.
  • Comment gérer la dérive conceptuelle dans vos propres problèmes de modélisation prédictive.

Démarrez votre projet avec mon nouveau livre Master Machine Learning Algorithms, comprenant des tutoriels étape par étape et les fichiers feuille de calcul Excel pour tous les exemples. .

Commençons.

Aperçu

Cet article est divisé en 3 parties ; ils sont:

  1. Modifications des données au fil du temps
  2. Qu’est-ce que la dérive conceptuelle ?
  3. Comment remédier à la dérive conceptuelle

Modifications des données au fil du temps

La modélisation prédictive consiste à apprendre un modèle à partir de données historiques et à utiliser le modèle pour faire des prédictions sur de nouvelles données dont nous ne connaissons pas la réponse.

Techniquement, la modélisation prédictive est le problème de l'approximation d'une fonction de cartographie (f) à partir de données d'entrée (X) pour prédire une valeur de sortie (y).

y = f(X)

Souvent, cette cartographie est supposée statique, ce qui signifie que la cartographie apprise à partir des données historiques est tout aussi valable à l’avenir sur de nouvelles données et que les relations entre les données d’entrée et de sortie ne changent pas.

Cela est vrai pour de nombreux problèmes, mais pas pour tous.

Dans certains cas, les relations entre les données d’entrée et de sortie peuvent changer au fil du temps, ce qui signifie qu’à leur tour, la fonction de mappage sous-jacente inconnue change.

Les changements peuvent être conséquents, par exemple que les prédictions faites par un modèle formé sur des données historiques plus anciennes ne sont plus correctes ou aussi correctes qu'elles pourraient l'être si le modèle avait été formé sur des données historiques plus récentes.

Ces changements, à leur tour, peuvent être détectés, et s'ils sont détectés, il peut être possible de mettre à jour le modèle appris pour refléter ces changements.

… De nombreuses méthodes d’exploration de données supposent que les modèles découverts sont statiques. Cependant, dans la pratique, les modèles de la base de données évoluent avec le temps. Cela pose deux défis importants. Le premier défi consiste à détecter quand une dérive conceptuelle se produit. Le deuxième défi est de maintenir les modèles à jour sans les créer à partir de zéro.

— Page 10, Manuel d'exploration de données et de découverte de connaissances, 2010.

Qu’est-ce que la dérive conceptuelle ?

La dérive conceptuelle dans l'apprentissage automatique et l'exploration de données fait référence au changement dans les relations entre les données d'entrée et de sortie dans le problème sous-jacent au fil du temps.

Dans d'autres domaines, ce changement peut être appelé « changement de covariable », « changement d'ensemble de données » ou « nonstationarité ».

Dans les applications d’analyse de données les plus complexes, les données évoluent avec le temps et doivent être analysées quasiment en temps réel. Les modèles et les relations dans ces données évoluent souvent avec le temps, de sorte que les modèles conçus pour analyser ces données deviennent rapidement obsolètes avec le temps. Dans le domaine de l’apprentissage automatique et de l’exploration de données, ce phénomène est appelé dérive des concepts.

— Un aperçu des applications de dérive conceptuelle, 2016.

Un concept dans « dérive des concepts » fait référence à la relation inconnue et cachée entre les variables d'entrée et de sortie.

Par exemple, un concept dans les données météorologiques peut être la saison qui n'est pas explicitement spécifiée dans les données de température, mais qui peut influencer les données de température. Un autre exemple peut être le comportement d'achat des clients au fil du temps, qui peut être influencé par la vigueur de l'économie, lorsque la vigueur de l'économie n'est pas explicitement spécifiée dans les données. Ces éléments sont également appelés « contexte caché ».

Un problème difficile avec l’apprentissage dans de nombreux domaines du monde réel est que le concept d’intérêt peut dépendre d’un contexte caché, non donné explicitement sous la forme de caractéristiques prédictives. Un exemple typique est celui des règles de prévision météorologique qui peuvent varier radicalement selon la saison. […] Souvent, la cause du changement est cachée, inconnue a priori, ce qui rend la tâche d'apprentissage plus compliquée.

— Le problème de la dérive des concepts : définitions et travaux connexes, 2004.

La modification des données peut prendre n’importe quelle forme. Il est conceptuellement plus facile d'envisager le cas où il existe une certaine cohérence temporelle dans le changement, de sorte que les données collectées au cours d'une période de temps spécifique montrent la même relation et que cette relation évolue progressivement au fil du temps.

Notez que ce n’est pas toujours le cas et cette hypothèse doit être remise en question. Certains autres types de changements peuvent inclure :

  • Une évolution progressive au fil du temps.
  • Un changement récurrent ou cyclique.
  • Un changement soudain ou brusque.

Différents schémas de détection et de gestion des dérives conceptuelles peuvent être nécessaires pour chaque situation. Souvent, les changements récurrents et les tendances à long terme sont considérés comme systématiques et peuvent être explicitement identifiés et traités.

Une dérive conceptuelle peut être présente dans les problèmes d’apprentissage supervisé où des prédictions sont faites et des données sont collectées au fil du temps. C'est ce qu'on appelle traditionnellement des problèmes d'apprentissage en ligne, étant donné l'évolution attendue des données au fil du temps.

Il existe des domaines dans lesquels les prédictions sont classées par temps, tels que les prévisions de séries chronologiques et les prédictions sur les données en continu, où le problème de dérive conceptuelle est plus probable et devrait être explicitement testé et résolu.

Un défi courant lors de l’exploration de flux de données est que les flux de données ne sont pas toujours strictement stationnaires, c’est-à-dire que le concept de données (distribution sous-jacente des données entrantes) dérive de manière imprévisible au fil du temps. Cela a encouragé la nécessité de détecter en temps opportun ces dérives conceptuelles dans les flux de données.

— Détection de dérive de concept pour les données en streaming, 2015.

Indre Zliobaite dans l'article de 2010 intitulé « Learning under Concept Drift: An Overview » fournit un cadre de réflexion sur la dérive des concepts et les décisions requises par le praticien de l'apprentissage automatique, comme suit :

  • Hypothèse future : un concepteur doit faire une hypothèse sur la future source de données.
  • Type de changement : un concepteur doit identifier les modèles de changement possibles.
  • Adaptabilité de l'apprenant : en fonction du type de changement et de l'hypothèse future, un concepteur choisit les mécanismes qui rendent l'apprenant adaptatif.
  • Sélection de modèle : un concepteur a besoin d'un critère pour choisir une paramétrisation particulière de l'apprenant sélectionné à chaque pas de temps (par exemple, les poids pour les membres de l'ensemble, la taille de la fenêtre pour la méthode de fenêtre variable).

Ce cadre peut vous aider à réfléchir aux points de décision qui s'offrent à vous lorsque vous abordez la dérive conceptuelle sur vos propres problèmes de modélisation prédictive.

Comment remédier à la dérive conceptuelle ?

Il existe de nombreuses façons de remédier à la dérive conceptuelle ; jetons un coup d'oeil à quelques-uns.

1. Ne rien faire (modèle statique)

La méthode la plus courante consiste à ne pas le gérer du tout et à supposer que les données ne changent pas.

Cela vous permet de développer une seule fois un « meilleur » modèle et de l’utiliser sur toutes les données futures.

Cela devrait être votre point de départ et votre référence pour la comparaison avec d’autres méthodes. Si vous pensez que votre ensemble de données peut subir une dérive conceptuelle, vous pouvez utiliser un modèle statique de deux manières :

  1. Détection de dérive de concept. Surveillez les compétences du modèle statique au fil du temps et si les compétences diminuent, il se peut qu'une dérive conceptuelle se produise et qu'une intervention soit nécessaire.
  2. Performances de base. Utilisez la compétence du modèle statique comme référence pour comparer à toute intervention que vous effectuez.

2. Réajustement périodique

Une bonne intervention de premier niveau consiste à mettre à jour périodiquement votre modèle statique avec des données historiques plus récentes.

Par exemple, vous pouvez peut-être mettre à jour le modèle chaque mois ou chaque année avec les données collectées sur la période précédente.

Cela peut également impliquer de tester le modèle afin de sélectionner une quantité appropriée de données historiques à inclure lors du réajustement du modèle statique.

Dans certains cas, il peut être approprié de n’inclure qu’une petite partie des données historiques les plus récentes afin de mieux saisir les nouvelles relations entre les entrées et les sorties (par exemple en utilisant une fenêtre glissante).

3. Mise à jour périodique

Certains modèles d'apprentissage automatique peuvent être mis à jour.

Il s'agit d'une efficacité par rapport à l'approche précédente (réajustement périodique) où, au lieu d'abandonner complètement le modèle statique, l'état existant est utilisé comme point de départ pour un processus d'ajustement qui met à jour l'ajustement du modèle à l'aide d'un échantillon des données historiques les plus récentes. .

Par exemple, cette approche convient à la plupart des algorithmes d'apprentissage automatique qui utilisent des poids ou des coefficients tels que les algorithmes de régression et les réseaux de neurones.

4. Données de poids

Certains algorithmes vous permettent de peser l’importance des données d’entrée.

Dans ce cas, vous pouvez utiliser une pondération inversement proportionnelle à l'ancienneté des données de sorte que plus d'attention soit accordée aux données les plus récentes (poids plus élevé) et moins d'attention aux données les moins récentes (poids plus petit).

5. Apprenez le changement

Une approche d'ensemble peut être utilisée lorsque le modèle statique reste intact, mais qu'un nouveau modèle apprend à corriger les prédictions du modèle statique en fonction des relations dans les données plus récentes.

Cela peut être considéré comme un ensemble de type boosting (en esprit uniquement) dans lequel les modèles ultérieurs corrigent les prédictions des modèles précédents. La principale différence ici est que les modèles ultérieurs sont adaptés à des données différentes et plus récentes, par opposition à une forme pondérée du même ensemble de données, comme dans le cas d'AdaBoost et de l'amplification de gradient.

6. Détecter et choisir le modèle

Pour certains domaines problématiques, il peut être possible de concevoir des systèmes permettant de détecter les changements et de choisir un modèle spécifique et différent pour effectuer des prédictions.

Cela peut être approprié pour les domaines qui s'attendent à des changements brusques ayant pu se produire dans le passé et pouvant être vérifiés dans le futur. Cela suppose également qu’il est possible de développer des modèles efficaces pour gérer chacun des changements détectables dans les données.

Par exemple, le changement brusque peut être une ou plusieurs observations spécifiques dans une plage, ou le changement dans la distribution d'une ou plusieurs variables d'entrée.

7. Préparation des données

Dans certains domaines, comme les problèmes de séries chronologiques, on peut s’attendre à ce que les données changent au fil du temps.

Dans ce type de problèmes, il est courant de préparer les données de manière à supprimer les modifications systématiques des données au fil du temps, telles que les tendances et la saisonnalité, par différenciation.

Ceci est si courant qu’il est intégré aux méthodes linéaires classiques comme le modèle ARIMA.

En règle générale, nous ne considérons pas la modification systématique des données comme un problème de dérive conceptuelle, car elle peut être traitée directement. Ces exemples peuvent plutôt être une manière utile de réfléchir à votre problème et peuvent vous aider à anticiper les changements et à préparer les données d'une manière spécifique en utilisant la normalisation, la mise à l'échelle, les projections, etc. pour atténuer ou au moins réduire les effets du changement sur les variables d'entrée dans l'avenir.

Lectures complémentaires

Cette section fournit plus de ressources sur le sujet si vous souhaitez approfondir.

Papiers

  • Apprendre en présence de dérive conceptuelle et de contextes cachés, 1996.
  • Le problème de la dérive des concepts : définitions et travaux connexes, 2004.
  • Détection de dérive de concept pour les données en streaming, 2015.
  • Apprendre sous Concept Drift : un aperçu, 2010.
  • Un aperçu des applications de dérive conceptuelle, 2016.
  • Qu'est-ce que la dérive conceptuelle et comment la mesurer ?, 2010.
  • Comprendre la dérive des concepts, 2017.

Articles

  • Dérive conceptuelle sur Wikipédia
  • Gérer la dérive des concepts : importance, défis et solutions, 2011.

Résumé

Dans cet article, vous avez découvert le problème de la dérive des concepts lors de la modification des données pour l'apprentissage automatique appliqué.

Concrètement, vous avez appris :

  • Le problème de l’évolution des données au fil du temps.
  • Qu'est-ce que la dérive conceptuelle et comment elle est définie.
  • Comment gérer la dérive conceptuelle dans vos propres problèmes de modélisation prédictive.

Avez-vous des questions ?
Posez vos questions dans les commentaires ci-dessous et je ferai de mon mieux pour y répondre.

Articles connexes