Encodage one-hotL'encodage one-hot[1] ou encodage 1 parmi n consiste à encoder une variable à n états sur n bits dont un seul prend la valeur 1[2],[3], le numéro du bit valant 1 étant le numéro de l'état pris par la variable. Cet encodage est courant en apprentissage automatique ou l'on représente usuellement une variable catégorielle à n catégories par n variables binaires, la i-ème variable binaire représentant la i-ème catégorie. Son usage est également répandu dans les FPGA pour représenter l'état d'une machine à états. ExempleLe tableau ci-dessous présente un encodage 1 parmi n d'une variable fruit à 3 états possibles.
Chacune des modalités peut aussi être représentée dans sa propre colonne, chaque valeur étant 0 ou 1.
La dernière colonne peut-être omise car elle peut être déduite des précédentes pour gagner un peu de mémoire. Avantages et inconvénientsL'un des avantages principaux de cet encodage est que pour passer d'un état à un autre, seules deux transitions sont nécessaires : un chiffre passe de 1 à 0, un autre de 0 à 1. En électronique numérique, un autre avantage est lié à la quantité réduite de logique combinatoire nécessaire pour tester l'état du système, seul le bit n étant à tester pour vérifier si l'état n est actif. L'inconvénient est la taille de la variable en mémoire puisqu'il utilise autant de bits qu'il y a d'états. L'espace mémoire nécessaire augmente linéairement avec le nombre d'états. Alors qu'un code utilisant toutes les valeurs binaires possibles tel que le comptage classique en base 2 (0 → 0, 1 → 1, 2 → 10, 3 → 11, 4 → 100) conduit à une augmentation logarithmique du nombre de bits avec le nombre d'états. Cet encodage one-hot est nécessaires aux pré-traitements des données catégorielles pour être utilisée par les algorithmes d'apprentissage automatique et d'apprentissage profond, en effet ces algorithmes travaillent uniquement avec des données et variables quantitatives ou numériques, les données et variables catégorielles doivent donc être transformées et encodées auparavant. Voir aussiNotes et références
|