Encodage one-hot
L'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.
Pour les articles homonymes, voir codage.
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.
Exemple
Le tableau ci-dessous présente un encodage 1 parmi n d'une variable fruit à 3 états possibles.
fruit | code |
---|---|
pomme | 001 |
ananas | 010 |
orange | 100 |
Avantages et inconvénients
L'avantage principal 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.
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.
Voir aussi
Notes et références
- « Encodage one-hot », sur developers.google.com (consulté le )
- Tertulien Ndjountche, Électronique numérique 3 : Machines avec un nombre fini d'états, vol. 3, ISTE éditions, , 304 p. (ISBN 978-1-78405-153-2, lire en ligne), chap. 1.6 (« Codage des états »)
- Alain Grenier, « Circuits numériques synchrones et synthèse des automates (p. 38) », sur enseignement.polytechnique.fr (consulté le )
- Portail de l’informatique