Entropie de Shannon

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir Entropie.

L'entropie de Shannon, due à Claude Shannon, est une fonction mathématique qui, intuitivement, correspond à la quantité d'information contenue ou délivrée par une source d'information. Cette source peut être un texte écrit dans une langue donnée, un signal électrique ou encore un fichier informatique quelconque (collection d'octets).

Du point de vue d'un récepteur, plus la source émet d'informations différentes, plus l'entropie (ou incertitude sur ce que la source émet) est grande. Ainsi, si une source est réputée envoyer toujours le même symbole, par exemple la lettre 'a', alors son entropie est nulle, c'est-à-dire minimale. En effet, un récepteur qui connait seulement les statistiques de transmission de la source est assuré que le prochain symbole sera un 'a'. Par contre, si la source est réputée envoyer un 'a' la moitié du temps et un 'b' l'autre moitié, le récepteur est incertain de la prochaine lettre à recevoir. L'entropie de la source dans ce cas est donc non nulle (positive) et représente quantitativement l'incertitude qui règne sur l'information émanant de la source. L'entropie indique alors la quantité d'information nécessaire pour que le récepteur puisse déterminer sans ambiguïté ce que la source a transmis. Plus le récepteur reçoit d'information sur le message transmis, plus l'entropie (incertitude) vis-à-vis de ce message décroît. En particulier, plus la source est redondante, moins elle contient d'information. En l'absence de contraintes particulières, l'entropie est maximale pour une source dont tous les symboles sont équiprobables.

Historique[modifier | modifier le code]

Au début des années 1940, les télécommunications étaient dominées par le mode analogique. Les sons et les images étaient transformés en signaux électriques dont l'amplitude et/ou la fréquence sont des fonctions continues du signal d'entrée. Un bruit ajouté pendant la transmission résultait en une dégradation du signal reçu. L'archétype de ce type de bruit prend la forme de grésillement pour la radio et de neige pour la télévision. Aujourd'hui, les signaux sont également codés sous forme numérique. Un bruit ajouté pendant la transmission se traduira par une erreur sur les données numériques transmises, se manifestant par exemple par l'apparition de pixels aberrants sur une image de télévision. Dans les deux cas, on souhaite d'une part transmettre le maximum de données en le minimum de temps sur un canal de transmission donné, d'autre part, pouvoir corriger les altérations dues au bruit dans une limite donnée.

En 1948, Claude Shannon, ingénieur en génie électrique aux Laboratoires Bell, formalisa mathématiquement la nature statistique de « l'information perdue » dans les signaux des lignes téléphoniques. Pour ce faire, il développa le concept général d'entropie de l'information, fondamental dans la théorie de l'information[1], ce qui lui permit d'évaluer la quantité d'information maximale qu'on pouvait transmettre dans un canal donné. Il a également montré qu'en utilisant une stratégie de codage numérique adéquat, il était possible de transmettre les informations de façon que le récepteur soit en mesure de restaurer le message original bruité sans perte d'information, sous réserve de réduire la vitesse de transmission des informations.

Initialement, il ne semble pas que Shannon ait été au courant de la relation étroite entre sa nouvelle mesure et les travaux précédents en thermodynamique. Le terme entropie a été suggéré par le mathématicien John von Neumann pour la raison que cette notion ressemblait à celle déjà connue sous le nom d'entropie en physique statistique. Il aurait ajouté que ce terme était de plus assez mal compris pour pouvoir triompher dans tout débat[2].

En 1957, Edwin Thompson Jaynes démontrera le lien formel existant entre l'entropie macroscopique introduite par Clausius en 1847, la microscopique introduite par Gibbs, et l'entropie mathématique de Shannon. Cette découverte fut qualifiée par Myron Tribus de « révolution passée inaperçue »[3].

Le calcul de l'entropie d'une source de messages donne une mesure de l'information minimale que l'on doit conserver afin de représenter ces données sans perte. En termes communs, dans le cas particulier de la compression de fichiers en informatique, l'entropie indique le nombre minimal de bits que peut atteindre un fichier compressé. En pratique, l'entropie de l'image ou du son se voit davantage abaissée en retirant des détails imperceptibles pour les humains, comme lors de la compression des sons par le format MP3, des images par JPEG ou des vidéos par MPEG.

Définition formelle[modifier | modifier le code]

Pour une source, qui est une variable aléatoire discrète X comportant n symboles, chaque symbole xi ayant une probabilité Pi d'apparaître, l'entropie H de la source X est définie comme :

H_b(X)= -\mathbf E [\log_b {P(X=x_i)}] = \sum_{i=1}^nP_i\log_b \left(\frac{1}{P_i}\right)=-\sum_{i=1}^nP_i\log_b P_i.\,\!

