Encodage one-hot

Une proposition de fusion est en cours entre Encodage one-hot et Tableau disjonctif complet.

Les avis sur cette proposition sont rassemblés dans une section de Wikipédia:Pages à fusionner. Les modifications majeures apportées, entre-temps, aux articles doivent être commentées sur la même page.

Vous venez d’apposer le modèle {{à fusionner}}, suivez ces étapes :

1.

Apposez le bandeau sur les autres pages à fusionner :

  • Tableau disjonctif complet

Utilisez ce texte : {{à fusionner |Encodage one-hot |Tableau disjonctif complet}}

2.

Important : ajoutez une section dans Pages à fusionner en motivant votre proposition.

Pour créer la section :

Créer la section sur la page des Pages à fusionner

3.

Pensez à informer les contributeurs principaux de la page et les projets associés lorsque cela est possible.

Utilisez ce texte : {{subst:Avertissement fusion |Encodage one-hot |Tableau disjonctif complet}}

Page d’aide sur l’homonymie

Pour les articles homonymes, voir codage.

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.

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.

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

Chacune des modalités peut aussi être représentée dans sa propre colonne, chaque valeur étant 0 ou 1.

fruit bit2_orange bit1_ananas bit0_pomme
pomme 0 0 1
ananas 0 1 0
orange 1 0 0

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énients

L'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 aussi

Sur les autres projets Wikimedia :

  • encodage one-hot, sur le Wiktionnaire
  • encodage 1 parmi n, sur le Wiktionnaire
  • one-hot encoding, sur le Wiktionnaire

Notes et références

  1. « Encodage one-hot », sur developers.google.com (consulté le )
  2. 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 »)
  3. Alain Grenier, « Circuits numériques synchrones et synthèse des automates (p. 38) », sur enseignement.polytechnique.fr (consulté le )
  • icône décorative Portail de l’informatique