Article de reference

Ingénierie des fonctionnalités

L’ingénierie des caractéristiques est une étape de prétraitement en apprentissage automatique supervisé et en modélisation statistique qui transforme les données brutes en un en...

apprentissage automatique supervisé et en modélisation statistique qui transforme les données brutes en un ensemble d’entrées plus pertinentes. Chaque entrée comprend plusieurs attributs, appelés caractéristiques. En fournissant aux modèles des informations pertinentes, l’ingénierie des caractéristiques améliore considérablement leur précision prédictive et leur capacité de décision.

Au-delà de l'apprentissage automatique, les principes de l'ingénierie des caractéristiques sont appliqués dans divers domaines scientifiques, notamment en physique. Par exemple, les physiciens construisent des nombres sans dimension tels que le nombre de Reynolds en dynamique des fluides , le nombre de Nusselt en transfert de chaleur et le nombre d'Archimède en sédimentation . Ils développent également des premières approximations de solutions, telles que des solutions analytiques pour la résistance des matériaux en mécanique.

la décomposition matricielle est largement utilisée pour le regroupement de données sous contraintes de non-négativité sur les coefficients des caractéristiques. Parmi ces méthodes, on peut citer la factorisation matricielle non négative (NMF) , la factorisation triangulaire matricielle non négative (NMTF) et la décomposition/factorisation tensorielle non négative (NTF/NTD) . Les contraintes de non-négativité sur les coefficients des vecteurs de caractéristiques extraits par les algorithmes susmentionnés produisent une représentation par parties, et différentes matrices de facteurs présentent des propriétés de regroupement naturelles. Plusieurs extensions de ces méthodes d'ingénierie des caractéristiques ont été rapportées dans la littérature, notamment la factorisation sous contrainte d'orthogonalité pour le regroupement difficile, et l'apprentissage de variétés pour surmonter les problèmes inhérents à ces algorithmes.

D'autres classes d'algorithmes d'ingénierie des caractéristiques consistent à exploiter une structure cachée commune à plusieurs ensembles de données interreliés afin d'obtenir un schéma de regroupement consensuel (commun). Un exemple est la classification multivue basée sur la décomposition de matrice de consensus (MCMD) , qui extrait un schéma de regroupement commun à plusieurs ensembles de données. MCMD est conçu pour produire deux types d'étiquettes de classe (regroupement à variation d'échelle et regroupement à variation d'échelle), et :

  • est robuste du point de vue du calcul face aux informations manquantes,
  • peut obtenir des valeurs aberrantes basées sur la forme et l'échelle,
  • et peut traiter efficacement des données multidimensionnelles.

Les décompositions matricielles et tensorielles couplées sont populaires dans l'ingénierie des caractéristiques multi-vues.

Modélisation prédictive

L’ingénierie des caractéristiques en apprentissage automatique et en modélisation statistique consiste à sélectionner, créer, transformer et extraire des caractéristiques des données. Les composantes clés comprennent la création de caractéristiques à partir de données existantes, la transformation et l’imputation des caractéristiques manquantes ou invalides, la réduction de la dimensionnalité des données par des méthodes telles que l’analyse en composantes principales (ACP), l’analyse en composantes indépendantes (ACI) et l’analyse discriminante linéaire (ADL), et la sélection des caractéristiques les plus pertinentes pour l’entraînement du modèle en fonction des scores d’importance et des matrices de corrélation .

L’importance des caractéristiques varie. Même des caractéristiques relativement insignifiantes peuvent contribuer à un modèle. La sélection de caractéristiques permet de réduire leur nombre afin d’éviter qu’un modèle ne devienne trop spécifique à l’ensemble de données d’entraînement (surapprentissage).

L’explosion de caractéristiques se produit lorsque le nombre de caractéristiques identifiées est trop important pour permettre une estimation ou une optimisation efficace du modèle. Les causes courantes incluent :

  • Modèles de fonctionnalités - mise en œuvre de modèles de fonctionnalités au lieu de coder de nouvelles fonctionnalités
  • Combinaisons de caractéristiques - combinaisons qui ne peuvent pas être représentées par un système linéaire

L’explosion des caractéristiques peut être limitée par des techniques telles que la régularisation , les méthodes à noyau et la sélection de caractéristiques .

Automation

