Sie sind auf Seite 1von 35

Teor a de la informaci on Compresi on de datos

Data Compression
Le on Illanes F.

10 de abril de 2012

1 / 35

Teor a de la informaci on Compresi on de datos

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

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

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

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Medici on de informaci on (cont.)

Podemos medir la predictibilidad de X .


Obviamente tambi en depende de la distribuci on de X Para X uniforme la probabilidad de adivinar el resultado es 1/2n Para el otro caso la probabilidad de adivinar es 1/2

4 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Medici on de informaci on (cont.)

Podemos medir el tama no esperado del programa m as corto que imprime X


Esta es la Complejidad de Kolmogorov Se puede considerar el promedio sobre la distribuci on de X , o se puede aplicar sobre un string particular
12735143092341245230023412. . . contiene m as informaci on que 11111111111111111111111111. . .

5 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Entrop a
Denici on Entrop a de Shannon (de primer orden): H (X ) =
x

p(x ) log

1 p (x )

Convenci on: 0 log(1/0) = 0 (l mx 0 x log(1/x ) = 0) Denici on H (X ) = E log 1 p(X )

6 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

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

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

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

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Entrop a conjunta

Denici on Entrop a conjunta: H (X , Y ) =


x y

p(x , y ) log

1 p (x , y )

Denici on H (X , Y ) = E [log (p(X , Y ))]

9 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Entrop a condicional
Denici on H (X |Y = y ) =
x

p(x |y ) log

1 p (x |y )

Denici on Entrop a condicional: H (X |Y ) =


y

p(y ) H (X |Y = y ) p(x , y ) log (p(x |y ))


y x

= E log

1 p(X |Y )
10 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Entrop a condicional (cont.)

Funciona como se espera (ie. regla de la cadena): H (X , Y ) = H (X ) + H (Y |X ) Demostraci on (pizarra)

11 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

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 )

Convenci on: 0 log 0/q = 0 y p log p/0 =


12 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Entrop a relativa (cont.)

Relaci on entre entrop a relativa y entrop a: H (X ) =


x X

p(x ) log

1 p(x ) p(x ) log p (x )


1 |X |

= log |X |
x X

= log |X | D (p||u ) Donde u se reere a la distribuci on uniforme.

13 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

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

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Informaci on mutua (cont.)

I (X ; Y ) cumple con la siguiente propiedad: I (X ; Y ) = H (X ) H (X |Y ) Demostraci on (pizarra)

I (X ; Y ) corresponde a la reducci on en incerteza de X debido a conocer Y .

15 / 35

Teor a de la informaci on Compresi on de datos

Medici on de informaci on Entrop a

Informaci on mutua (cont.)

Otras propiedades interesantes: I (X ; Y ) = I (Y ; X ) I (X ; Y ) = H (X ) + H (Y ) H (X , Y ) I (X ; X ) = H (X )

16 / 35

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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.

Se puede hacer esto, en general?

No.

17 / 35

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

Desigualdad de Kraft: Demostraci on


Sea lmax el largo de la palabra codicada m as larga. Consideremos el arbol de decisi on D -ario completo (algunos nodos son palabras, algunos van en camino a formar palabras y otros son descendientes de palabras). Si tomamos un nodo vi que corresponde a una palabra de largo li , podemos denir Ai como el conjunto de hojas del sub arbol con ra z en vi . Es f acil ver que |Ai | = D lmax li . Dado que el c odigo es prejo, necesariamente se tiene que para dos palabras (nodos vi y vj ) se tiene Ai Aj = Sumando sobre todas las palabras: D lmax li D lmax
i i
27 / 35

D li 1

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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.

Queremos encontrar c odigos que minimizan el largo esperado: m n s .a .


i

pi li
i li

28 / 35

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

m n s .a .
i

pi li
i li

Soluci on: li = log De esto se obtiene: L =


i

1 pi 1 = H (X ) pi

pi l i =
i

pi log

29 / 35

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

Algoritmo de Human (para c odigo binario)


Partimos con un bosque en que cada s mbolo es un nodo suelto con una etiqueta de probabilidad (que corresponde a la distribuci on dada) En cada iteraci on tomamos los dos arboles cuyas ra ces tienen menor probabilidad: pi y pj . Agregamos un nuevo nodo al que asignamos probabilidad pi + pj . Ponemos los otros dos arboles como los descendientes de este nodo. Iteramos hasta que queda un u nico arbol. Es f acil de extender a un alfabeto m as grande, haciendo que se acerque m as al optimo, pero se va haciendo m as lento de ejecutar.
31 / 35

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

Codicaci on aritm etica

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

Codicaci on aritm etica (cont.)

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

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

Teor a de la informaci on Compresi on de datos

Codicaci on C odigos optimos C odigos de Human Codicaci on aritm etica Qu e falta?

Qu e falta para completar un curso express en compresi on de datos?

Codicaci on por transformadas: substituci on o diccionario Modelos Compresi on con distorsi on (ie. lossy compression)

35 / 35

Das könnte Ihnen auch gefallen