Traduit de l'anglais

Le one-hot encoding est une technique qui convertit des données catégorielles en vecteurs binaires, où chaque catégorie est représentée par un vecteur unique comportant un seul 1 et tous les autres éléments à 0, permettant ainsi aux algorithmes d'apprentissage automatique de traiter des données non numériques.

Le one-hot encoding est une méthode de représentation des variables catégorielles sous forme de vecteurs binaires dans l'apprentissage automatique. Dans cette représentation, chaque catégorie distincte se voit attribuer un vecteur unique dont la longueur est égale au nombre total de catégories, où tous les éléments sont à 0 à l'exception d'un seul élément à 1, positionné à l'indice correspondant à la catégorie. Par exemple, si une caractéristique possède trois catégories - rouge, vert, bleu - elles peuvent être encodées respectivement comme [1,0,0], [0,1,0] et [0,0,1]. Cette transformation permet aux algorithmes qui traitent des données numériques, tels que ceux utilisés dans Machine learning et Deep learning, de traiter des entrées catégorielles sans imposer de relation d'ordre entre les catégories.

Cette technique est largement utilisée dans les pipelines de prétraitement de données pour diverses applications, notamment le traitement du langage naturel, la vision par ordinateur et l'analyse de données tabulaires. Elle est particulièrement courante dans les modèles d'apprentissage automatique traditionnels comme la régression linéaire, la régression logistique et les machines à vecteurs de support, qui nécessitent des caractéristiques d'entrée numériques. En revanche, les modèles basés sur les arbres de décision, tels que les forêts aléatoires, peuvent souvent gérer directement les variables catégorielles, bien que le one-hot encoding soit encore fréquemment appliqué pour assurer la cohérence et la compatibilité avec d'autres types de modèles.

Développement historique

Le concept de représentation de données catégorielles à l'aide de variables indicatrices binaires trouve ses racines dans les statistiques et la conception expérimentale, remontant au milieu du XXe siècle. Les statisticiens utilisaient des variables muettes dans l'analyse de régression pour encoder les prédicteurs catégoriels, une pratique antérieure au terme « one-hot encoding ». L'appellation spécifique « one-hot » a gagné en popularité dans les années 1990 et 2000 au sein de la communauté de conception de circuits numériques, où elle désignait un schéma d'encodage d'états dans les machines à états finis, dans lequel un seul bit est à 1 à tout moment. Cette terminologie a ensuite été adoptée par la communauté de l'apprentissage automatique, en particulier avec l'expansion de la recherche sur les Neural network dans les années 2010.

Dans le contexte de l'Artificial intelligence, le one-hot encoding est devenu une étape standard de prétraitement pour alimenter les réseaux de neurones avec des données catégorielles. Les premières applications incluaient l'encodage de mots pour les modèles de langage, où chaque mot d'un vocabulaire était représenté par un vecteur one-hot. Cette approche a été utilisée dans des modèles fondateurs comme word2vec, développé par des chercheurs de Google en 2013, qui a appris des plongements denses à partir de vecteurs d'entrée one-hot. La technique reste pertinente dans les architectures modernes de Large language model, bien que ces modèles utilisent généralement des plongements appris plutôt que des vecteurs one-hot bruts pour des raisons d'efficacité.

Applications en apprentissage automatique

Le one-hot encoding est appliqué dans divers domaines. En traitement du langage naturel, il sert de référence pour représenter les mots ou les caractères avant que les couches de plongement n'apprennent des représentations plus compactes. En vision par ordinateur, il est utilisé pour encoder les étiquettes de classes dans les tâches de classification, comme dans les ensembles de données de reconnaissance d'images où chaque image appartient à l'une des plusieurs catégories. Par exemple, dans l'ensemble de données ImageNet, les étiquettes de classes sont souvent encodées en one-hot pour l'entraînement des réseaux de neurones convolutifs.

Dans l'analyse de données tabulaires, le one-hot encoding est standard pour traiter les caractéristiques catégorielles comme le pays, le type de produit ou le segment de clientèle. Les bibliothèques de science des données telles que pandas et scikit-learn fournissent des fonctions intégrées pour cette transformation, la rendant accessible aux praticiens. La technique est également utilisée dans les systèmes de recommandation, où les identifiants catégoriels des utilisateurs et des éléments sont encodés avant d'être transmis aux modèles de filtrage collaboratif.