L’automatisation de l’ingénierie des caractéristiques est un sujet de recherche qui remonte aux années 1990. Les logiciels d’apprentissage automatique intégrant l’ingénierie automatisée des caractéristiques sont disponibles sur le marché depuis 2016. La littérature académique associée peut être globalement divisée en deux types :

  • L'apprentissage d'arbres de décision multi-relationnels (MRDTL) utilise un algorithme supervisé similaire à un arbre de décision .
  • Deep Feature Synthesis utilise des méthodes plus simples.bases de données relationnelles , en gérant les relations complexes entre les données des tables. Il utilise de manière novatrice des graphes de sélection comme nœuds de décision , affinés systématiquement jusqu’à ce qu’un critère d’arrêt spécifique soit atteint.

    La plupart des études MRDTL s'appuient sur des bases de données relationnelles, ce qui entraîne de nombreuses opérations redondantes. Ces redondances peuvent être réduites grâce à des techniques telles que la propagation des identifiants de tuples.

Implémentations open source

Il existe un certain nombre de bibliothèques et d'outils open source qui automatisent l'ingénierie des caractéristiques sur les données relationnelles et les séries temporelles :

  • featuretools est une bibliothèque Python permettant de transformer des données de séries temporelles et relationnelles en matrices de caractéristiques pour l'apprentissage automatique.
  • MCMD : un algorithme d’ingénierie des caractéristiques open source pour le regroupement conjoint de plusieurs ensembles de données.
  • OneBM ou One-Button Machine combine les transformations de caractéristiques et la sélection de caractéristiques sur des données relationnelles avec des techniques de sélection de caractéristiques.

    OneBM aide les data scientists à réduire le temps d'exploration des données, leur permettant ainsi de tester de nombreuses idées par expérimentation en peu de temps. Par ailleurs, il permet aux non-experts, qui ne sont pas familiers avec la science des données, d'extraire rapidement de la valeur de leurs données avec un minimum d'effort, de temps et de coût.

  • La communauté getML est un outil open source d'ingénierie automatique des caractéristiques pour les séries temporelles et les données relationnelles. Elle est implémentée en C / C++ avec une interface Python. Il a été démontré qu'elle est au moins 60 fois plus rapide que tsflex, tsfresh, tsfel, featuretools ou kats.
  • tsfresh est une bibliothèque Python pour l'extraction de caractéristiques sur des données de séries temporelles. Elle évalue la qualité des caractéristiques à l'aide de tests d'hypothèses.
  • tsflex est une bibliothèque Python open source permettant d'extraire des caractéristiques à partir de données de séries temporelles. Bien qu'elle soit entièrement écrite en Python, elle s'est avérée plus rapide et plus économe en mémoire que tsfresh, seglearn ou tsfel.
  • seglearn est une extension pour les données de séries temporelles multivariées et séquentielles de la bibliothèque Python scikit-learn .
  • tsfel est un package Python pour l'extraction de caractéristiques sur des données de séries temporelles.
  • Kats est une boîte à outils Python pour l'analyse des données de séries temporelles.

Synthèse de caractéristiques profondes

L'algorithme de synthèse de caractéristiques profondes (DFS) a battu 615 des 906 équipes humaines lors d'une compétition.

Magasins vedettes

Le magasin de fonctionnalités est l'endroit où les fonctionnalités sont stockées et organisées dans le but précis d'être utilisées pour entraîner des modèles (par les data scientists) ou pour effectuer des prédictions (par des applications disposant d'un modèle entraîné). Il s'agit d'un emplacement central où vous pouvez créer ou mettre à jour des groupes de fonctionnalités issus de différentes sources de données, ou créer et mettre à jour de nouveaux jeux de données à partir de ces groupes de fonctionnalités pour l'entraînement de modèles ou pour une utilisation dans des applications qui n'ont pas besoin de calculer les fonctionnalités mais simplement de les récupérer lorsqu'elles en ont besoin pour effectuer des prédictions.

Un magasin de fonctionnalités permet de stocker le code utilisé pour générer des fonctionnalités, d'appliquer ce code aux données brutes et de fournir ces fonctionnalités aux modèles sur demande. Parmi ses fonctionnalités utiles figurent le versionnage des fonctionnalités et les politiques régissant les conditions d'utilisation des fonctionnalités.

Les magasins de fonctionnalités peuvent être des outils logiciels autonomes ou intégrés à des plateformes d'apprentissage automatique.

Alternatives

L'ingénierie des caractéristiques peut s'avérer longue et sujette aux erreurs, car elle requiert une expertise du domaine et implique souvent une approche empirique. Les algorithmes d'apprentissage profond permettent de traiter de grands ensembles de données brutes sans avoir recours à l'ingénierie des caractéristiques. Toutefois, ces algorithmes nécessitent un prétraitement et un nettoyage minutieux des données d'entrée. De plus, le choix de l'architecture, des hyperparamètres et de l'algorithme d'optimisation appropriés pour un réseau neuronal profond peut constituer un processus complexe et itératif.