Beruflich Dokumente
Kultur Dokumente
Data Compression
Le on Illanes F.
10 de abril de 2012
1 / 35
Introducci on
Teor a de la informaci on Medici on de informaci on Entrop a Compresi on de datos Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?
2 / 35
Medici on de informaci on
Buscamos una forma razonable de medir la informaci on de una variable X Podemos medir el espacio necesario para guardar X .
Espacio promedio, depende de la distribuci on de X Si X es un string de n bits y distribuye uniforme, se necesitan n bits Si hay un string a que aparece con probabilidad 1/2, mientras el resto distribuye uniforme: n /2 + 1 bits
3 / 35
4 / 35
5 / 35
Entrop a
Denici on Entrop a de Shannon (de primer orden): H (X ) =
x
p(x ) log
1 p (x )
6 / 35
Justicaci on
La justicaci on para la denici on de entrop a es axiom atica. Si tomamos los siguientes axiomas para una funci on de informaci on f , se puede demostrar f = cH : Si X es uniformemente distribuida sobre un conjunto de tama no MX e Y es uniformemente distribuida sobre un conjunto de tama no MY > MX , entonces f (Y ) > f (X ). Si X , Y son independientes, entonces f (X , Y ) = f (X ) + f (Y ). Si B es una variable con distribuci on de Bernoulli, con probabilidad de exito p, entonces f (B ) es una funci on continua de p. Si X y B son variables aleatorias y B tiene distribuci on de Bernoulli con probabilidad de exito p, entonces f (BX ) = f (B ) + p f (X |B = 1) + (1 p) f (X |B = 0).
7 / 35
Propiedades
La verdadera justicaci on es que cumple con propiedades interesantes que se ajustan a la intuici on H (X ) 0 H (0) = H (1) = 0 H (1/2) = 1 H (Bq ) = H (B1q )
8 / 35
Entrop a conjunta
p(x , y ) log
1 p (x , y )
9 / 35
Entrop a condicional
Denici on H (X |Y = y ) =
x
p(x |y ) log
1 p (x |y )
= E log
1 p(X |Y )
10 / 35
11 / 35
Entrop a relativa
Tambi en se conoce como Divergencia de Kullback-Leibler. Es una medida de la diferencia entre dos distribuciones. Denici on Entrop a relativa: D (p||q ) =
x
p(x ) log
p (x ) q (x )
= E log
p(X ) q (X )
p(x ) log
= log |X |
x X
13 / 35
Informaci on mutua
Es la entrop a relativa entre la distribuci on conjunta y el producto de las distribuciones. Denici on Informaci on mutua: I (X ; Y ) = D (p(x , y )||p(x )p(y )) p (x , y ) = p(x , y ) log p(x )p(y ) x y
14 / 35
15 / 35
16 / 35
Compresi on de datos
El objetivo es generar algoritmos que reciben un mensaje y retornan el mensaje codicado de una forma que usa una menor cantidad de bits.
No.
17 / 35
Argumento de conteo
La cantidad de mensajes (binarios) de tama no n que se n pueden generar son 2 . La cantidad de mensajes (binarios) de tama no estrictamente menor a n es 2n 1. Luego, por el Principio del Palomar, es imposible comprimir todos los mensajes de tama no n a codicaciones de largo menor.
18 / 35
Dado que no se puede comprimir todo, es indispensable suponer un cesgo en la distribuci on de los mensajes y comprimir para reducir el promedio ponderado del tama no.
Con esto el problema de la compresi on se divide en dos partes: Modelamiento (denir la distribuci on de probabilidad de los mensajes) Codicaci on
19 / 35
Codicaci on
El objetivo es generar algoritmos que reciben un mensaje y retornan el mensaje codicado de una forma que usa en promedio una menor cantidad de bits.
Dada una distribuci on, buscamos codicar de modo que los mensajes m as frecuentes tengan los c odigos m as cortos.
20 / 35
En la pr actica no se suele trabajar con mensajes completos, si no que se dividen en s mbolos. T ecnicamente se puede considerar cada uno de estos s mbolos como mensajes aparte.
De este modo, funcionamos con la distribuci on de probabilidad de los s mbolos (y no de los mensajes completos).
21 / 35
Denici on C odigo: Un c odigo C para una variable aleatoria X es un mapping de X a D . Donde D es un alfabeto de tama no D. Denici on Largo esperado de un c odigo C : L(C ) =
x X
p(x ) |C (x )|
22 / 35
Denici on Un c odigo C se dice no singular si mapea cada elemento de X a un string distinto en D : xi = xj C (xi ) = C (xj ) Denici on La extensi on C de un c odigo C corresponde al mapeo de X a D : C (x1 x2 xn ) = C (x1 )C (x2 ) C (xn )
23 / 35
Denici on Un c odigo C se dice u nicamente decodicable si su extensi on C es no singular. Todo string codicado por un c odigo u nicamente decodicable tiene un u nico string fuente que lo produce. Denici on Un c odigo C es un c odigo prejo (o c odigo instant aneo) si ninguna palabra codicada es prejo de otra. Un c odigo prejo se puede decodicar en tiempo real. Si termino de leer un s mbolo codicado, puedo traducirlo inmediatamente.
24 / 35
C odigo prejo
Puede verse como un arbol de decisi on con ramicaci on D . Para D = {0, 1} se trata de un arbol de decisi on binario.
25 / 35
C odigos o ptimos
Teorema Desigualdad de Kraft. Para todo c odigo prejo sobre un alfabeto de tama no D, los largos de las palabras codicadas (l1 , l2 , . . . , ln ) deben satisfacer: D li 1
i
Adem as, dado un conjunto de largos de palabras codicadas que satisfacen la desigualdad, se sabe que existe un c odigo prejo con estos largos.
26 / 35
D li 1
C odigos o ptimos
Sabemos que todo c odigo prejo satisface la desigualdad de Kraft, y que esta desigualdad es condici on suciente para la existencia de un c odigo con los largos de palabras especicados.
pi li
i li
28 / 35
m n s .a .
i
pi li
i li
1 pi 1 = H (X ) pi
pi l i =
i
pi log
29 / 35
C odigos de Human
Human (1952) dise n o un algoritmo para hacer asignaci on optima de c odigos: genera el arbol de decisi on
Aproximadamente optimo. . . , hay un problema al hacer aproximaci on a cantidades enteras de bits. Es verdaderamente optimo si las probabilidades son todas potencias de 1/2. Se hace m as malo mientras m as lejos se est a de esto.
30 / 35
Rissanen (1976). Es un algoritmo que se aproxima mejor al optimo. No se us o mucho hasta hace poco porque es relativamente lento (oat) y estaba protegido por patentes. . .
32 / 35
Dado un orden < para los s mbolos del alfabeto y un modelo P (ie. P (x ) es la probabilidad de que aparezca el s mbolo x ), denimos P< (x ) como y <x P (y ). Adem as, denimos P (x ) = P< (x ) + P (x ). El c odigo aritm etico para un string x es el n umero (oat) binario b m as corto tal que P< (x ) b < P (x ). Este n umero b siempre existe y es tal que nunca es m as de un bit m as largo que log 1/px .
33 / 35
El algoritmo sigue los siguientes pasos: Inicialmente se denen rangos de probabilidad acumulada para los s mbolos. (P< (x ), P (x )) Denimos low = 0, high = 1. Loop sobre s mbolo x de entrada:
Denimos range = high low . Denimos high = low + range P< (x ). Denimos low = low + range P (x ). Retorna un n umero entre low y high .
34 / 35
Codicaci on por transformadas: substituci on o diccionario Modelos Compresi on con distorsi on (ie. lossy compression)
35 / 35