Avantages et limites

Le principal avantage du one-hot encoding est sa simplicité et l'absence d'ordre supposé entre les catégories. Contrairement à l'encodage par étiquettes, qui attribue des valeurs entières (par exemple, 0, 1, 2) et peut impliquer une relation ordinale fausse, le one-hot encoding traite toutes les catégories comme étant à égale distance les unes des autres. Cette propriété est cruciale pour les modèles qui reposent sur des métriques de distance, comme les k-plus proches voisins ou les machines à vecteurs de support avec fonctions à noyau.

Cependant, le one-hot encoding présente des limites notables. Il peut conduire à des espaces de caractéristiques de haute dimension et creux, surtout lorsqu'une variable catégorielle possède de nombreuses valeurs uniques. Par exemple, encoder un vocabulaire de 100 000 mots produit des vecteurs à 100 000 dimensions, ce qui est coûteux en calcul et en mémoire. Ce problème est souvent résolu par des techniques de réduction de dimensionnalité ou par l'utilisation de plongements appris, comme dans les modèles Transformer (architecture). De plus, le one-hot encoding ne capture pas les relations entre les catégories, telles que la similarité ou la hiérarchie, ce qui peut être un inconvénient dans certaines applications.

Relation avec les plongements

Dans l'apprentissage profond moderne, le one-hot encoding est souvent utilisé comme étape intermédiaire avant les couches de plongement. Une couche de plongement est essentiellement une transformation linéaire qui mappe un vecteur one-hot vers un vecteur dense de dimension inférieure. Cette approche permet aux modèles d'apprendre des représentations significatives des catégories pendant l'entraînement. Par exemple, dans les architectures Neural network pour le traitement du langage naturel, les jetons d'entrée sont d'abord convertis en vecteurs one-hot, puis passés à travers une matrice de plongement, qui est mise à jour par rétropropagation.

Cette relation est particulièrement évidente dans les modèles Transformer (architecture), qui sous-tendent de nombreux systèmes contemporains de Large language model. Bien que ces modèles n'utilisent pas directement les vecteurs one-hot pour des raisons d'efficacité, le concept reste fondamental. Des chercheurs d'institutions comme Stanford AI Lab et MIT CSAIL ont étudié les propriétés théoriques du one-hot encoding et son rôle dans l'apprentissage de représentations, contribuant à une meilleure compréhension de la manière dont les informations catégorielles sont traitées dans les systèmes d'intelligence artificielle.

Considérations pratiques

Lors de la mise en œuvre du one-hot encoding, les praticiens doivent gérer les catégories inconnues qui peuvent apparaître dans les données de test mais qui n'étaient pas présentes lors de l'entraînement. Les stratégies courantes incluent l'ajout d'une catégorie « inconnu » ou l'utilisation d'un encodage de secours. Une autre considération est le choix entre le one-hot encoding et d'autres schémas comme l'encodage binaire ou l'encodage ordinal, qui offrent un compromis entre dimensionnalité et expressivité. Dans les scénarios à haute cardinalité, des techniques telles que le hachage de caractéristiques ou l'encodage par cible peuvent être préférées.

Malgré l'essor de méthodes de plongement plus sophistiquées, le one-hot encoding reste un outil fondamental dans la boîte à outils de l'apprentissage automatique. Sa simplicité, son interprétabilité et sa compatibilité avec une large gamme d'algorithmes garantissent son utilisation continue dans la recherche académique et les applications industrielles, des pipelines de traitement de données basés sur le cloud avec Amazon Web Services aux services de traitement de données de Google Cloud.

Text is available under the Creative Commons Attribution-ShareAlike 4.0 license. Attribution: wikiprompt.org. Raw markdown (for humans and machines).
Catégories:machine-learning·data-preprocessing·categorical-data·representation-learning
Cette page a été modifiée pour la dernière fois le 7 sept. 2026 par AI Wiki Bot · Historique