\mathbf E désigne l'espérance mathématique, et \log_b le logarithme en base b. On utilise en général un logarithme à base 2 car l'entropie possède alors les unités de bit/symbole. Les symboles représentent les réalisations possibles de la variable aléatoire X. Dans ce cas, on peut interpréter H(X) comme le nombre de questions à réponse oui/non que doit poser en moyenne le récepteur à la source, ou la quantité d'information en bits que la source doit fournir au récepteur pour que ce dernier puisse déterminer sans ambiguïté la valeur de X.

H(X)=H_2(X)= -\sum_{i=1}^nP_i\log_2 P_i.\,\!

Si on dispose de deux variables aléatoires X et Y, on définit d'une façon analogue la quantité H(X,Y), appelée l'entropie conjointe, des variables X et Y :

H(X,Y)= -\sum_{i,j} P(X=x_i,Y=y_j)\log_2 P(X=x_i,Y=y_j)

ainsi que l'entropie conditionnelle de Y relativement à X :

H(Y \,|\, X)= -\sum_{i,j} P(X=x_i,Y=y_j)\log_2 P(Y=y_j \,|\, X=x_i)

Justification de la formule[modifier | modifier le code]

Dans le cas où l'on dispose d'un nombre N de symboles de la forme N=2^n, avec n entier, et où les N symboles sont équiprobables, il suffit de n questions, en procédant par dichotomie, pour déterminer le symbole envoyé par la source. Dans ce cas, la quantité d'information contenue par le symbole est exactement n=\log_2(N). Il est naturel de conserver cette formule dans le cas où N n'est pas une puissance de 2. Par exemple, si les symboles sont les lettres de l'alphabet ainsi que le symbole espace (soit 27 symboles), l'information contenue par un symbole est \log_2(27) \approx 4,75, valeur intermédiaire entre 4 bits (permettant de coder 16 symboles) et 5 bits (qui permet d'en coder 32). Cette définition de l'entropie dans le cas équiprobable est comparable à celle donnée en thermodynamique par Boltzmann.

Supposons maintenant que les N symboles soient répartis en n sous-catégories, la i-ème catégorie étant constituée de Ni symboles (avec donc N = N_1+...+N_n). Par exemple, les 27 caractères considérés précédemment peuvent être répartis en trois catégories, les voyelles, les consonnes et le caractère espace. Soit X la variable aléatoire donnant la catégorie du symbole considéré. Posons P_i = N_i/N la probabilité que le symbole considéré appartienne à la i-ème catégorie. La détermination du symbole peut être effectuée en deux temps, d'abord celui de sa catégorie X, exigeant une quantité d'information H(X), puis, au sein de sa catégorie, la détermination du symbole. Si la catégorie à laquelle appartient le symbole est la i-ème, cette dernière étape demande une quantité d'information égale à \log_2(N_i). Cette éventualité se produisant avec une probabilité Pi, la quantité moyenne d'information pour déterminer le symbole connaissant sa catégorie est \sum_{i=1}^n P_i \log_2(N_i). La quantité d'information totale \log_2(N) pour déterminer le symbole est donc la somme de la quantité H(X) pour déterminer sa catégorie, et de la quantité moyenne \sum_i P_i \log_2(N_i) pour déterminer le symbole au sein de sa catégorie. On a donc :

\log_2(N) = H(X) + \sum_i P_i \log_2(N_i)

donc :

H(X) = \log_2(N) - \sum_i P_i \log_2(N_i) = - \sum_i P_i \log_2(N_i/N) = -\sum_i P_i \log_2(P_i)

Par exemple, la quantité d'information de 4,75 bits pour déterminer un caractère parmi 27 se scinde en H(X) = 0,98 bits pour déterminer sa catégorie (voyelle, consonne, espace) auxquels s'ajoutent 3,77 bits en moyenne pour déterminer le caractère au sein de sa catégorie.


On peut vérifier a posteriori la cohérence de cette définition avec la propriété d'additivité de l'entropie. Soient deux variables aléatoires indépendantes X et Y. On s'attend à ce que H(X,Y) = H(X) + H(Y). Par exemple, si (X,Y) représente la position d'un objet dans un tableau (X étant le numéro de ligne et Y le numéro de colonne), H(X,Y) est la quantité d'information nécessaire pour déterminer cette position. C'est la somme de la quantité d'information H(X) pour déterminer son numéro de ligne et de la quantité d'information H(Y) pour déterminer son numéro de colonne. Or, la probabilité du produit cartésien de ces variables aléatoires est donnée par :

P\left(X=x,Y=y\right) = P\left(X=x\right)P\left(Y=y\right)

qui sera abrégé par la suite en P(x,y) = P(x)P(y). On a alors :

\begin{align} H(X,Y) &= -\sum_{x \in X}\sum_{y \in Y} P(x,y)\log P(x,y) \\
                             &= -\sum_{x \in X}\sum_{y \in Y} P(x)P(y)\log \left[ P(x)P(y)\right] \\
                             &= -\sum_{x \in X}\sum_{y \in Y} P(x)P(y)\left[\log P(x) + \log P(y)\right] \\
                             &= -\sum_{x \in X}\sum_{y \in Y} P(x)P(y)\log P(x) -\sum_{y \in Y}\sum_{x \in X} P(x)P(y)\log P(y) \\
                             &= -\sum_{x \in X}P(x)\log P(x)\sum_{y \in Y} P(y) -\sum_{y \in Y}P(y)\log P(y)\sum_{x \in X} P(x) \\
                             &= -\sum_{x \in X}P(x)\log P(x) -\sum_{y \in Y}P(y)\log P(y) \\
                             &= H(X)+H(Y) \end{align}

comme attendu.

Exemples simples[modifier | modifier le code]

Tirage aléatoire dans une urne[modifier | modifier le code]

Considérons une urne contenant une boule rouge, une boule bleue, une boule jaune et une boule verte. On tire une boule au hasard. Il s'agit de communiquer la couleur tirée. Aucun tirage n'étant privilégié, l'entropie est maximale, égale ici à \log_2(4) = 2. Si on convient que les couleurs sont codées respectivement 00, 01, 10, 11, l'information contenue dans le tirage correspond effectivement à 2 bits.

Mais si une certaine couleur est plus représentée que les autres, alors l'entropie est légèrement réduite. Supposons par exemple que l'urne contienne 4 boules rouges, 2 bleues, 1 jaune et 1 verte. L'entropie est alors de \log_2(2)/2 + \log_2(4)/4 + \log_2(8)/8 + \log_2(8)/8 = 7/4. Si les couleurs sont codées respectivement 0 pour le rouge, 10 pour le bleu, 110 pour le jaune et 111 pour le vert[4], alors l'information sur la couleur tirée occupe 1 bit une fois sur deux, 2 bits une fois sur quatre et 3 bits une fois sur quatre, soit en moyenne 7/4 bits, correspondant à l'entropie calculée.

Entropie d'un texte[modifier | modifier le code]

Considérons un texte constitué d'une chaîne de lettres et d'espaces, soit 27 caractères. Si ces caractères sont équiprobables, l'entropie associée à chaque caractères est \log_2(27) = 4,75..., ce qui signifie qu'il faut entre 4 et 5 bits pour transmettre un caractère. Mais si le texte est exprimé dans un langage naturel tel que le français, comme la fréquence de certains caractères n'est pas très importante (ex : 'w'), tandis que d'autres sont très communs (ex : 'e'), l'entropie de chaque caractère n'est pas si élevée. Compte tenu de la fréquence de chaque caractère, une estimation effectuée sur la langue anglaise par Shannon donne comme valeur de l'entropie environ 4,03[5].

L'entropie est en fait encore plus faible, car il existe des corrélations entre un caractère et celui (ou ceux) qui le précède. Des expériences ont été menées afin d'estimer empiriquement cette entropie. Par exemple, A dispose du texte et demande à B de le deviner lettre par lettre (espaces compris). Si B devine correctement la lettre, on compte 1 et si B se trompe, on compte 4,75 (correspondant à l'entropie d'un caractère équiprobable, donnée plus haut). On obtient ainsi expérimentalement une entropie de 1,93 bits par lettre[6],[7].

Enfin, la considération de la loi de Zipf (empirique)[8] amène à des considérations du même ordre, cette fois-ci pour les mots. D'après l'ouvrage de 1955 Connaissance de l'électronique[9] une lettre dans une langue donnée représente dans la pratique 1,1 bit-symbole (terminologie employée par cet ouvrage). Cette redondance explique la facilité avec laquelle on peut briser plusieurs chiffrages de complexité moyenne si on dispose de leur algorithme, même sans connaître la clé de chiffrement. C'est elle aussi qui permet de retrouver le contenu d'un texte parlé ou écrit dont une grande partie est altérée pour une raison ou une autre.

Propriétés[modifier | modifier le code]

Voici quelques propriétés importantes de l'entropie de Shannon :

  • H(X)\ge 0 avec égalité si et seulement s'il existe i tel que P(X=x_i)=1
  • H(X) = -\sum_i p_i \log p_i \leq -\sum_i p_i \log q_i q_i est une distribution de probabilité quelconque sur la variable X (Inégalité de Gibbs).
  • H(X)\le \log_2(n). La quantité \log_2(n) est l'entropie maximale, correspondant à une distribution uniforme, c’est-à-dire quand tous les états ont la même probabilité. Toutes choses égales par ailleurs, l'entropie augmente avec le nombre d'états possible (ce qui traduit l'intuition que plus il y a de choix possibles, plus l'incertitude est grande).
  • Elle est symétrique : H(X,Y)=H(Y,X)
  • Elle est continue
  • H(X,Y)=H(X) + H\left(Y \,|\, X\right)
  • H(X,Y) \leq H(X) + H(Y) avec égalité si et seulement si les variables sont indépendantes.
  • H(Y \,|\, X) \leq H(Y)
  • H(Z \,|\, X,Y) \leq H(Z \,|\, X)
  • H(X_1, \ldots, X_n) = H(X_1)+H(X_2 \,|\, X_1)+ \ldots +H(X_n \,|\, X_1, \ldots, X_{n-1})
  • H(X_1, \ldots, X_n) \leq \sum_{i=1}^n H(X_i)

Utilité pratique[modifier | modifier le code]

L'entropie de Shannon est utilisée pour numériser une source en utilisant le minimum possible de bits sans perte d'information. Si le canal de transmission de l'information a une capacité de C bits par seconde et si les symboles qu'envoie la source ont une entropie H, alors la vitesse maximale de transmission des symboles est de C/H symboles par seconde, cette vitesse pouvant être approchée d'aussi près que l'on veut au moyen d'un système de codage adéquat des symboles.

De plus, si du bruit brouille la transmission, la capacité C du canal de transmission diminue. En effet, des informations supplémentaires doivent être envoyées par la source afin que le récepteur puisse reconstituer le message sans erreur. Ces informations occupent une place supplémentaire qui diminuent la capacité C. Soit p la probabilité qu'un bit 0 soit modifié en 1 et inversement. Les informations supplémentaires envoyées par la source doivent permettre au récepteur de savoir si le bit envoyé est erroné (avec une probabilité p) ou s'il est correct (avec une probabilité 1 - p). La quantité d'information correspondante par bit est -p\log_2(p)-(1-p)\log_2(1-p). La capacité de transmission devient alors C(1 + p\log_2(p)+(1-p)\log_2(1-p)). Elle est nulle si p = 1/2, cas correspondant à un message totalement brouillé.

L'entropie de Shannon permet aussi de quantifier le nombre minimum de bits sur lesquels on peut coder un fichier, mesurant ainsi les limites que peuvent espérer atteindre les algorithmes de compression sans perte comme le codage de Huffman, puis ultérieurement l'algorithme LZH. Elle est également utilisée dans d'autres domaines, comme, par exemple, pour la sélection du meilleur point de vue d'un objet en trois dimensions[10].

L'entropie de Shannon est utilisée également en imagerie (médicale ou spatiale) à la base de la théorie de l'information Mutuelle (Mutual Information (MI)). Elle permet notamment de recaler deux images différentes l'une sur l'autre en minimisant l'entropie des deux images. En pratique cela permet de comparer les scanners d'un patient A quelconque avec un patient de référence B. Enfin, en génétique, l'entropie de Shannon permet de repérer sur un chromosome les portions d'ADN contenant le plus d'information.

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

Références[modifier | modifier le code]

  1. Claude E.Shannon A mathematical theory of communication Bell System Technical Journal, vol. 27, p. 379-423 and 623-656, July and October, 1948
  2. M. Tribus, E.C. McIrvine, “Energy and information”, Scientific American, 224 (September 1971).
  3. La référence est dans ce document (PDF)
  4. Les codes sont tels qu'aucun d'eux n'est préfixe d'un autre, de sorte qu'une suite de tirages avec remise puisse être communiquée sans ambiguïté pour le récepteur.
  5. Léon Brillouin, La science et la théorie de l'information, Masson (1959), réédité par Gabay (1988), p. 23
  6. Léon Brillouin, La science et la théorie de l'information, Masson (1959), réédité par Gabay (1988), p. 24
  7. La mesure dépend de la culture du récepteur. Une phrase comme "nous obtenons la série suivante rapidement convergente" fournira un plus grand taux de réussite chez des mathématiciens que chez des non-mathématiciens. De même, explique Brillouin, si on utilise d'autres vocabulaires très spécialisés comme médical, financier, politique, etc.
  8. ou de sa généralisation mathématique, la loi de Mandelbrot
  9. Editions du Tambourinaire, 1955
  10. (en) P.-P. Vàzquez, M. Feixas, M. Sbert, W. Heidrich, Viewpoint selection using viewpoint entropy, Proceedings of the Vision Modeling and Visualization Conference, 273-280, 2001.