Wykłady 1-9
Transkrypt
Wykłady 1-9
Kompresja danych i entropia: sala 0174 J. Tabor 31 ma ja 2013 Elements of statistics, multivariate normal density, histogram Entropy Human codings Arithmetic codings ?? linear codings - doczytac co to jest ?? kanaªy ?? Clustering PCA=principal component analysis SVD=support vector machines EM=expectation maximization z jakich ksiazek co cytujemy, i z czego korzystamy? Przegl¡d metod kompresji: [5]. W [6] jest wiele przykªadów zada«, w miar¦ sensowne. John Kiefer: entropia i informacja bezstratne 0. pami¦ci 1. ?. elementy rozkªadów dyskretnych, prawdopodobie«stwo, ¹ródªo bez wyprowadzenie entropii, tw. Krafta 2. twierdzenie Shannona o helikopterze? human, arytmetyczne, shannona? stratne 3. icja: podej±cie Lloyda, Hartigana, k-means++ 4. k-means, wyprowadzenie, intu- zmienne jednowymiarowe, rozkªady ci¡gªe, przykªady itp, zmienne wielowymiarowe, macierz kowariancji 5. wyprowadzenie entropii ró»niczkowej, motywacja 6. podej±cie za pomoc¡ rzutowa«, rzutowania ortogonalne 7. transformata Fouriera, transformata cosinusowa 8. sposób wygl¡da 9. jpeg - omówienie w jaki PCA - o ile mamy macierz kowariancji, przykªady, 10. k-spaces: omówienie 1 Wykªad 1: powtórzenie informacji z rachunku prawdopodobie«stwa Zasady zaliczania s¡ podane na stronie. Polecam ksi¡»k¦: [3] podaªem na jej podstawie ciekawostki dotycz¡ce kodowania Morse'a i tam-tamów. Zaczynamy od powtórzenia rachunku prawdopodobie«stwa. Do naszych rozwa»a« niezb¦dne nam b¦dzie poj¦cie przestrzeni probabilistycznej i zmiennej losowej. Zacznijmy od rozkªadu prawdopodobie«stwa. 1 oraz, »e dla ka»dego rozs¡dnego podzbioru Zakªadamy, »e mamy przestrze« Ω A zbioru Ω mo»emy okre±li¢ z jakim prawµ(A) go wylosujemy. Zakªadamy w szczególno±ci, »e µ(X) = 1 oraz, »e µ(A ∪ B) = µ(A) + µ(B) o ile A i B s¡ rozª¡czne. Mówimy, »e dwa zdarzenia s¡ niezale»ne, o ile µ(A|B) := µ(A ∩ B)/µ(B) = µ(A), czyli gdy dopodobie«stwem µ(A ∩ B) = µ(A) · µ(B). 1 precyzyjniej mówi¡c mierzalnego 1 Dla rozkªadu prawdopodobie«stwa µ na R median¡ nazywamy ka»d¡ warto±¢ m tak¡, »e µ((−∞, m]) = µ([m, ∞)). Prosz¦ zauwa»y¢, »e mediana nie zawsze jest wyznaczona jednoznacznie. Denicja 1.1. Zmienna losowa to funkcja mierzalna X z (Ω, µ) w R (lub RN ). Generuje N za pomoc¡ wzoru ona rozkªad prawdopodobie«stwa na R µX (A) := µ(X −1 (A)). N -wymiarowa je»eli przy jednym RN : oznaczam cz¦sto (X1 , . . . , XN ). Zmienna losowa jest element z przestrzeni losowaniu losujemy od razu Zmienna losowa ma rozkªad dyskretny je»eli mamy mo»liwo±¢ wylosowania (potencjalnie niesko«czonej ilo±ci) liczb liczb pk musi by¢ równa 1). (xk ) z prawdopodobie«stwami Najprostszy przykªad to (pk ) (oczywi±cie suma {0, 1} z prawdopodobie«stwem 1/2. Inaczej mówi¡c gdy µX = X pi δxi . i Zmienna losowa ma rozkªad ci¡gªy je»eli ma g¦sto±¢, to znaczy gdy istnieje taka funkcja f, »e Z µX (A) = f (x)dx. A Najprostszy (i zarazem bardzo wa»ny) jest rozkªad jednostajny na odcinku [0, 1]. Najwa»niejszym rozkªadem (i chyba najcz¦±ciej spotykanym) jest rozkªad normalny N (m, σ 2 ), jego g¦sto±¢ to f (x) = √ (x−m)2 1 e− 2σ2 . 2πσ Denicja warto±ci oczekiwanej: EX := X Z p i xi lub xf (x)dx. (tak samo dla zmiennych losowych wielowymiarowych, b¦d¦ oznaczaª tak»e przez mX ), i wariancji (wariancja mierzy rozsiew danej zmiennej): V X = E(X − EX)2 = EX 2 − (EX)2 . √ Wtedy odchylenie standardowe dane jest wzorem σX = V X. Mówimy, »e zmienne losowe X1 : Ω → R i X2 : Ω → R s¡ niezale»ne, o ile µ(X1 ∈ A, X2 ∈ B) = µ(X1 ∈ A) · µ(X2 ∈ B). Dla dwóch zmiennych losowych mierzy si¦ kowariancj¦: cov(X1 , X2 ) = E((X1 − EX1 ) · (X2 − EX2 )). Z kowariancj¡ jest powi¡zany wspóªczynnik korelacji, r(X1 , X2 ) := cov(X1 , X2 )/(σX1 · σX2 ), który jak mo»na pokaza¢ przyjmuje warto±ci w przedziale [−1, 1]. Jak ªatwo mo»na zobaczy¢ na przykªadach (patrz wikipedia), je»eli wspóªczynnik korelacji jest niezerowy, 2 to zmienne s¡ zale»ne, natomiast nie zachodzi odwrotna zale»no±¢ (zachodzi gdy zaw¦zimy si¦ do rozkªadów normalnych). X Dla zmiennej losowej wielowymiarowej deniujemy macierz kowariancji cov(X) := E((X − EX) · (X − EX)T ). ΣX . A liniowego Czasami oznaczaª b¦d¦ przez atwo sprawdzi¢, »e dla mamy E(AX + b) = AEX + b, cov(AX + b) = Acov(X)AT . Co wi¦cej, je»eli X ma rozkªad g¦sto±ci f, to AX + b ma rozkªad | det(A)|f (A−1 (y − b)). Powy»sza obserwacja mo»e sªu»y¢ do losowania z rozkªadu normalnego wielowymiarowego. Zacznijmy od rozkªadu X o rozkªadzie N (0, IN ) N (0, 1) który wiemy jak losowa¢. Nast¦pnie zmienna mo»emy wylosowa¢ bior¡c kolejne wspóªrz¦dne z rozkªadu nor- malnego jednowymiarowego, g¦sto±¢ jego jest dana wzorem f (x) = 1 exp(−kxk2 /2). (2π)N/2 m i macierzy kowariancji Σ, to Σ1/2 X + m, oraz g¦sto±¢ dana jest wzorem Gdyby±my teraz chcieli losowa¢ z normalnego o ±redniej na podstawie wcze±niejszych wystarczy wzi¡¢ 1 (2π)N/2 |Σ|1/2 gdzie exp(−kx − mk2Σ /2), kwk2Σ = (Σ−1/2 w)T (Σ−1/2 w) = wT Σ−1 w Zadanie 1.1. jest parzysta, jest kwadratem odlegªo±ci Mahalanobisa. Rozpatrujemy rzut dwoma kostkami, B, A »e iloczyn oczek jest parzysty. Policz oznacza zdarzenie, »e suma oczek P (A|B). Czy zdarzenia A i B s¡ niezale»ne? Zadanie 1.2. Zmienna losowa ma rozkªad dwumianowy z prawdopodobie«stwo uzyskania warto±ci Zadanie 1.3. Zmienna losowa X jest prawdopodobie«stwo zdarzenia Zadanie 1.4. Zadanie 1.5. Jakie jest k = 7? ma rozkªad wykªadniczy o parametrze λ = 2. Jakie X > 3? X ma X ≥ 1. Zmienna losowa jest prawdopodobie«stwo, »e p = 0.3, N = 10. rozkªad jednostajny na zbiorze [0, 5]. Jakie jest Poni»sza tabelka pokazuje prawdopodobie«stwo uzyskania warto±ci k: k 1 2 3 4 pk 0.1 0.3 0.4 0.2 Policz warto±¢ oczekiwan¡ i wariancj¦. Zadanie 1.6. Zarobki w rmie w (tys.) wynosz¡ odpowiednio: 2,3,4,2,3,2,3,4,5,10. Ile zarabia szef, a ile wynosi mediana i ±rednia? Zadanie 1.7. Poni»sza tabelka podaje prawdopodobie«stwo uzyskania wyniku zmiennych losowych X i X Czy X i Y (X, Y ) dla Y: 2 3 4 \Y 1 1 0.1 0.2 0.1 0 2 0.3 0 0.2 0.1 s¡ niezale»nymi zmiennymi losowymi (uzasadnij). Policz wspóªczynnik ko- relacji mi¦dzy Zadanie 1.8. X i Y. Podaj wzór na g¦sto±¢ wielowymiarowego rozkªadu normalnego. 3 2 Wykªad 2: kody B¦dziemy korzysta¢ z ksi¡»ki [1, Rozdziaª V] oraz [2, Rozdziaª 4]. Mamy alfabet ¹ródªowy skªada si¦ z liter {0, 1}). S (o mocy m) i alfabet kodowy A = {a1 , . . . , an } (najcz¦±ciej Chcemy przesªa¢ tekst napisany w alfabecie ¹ródªowym, ale nasz kanaª informacyjny pozwala na przesyªanie tylko S A. Czyli chcemy ka»dy element z ∗ wyrazi¢ za pomoc¡ sªów z A (niepuste sªowa o sko«czonej dªugo±ci). Denicja 2.1. Przez funkcj¦ koduj¡c¡ (kodowanie) rozumiem dowoln¡ funkcj¦ ϕ:S→ A∗ . Kodowanie nazywamy nieosobliwym je»eli jest iniektywne, to znaczy je»eli dwa ró»ne elementy kodowane s¡ ró»nymi kodami (sªowamu). Je»eli mamy wiele, to wtedy odd- zielamy znakiem specjalnym (zazwyczaj przecinkiem, spacj¡ b¡d¹ ±rednikiem). Ale to nie jest efektywne bo musimy zarezerwowa¢ dodatkowy symbol do odzielania od siebie kolejnych kodów (ale w praktyce cz¦sto u»ywane koniec stringa: '\0', koniec pliku EOF). atwo si¦ na tym pracuje. Przykªad 2.1. l1 , . . . , lm ? Kiedy mo»na zrealizowa¢ kodowanie nieosobliwe o dªugo±ciach kodów zakªadam, »e mamy n symboli, z których ostatni jest zarezerwowany jako znak specjalny. Wzór: card{i : li = k} ≤ (n − 1)k dla k ∈ N. Przykªad pozytywny i negatywny. Denicja 2.2. Rozszerzenie kodu to odwzorowanie ϕ : S ∗ → A∗ dane wzorem ϕ(s1 s2 . . . sk ) := ϕ(s1 )ϕ(s2 ) . . . ϕ(sk ). Kodowanie (kod) jest jednoznacznie dekodowalne je»eli jego rozszerzenie jest nieosobliwe. Innymi sªowy, kodowanie jest nieosobliwe, je»eli maj¡c sªowo w = w1 w2 . . . wK (gdzie wi w1 ; w2 ; . . . ; wk . to sªowa kodowe) mo»emy jednoznacznie odzyska¢ jego rozkªad na Wa»nym typem kodów s¡ kody przedrostkowe (z ang. prex), to jest takie, »e »adne 2 ze sªów koduj¡cych nie jest przedrostkiem nast¦pnego . atwo zauwa»y¢, »e kod przedrostkowy jest jednoznacznie dekodowalny. Pytanie, je»eli mamy dany alfabet, i chcemy zrealizowa¢ kod o zadanej dªugo±ci kiedy nam si¦ uda? Przykªad 2.2. pozytywny i negatywny, ale opisuj¡cy sposób konstrukcji. Twierdzenie 2.1 . (Nierówno±¢ Krafta) Alfabet ¹ródªowy zakodowa¢ sªowami preksowymi z alfabetu kodowego l1 , . . . , lm wtw. gdy m X A o S o m elementach, da si¦ d-elementach o dªugo±ciach d−li ≤ 1. i=1 Dowód. Za [2, strona 75]. Mamy dane liczby li speªniaj¡ce nierówno±¢ Krafta, i chcemy skonstruowa¢ kod przedrostkowy. Dla w ∈ A∗ i l ≥ lgth(w) niech A(w, l) := {v ∈ Al : w 2 jest preksem v} = {wu : u ∈ Al−lgth(w) }. najwygodniejsze w u»yciu, bo nie musimy bada¢ do ko«ca, aby rozpozna¢ 4 |A(w, l)| = dl−lgth(w) . Oczywi±cie, je»eli w1 , w2 nie s¡ preksami jeden drugiego, to A(w1 , l) i A(w2 , l) s¡ rozª¡czne. Bez straty ogólno±ci zakªadamy, »e 1 ≤ l1 ≤ . . . ≤ lm . Skonstruujemy w1 , . . . , wm ∈ A∗ takie, »e »aden wi nie jest preksem drugiego. Niech w1 b¦dzie dowolnie wybranym l elementem A 1 . Post¦pujemy indukcyjnie: zakªadamy, »e mamy zbudowane w1 , . . . , wk l takie, »e »adne nie jest preksem drugiego. Pytamy si¦, czy istnieje wk+1 ∈ A k+1 takie, »e »adne z w1 , . . . , wk nie jest jego preksem. Oczywi±cie takie wk+1 istnieje wtw gdy Wtedy A lk+1 \ k [ A(wi , lk+1 ) 6= ∅. i=1 Z uwagi u góry (i faktu, »e s¡ parami rozª¡czne) dostajemy | k [ A(wi , lk+1 )| = i=1 = k X k X |A(wi , lk+1 )| i=1 dlk+1 −lgth(wi ) = dlk+1 i=1 k X d−li < dlk+1 i=1 m X d−li ≤ dlk+1 = |Alk+1 |. i=1 Czyli ten zbiór jest niepusty, i w konsekwencji znajdziemy szukany kod. Z drugiej strony, je»eli mamy kod preksowy m−1 [ wm ∈ Alm \ w1 , . . . , w m z dªugo±ciami l1 , . . . , lm , to A(wj , lm ), j=1 czyli 1 ≤ |Alm | − m−1 X |A(wj , lm )| = dlm − dlm m X m −lj d j=1 = d−lj , j=1 j=1 i w konsekwencji m−1 X X 1 d−lj ) = ln (dlm d j=1 m−1 X 1 1 lm (1 + d d−lj ) ≤ lm dlm = 1. dlm d j=1 Twierdzenie 2.2. Nierówno±¢ Krafta zachodzi dla dowolnych kodów jednoznacznie dekodowalnych. W konsekwencji mo»emy si¦ zredukowa¢ to u»ywania kodów przedrostkowych. Dowód. Podobnie jak poprzednio sªowo wi ma dªugo±¢ li . Rozwa»amy zdania o coraz wi¦kszej (potencjalnej) dªugo±ci. Z zaªo»enia o jednoznacznej dekodowalno±ci dostajemy, »e (i1 , . . . , ik ) 6= (i01 , . . . , i0k ) =⇒ wi1 . . . wik 6= wi01 . . . wi0k . To oznacza, »e dla dowolnego naturalnego {(ij )j=1..k ⊂ {1, . . . , m}k | k ∈ N, k X r funkcja lj = r} 3 (i1 , . . . , ik ) → wi1 . . . wik ∈ Ar j=1 5 Ar to zdania dªugo±ci r). Niech h(r) oznacza ile razy r wyra»a si¦ w postaci sumy li1 + . . . + lik . Poniewa» wielko±¢ dziedziny jest h(r) i obrazu Ar jest dr , dostajemy, »e h(r) ≤ dr . jest iniektywna (przypominam, »e k Teraz dla dowolnej liczby mamy m m m X X X ( d−li )k = ( d−li ) · . . . · ( d−li ) i=1 = i=1 X ... X i1 gdzie jak przypominam h(r) i=1 −(li1 +...+lik ) d = kl max X r=1 ik oznacza ile razy r h(r) , dr wyra»a si¦ w postaci sumy li1 + . . . + lik , a lmax to dªugo±¢ najdªu»szego sªowa. W konsekwencji ( m X −li k d ) = kl max X r=1 r=1 Bior¡c pierwiastek k -tego kl max X h(r) 1 = klmax . ≤ dr r=1 stopnia dostajemy oszacowanie w granicy przez 1. Zadanie 2.1. Podaj przykªad kodu nieosobliwego, który nie jest jednoznacznie dekodowalny. Podaj przykªad kodu jednoznacznie dekodowalnego, który nie jest preksowy. Zadanie 2.2 (za 3 punkty). li A o speªniaj¡ nierówno±¢ Krafta. Zadanie 2.3 S S o m elementach, da si¦ zakodowa¢ d-elementach o dªugo±ciach l1 , . . . , lm to Je»eli alfabet ¹ródªowy sªowami preksowymi z alfabetu kodowego o m (za 3 punkty) . Je»eli li speªniaj¡ nierówno±¢ Krafta, to alfabet ¹ródªowy elementach, da si¦ zakodowa¢ sªowami preksowymi z alfabetu kodowego A o dªugo±ciach l1 , . . . , lm Zadanie 2.4. Maj¡c dane przykªadowe l1 , . . . , lm speªniaj¡ce nierówno±¢ Krafta, prosz¦ skonstruowa¢ kod preksowy o tych dªugo±ciach. 3 Wykªad 3: Entropia Zaªó»my, »e mamy rozkªad prawdopodobie«stwa na pojawia si¦ z prawdopodobie«stwem pi = p(si ) S = {s1 , . . . , sm }, czyli litera si (zakªadamy dodatkowo, »e ¹ródªo ma brak pami¦ci, to znaczy, »e to co pojawi si¦ nast¦pne nie zale»y od tego co pojawiªo si¦ poprzednio). Chcemy kodowa¢ zu»ywaj¡c statystycznie/±rednio minimaln¡ ilo±¢ pami¦ci. Zaªó»my, »e mamy dany alfabet koduj¡cy jemy li A i iniektywn¡ funkcj¦ koduj¡c¡ ϕ : S → A∗ (przyjmu- = lgthϕ(si )). Uwaga 3.1. Na wykªadzie rozwa»yli±my tak»e sytuacj¦ dla kodów nieosobliwych, to jest dosy¢ proste i w sumie maªo wa»ne. Zaw¦zimy si¦ od teraz do kodów przedrostkowych. Warto±¢ oczekiwana dªugo±ci sªowa koduj¡cego jest oczywi±cie dana wzorem L = E(lgth(ϕ)) := X p(s) · lgth(ϕ(s)) = X i s∈S 6 pi li . Pytanie jak dobra¢ warto±ci li by minimalizowa¢ warto±¢ oczekiwan¡ ilo±ci pami¦ci. Poniewa» na podstawie nierówno±ci Krafta wiemy jakie dªugo±ci s¡ dopuszczalne, dostajemy problem minimalizacji L(l1 , . . . , ln ) := X pi li i przy warunku X d−li ≤ 1. i Zapominamy o tym, »e s¡ caªkowite (dostaniemy przybli»enie), i wtedy mo»emy zwi¦kszy¢ L zakªadaj¡c równo±¢. Otrzymali±my wi¦c nast¦puj¡cy problem: Problem 3.1. Znale¹¢ minimum L(r1 , . . . , rn ) := X pi ri i przy warunku P −ri id = 1. Dowód. Rozwi¡zanie: wykorzystamy metod¦ mno»ników Lagrange'a: J(r1 , . . . , rn ; λ) = X X pi ri + λ( d−ri − 1). i i Ró»niczkuj¡c dostajemy ∂J = pi − λd−ri ln d, ∂ri i przyrównuj¡c do zera dostajemy d−ri = pi /(λ ln d). Podstawiaj¡c do warunku na λ, λ = 1/ ln d, dostajemy czyli pi = d−ri , daj¡c optymalne kody dla r̄i = − logd pi i warto±¢ oczekiwan¡ dªugo±ci sªowa koduj¡cego X X pi r̄i = − pi logd pi . i i Mo»na pokaza¢, »e to jest minimum globalne Oczywi±cie, dla nas kluczowa jest sytuacja, gdy alfabet kodowy skªada si¦ z dwóch liter 0 i 1, i w konsekwencji dostajemy denicj¦ entropii dla ci¡gu prawdopodobie«stw (pi ) h((pi )i ) := X sh(pi ), i gdzie sh(x) = −x · log2 x jest funkcj¡ Shannona. W tej sytuacji mówi si¦ o entropii w BITS (je»eli u»ywamy logarytmu naturalnego, to mówimy o entropii w NATS). Wcze±niejsze rozumowanie prowadzi do: Denicja 3.1 (Denicja Entropii Shannona). Niech X = {xi } b¦dzie dyskretn¡ przestrzeni¡ probabilistyczn¡, gdzie prawdopodobie«stwo wylosowania punktu h(X), entropia X, wyra»a si¦ wzorem h(X) := X i 7 sh(pi ). xi wynosi pi . Wtedy Przykªad 3.1. S = {s1 , s2 }, 1−p. Zakªadamy, »e mamy ¹ródªo prawdopodobie«stwem p, a s2 z prawdopodobie«stwem gdzie s1 jest przyjmowane z h(S) = sh(p)+sh(1− Wtedy p). Na wykªadzie byª rysunek funkcji ma maksimum dla p = 1/2, wyprowadzenie, »e ta funkcja oraz, »e jest wkl¦sªa. Poka»emy, »e je»eli mamy si¦ przez p → sh(p) + sh(1 − p), n elementów mo»liwych do wylosowania, to entropia szacuje log2 n: Zaczniemy od pokazania pewnych wªasno±ci entropii. Zauwa»my najpierw, »e funkcja sh jest funkcj¡ wkl¦sª¡ (wystarczy w tym celu dwa razy zró»niczkowa¢). B¦dziemy potrzebowa¢ zacytowa¢ nast¦puj¡ce wa»ne twierdzenie (które jak si¦ mo»na domy±li¢ ma wiele ró»nych zastosowa«): Twierdzenie Hardy-Littlewood-Polya [4, Twierdzenie 1.5.4, strona 32]. I b¦dzie przedziaªem w R i niech f : I → R (xi )i=1..n , (yi )i=1..n ⊂ I b¦d¡ ci¡gami takimi, »e k X xi ≤ k X i=1 Je±li x1 ≥ x2 ≥ . . . ≥ xn yi dla k ≤ n, i=1 to n X y1 ≤ y2 . . . ≤ yn Wniosek 3.1. n X xi = i=1 f (xi ) ≤ n X i=1 za± je»eli b¦dzie ci¡gª¡ funkcj¡ wypukª¡. n X Niech Niech yi . (3.1) i=1 f (yj ), (3.2) i=1 to zachodzi nierówno±¢ przeciwna. Entropia jest maksymalizowana je»eli mamy równe prawdopodobie«stwa. W konsekwencji dla ¹ródªa S o n-elementach maksymalna entropia h(S) równa log2 n jest realizowana gdy prawdopodobie«stwo ka»dego zdarzenia (wylosowania danej litery) jest równe i wynosi 1/n. Dowód. Skorzystamy z wcze±niejszego twierdzenia. Zakªadamy, »e prawdopodobie«stwa pi (uzyskania litery si ) s¡ ustawione malej¡co. Niech xi = 1/n, yi = pi . Jako ¢wicze- nie [ZADANIE] prosz¦ samodzielnie pokaza¢, »e zachodzi (3.1). Korzystaj¡c z tezy dla funkcji wypukªej f = −sh − n X dostajemy sh(1/n) = i=1 n X f (xi ) ≤ i=1 n X f (yj ) = − i=1 n X sh(pi ), i=1 czyli h(S) ≤ log2 n. Zadanie 3.1 (mno»niki Lagrange'a). Policzy¢ ekstremum funkcji x+y na zbiorze x2 + y 2 = 1. Zadanie 3.2 (3 punkty). Wyprowadzi¢ wzór na entropi¦ (rozwi¡zanie Problemu 3.1). Zadanie 3.3. Prosz¦ znale¹¢ maksimum funkcji Zadanie 3.4. Mamy p, q > 0 : p + q ≤ 1. [0, 1] 3 p → sh(p) + sh(1 − p). Prosz¦ pokaza¢, »e p 6= q =⇒ sh(p) + sh(q) < 2sh( 8 p+q ). 2 Zadanie 3.5. Udowodni¢, »e h(X × Y ) = h(X) + h(Y ) (Obserwacja 4.1). Zadanie 3.6. S = {s1 , s2 , s3 } z prawd. p1 = 0.2, p2 = 0.3, p3 = 0.5. Prosz¦ h(S). policzy¢ Jaki ±redni zysk w kodowaniu uzyskujemy, gdyby±my nie posiadali informacji o s1 , s2 , s3 prawdopodobie«stwach pojawiania si¦ (inaczej mówi¡c prosz¦ to h(S) porówna¢ z najgorsz¡ mo»liw¡ sytuacj¡ gdy prawdopodobie«stwa s¡ równe, wtedy jak przypominam oczekiwana dªugo±¢ kodu binarnego dla ¹ródªa o trzech symbolach wynosi Zadanie 3.7. Niech X = {x1 , x2 , x3 }, Y p na log2 3)? = {y1 , y2 } okre±lamy rozkªad prawdopodobie«stwa X ×Y: x1 x2 x3 0.1 0.2 0.1 0.3 0.1 0.2 y1 y2 h(X × Y, p), h(X, pX ), h(Y, pY ) Prosz¦ policzy¢ oraz h(X, pX ) + h(Y, pY ) [prosz¦ przy- pomnie¢ sobie poj¦cie rozkªadów brzegowych]. Zadanie 3.8. 4 Prosz¦ wypowiedzie¢ tw. Hardy-Littlewood-Polya. Wykªad 4: dªugo±¢ kodu Przypominam, »e interpretuj¦ entropi¦ jako (optymaln¡) oczekiwan¡ ilo±¢ pami¦ci (w bitach), któr¡ musimy zarezerwowa¢ do zakodowania statystycznego elementu z S. Poniewa» przy wyprowadzeniu entropii zrezygnowali±my z zaªo»enia o naturalnej dªugo±ci kodów, powstaje pytanie na ile nasza interpretacja jest zgodna z rzeczywisto±ci¡. Inaczej mówi¡c, pytanie teraz czy mo»emy to realizowa¢ (zauwa»my, »e zrobili±my spore uproszczenie polegaj¡ce na dopuszczenie wszystkich liczb, a nie tylko caªkowitych). Przykªad 4.1. S = {x1 , x2 }, p1 = 1/3, p2 = 2/3. Zauwa»my, »e h(S) < 1, podczas gdy minimalne kodowanie ma warto±¢ oczekiwan¡ dªugo±ci kodu równ¡ jeden. Pojawia si¦ pytanie na ile mo»emy w kodowaniu zbli»y¢ si¦ do entropii? Kodowanie Shannona polega na zaokr¡gleniu w gór¦ optymalnych warto±ci xi za pomoc¡ wzoru li = dxi e. Korzystaj¡c z Tw. Krafta mo»emy teraz zbudowa¢ kod preksowy który realizuje te dªugo±ci (nazwiemy go kodowaniem Shannona). Wtedy mamy h((pi )i ) = X −pi log2 pi = i ≤ X i pi dxi e < X p i xi ≤ i X X pi li i pi (xi + 1) = h((pi )i ) + 1. i Widzimy wi¦c, »e warto±¢ oczekiwania dªugo±ci sªowa P i pi li przy kodowaniu Shannona nie przekracza warto±ci entropii plus jeden. Przykªad 4.2. Nie da si¦ ogólnie powy»szego wyra»ania poprawi¢, wystarczy w tym celu + rozwa»y¢ ¹ródªo {x1 , x2 } z prawdopodobie«stwami p, 1 − p przy p → 0 . Przyda si¦ nam poj¦cie iloczynu kartezja«skiego dwóch przestrzeni probabilistycznych. Zakªadamy, »e mamy dwie dyskretne przestrzenie probabilistyczne Y = {yj }, qj . X × Y wzorem X = {xi }, pi oraz Deniujemy rozkªad prawdopodobie«stwa na iloczynie kartezja«skim p(xi , yj ) = pi,j = pi · qj . W kategorii zmiennych losowych to jest równowa»ne stwierdzeniu, »e 9 X iY s¡ niezale»ne. Obserwacja 4.1. Mamy h(X × Y ) = h(X) + h(Y ). Dowód. Mamy X sh(xi · yi ) = X ij xi X i sh(yj ) + X j sh(xi ) · X i yj . j Rozumuj¡c przez indukcj¦, otrzymujemy, »e h(X1 × . . . × Xn ) = h(X1 ) + . . . + h(Xn ). Okazuje si¦, »e mo»emy si¦ zbli»y¢ do entropii koduj¡c dªu»sze fragmenty ci¡gów wygenerowanych przez ¹rodªo S. Wniosek 4.1 (Shannon noiseless coding theorem). Niech b¦dzie dane ¹ródªo bez pami¦ci. Mo»emy dowolnie blisko zbli»y¢ si¦ do entropii przy pomocy kodowania ci¡gów dªugo±ci n, przy n → ∞. Dowód. Zamiast kodowa¢ litery z alfabetu czyli elementy n z alfabetu S ×. . .×S S ). S, b¦dziemy kodowa¢ sªowa n-elementowe, (naszym nowym alfabetem ¹ródªowym staj¡ si¦ sªowa o dªugo±ci Entropia h(S n ) na podstawie wcze±niejszych wzorów wyra»a si¦ przez h(S n ) = nh(S). Teraz na podstawie wcze±niejszych uwag mo»emy znale¹¢ kodowanie, dla którego oczeki- nh(S) + 1. W konsekwencji, koduj¡c dªu»sze ci¡gi liter, statystycznie na jeden element z S b¦dziemy potrzebowali (nh(S) + 1)/n (bo kodujemy sªowa dªugo±ci n). Czyli bior¡c n odpowiednio du»e mo»emy zbli»y¢ si¦ do granicy h(S) dowolnie blisko. wana warto±¢ dªugo±ci kodu nie przekracza Przykªad 4.3. S = {x1 , x2 } 1/4, 3/4. Wtedy entropia ≈ 0.811278, za± najlepszy kod dla pojedynczego symbolu daje 1. Rozwa»my kodowanie par: mamy (x1 , x1 ) z prawd. 1/16, (x1 , x2 ) i (x2 , x1 ) z prawd. 3/16 oraz (x2 , x2 ) z prawd. 9/16. Mo»emy zbudowa¢ kodowanie o dªugo±ciach 3, 3, 2, 1, i wtedy oczekiwana dªugo±¢ kodu wynosi dla par 27/16, czyli na pojedynczy symbol 27/32 = 0.84375, czyli widzimy, »e zbli»yli±my si¦ znacznie do entropii nawet dla kodów dªugo±ci 2. Zadanie 4.1. Rozwa»my z prawdopodobie«stwami Rzucamy monet¡, dopóki nie wypadª orzeª. oznacza ilo±¢ rzutów. Prosz¦ policzy¢ entropi¦ Nasza zmienna losowa X h(X). Zadanie 4.2. Prawdopodobie«stwa wypadni¦cia kolejnych liter to 0.3999; 0.2; 0.2; 0.1; 0.1; 0.0001. Prosz¦ wypisa¢ ich kody przy kodowaniu Shannona (tzn. prosz¦ stworzy¢ dowolne kody preksowe których dªugo±¢ jest taka jak w Shannona). Jaka jest efektywno±¢ tego kodu w porównaniu do entropii (tzn. stosunek oczekiwanej dªugo±ci sªowa koduj¡cego przez entropi¦)? Omówimy teraz praktyczny realizacj¦ kodowania Shannona. Zaczniemy od kodowania Shannona. Ustawiamy prawdopodobie«stwa elementów alfabetu ¹ródªowego S pi wylosowania malej¡co, jako dªugo±¢ sªowa binarnego za pomoc¡ którego chcemy kodowa¢ bierzemy lk = d− log2 pk e 10 Aby poda¢ jawny wzór na kod, deniujemy prawdopodobie«stwo kumulatywne Pk = X pi , i<k Zauwa»my, »e zawsze Pk < 1. Jako kod przecinku z rozwini¦cia binarnego liczby Zadanie 4.3 (3 punkty). Qk Pk . dla sªowa sk bierzemy pierwsze lk cyfr po Prosz¦ pokaza¢, »e powy»sze kodowanie jest preksowe. Wsk.: Oczywi±cie wida¢, »e te kody Qk s¡ sªabo rosn¡ce (w porz¡dku leksykogracznym), Qk+1 . W tym celu wystarczy pokaza¢, »e te sªowa ró»ni¡ si¦ na której± z pierwszych lk liter, czyli równowa»nie, »e rozwini¦cia binarne Pk+1 i Pk ró»ni¡ si¦ na którym± z pierwszych lk l miejsc po przecinku, co z kolei wynika z nierówno±ci Pk+1 − Pk = pk ≥ 1/2 k . w zwi¡zku z czym wystarczy pokaza¢, »e »adne Zadanie 4.4. nie jest przedrostkiem Stosuj¡c powy»szy algorytm zbudowa¢ kod Shannona dla ¹rodªa o praw- dopodobie«stwach a) Zadanie 4.5. Qk 1/2, 1/3, 1/6; Rozwa»my b) 1/4, 1/4, 1/4, 1/4. S = {x1 , x2 } S ; b) S × S kodowanie Shannona dla a) z prawdopodobie«stwami 1/5, 4/5. Zbudowa¢ i porówna¢ oczekiwan¡ dªugo±¢ w bitach przy- padaj¡c¡ na jeden element ¹ródªa z entropia. 5 Wykªad 5 5.1 kontynuacja kodowania Poniewa» zakªadam, »e znaj¡ Pa«stwo kodowanie Humana, nie b¦d¦ o nim du»o mówiª. Kodowanie Humana opiera si¦ na podstawie nast¦puj¡cej obserwacji: Obserwacja 5.1. Niech b¦dzie dany optymalny binarny kod przedrostkowy dla ¹ródªa S. Wtedy 1. je±li pi > pj to li ≤ lj ; 2. dwa najdªu»sze sªowa kodowe maj¡ równ¡ dªugo±¢; 3. dla dowolnego najdªu»szego sªowa kodowego istnieje inne sªowo kodowe o tej samej dªugo±ci które ró»ni si¦ tylko na ostatnim bicie. Dowód. atwo sprawdzi¢, »e gdyby nie zachodziª punkt 1, to zamieniaj¡c kod sj si z kodem zmniejszyliby±my warto±¢ oczekiwan¡ dªugo±ci kodu. Co do 2, gdyby jedno sªowo kodowe byªo dªu»sze od drugiego, bez straty mo»naby go skróci¢ do dªugo±ci drugiego (poniewa» kod jest przedrostkowy sªowo krótsze nie jest przedrostkiem drugiego). Gdyby 3 nie zachodziªo, to mo»naby ±ci¡¢ ostatni bit, i ci¡gle mieliby±my kod przedrostkowy. Powy»sza obserwacja tªumaczy jak budujemy kod Humana - ª¡czymy dwa zdarzenia najmniej prawdopodobne, i tak post¦pujemy a» mamy tylko jedno. Mo»na traktowa¢ w sposób nast¦puj¡cy: je»eli mamy kod optymalny dla ¹ródªa S = {(xi , pi )}, to najmniej prawdopodobne elementy b¦d¡ miaªy najdªu»sze kody. Mo»emy tak dobra¢, by te kody ró»niªy si¦ tylko na ostatnim bicie. Sklejaj¡c oba te elementy w jeden (i u»ywaj¡c kodu o jeden bit krótszym) dostajemy ¹rodªo o jeden symbol mniejsze. atwo mo»na zauwa»y¢, »e kodowanie Humana nie jest jednoznaczne (wystarczy rozwa»y¢ prawd. rozkªad prawdopodobie«stwa 11 0.4; 0.2; 0.2; 0.1; 0.1), ale mo»na pokaza¢, »e warto±¢ oczekiwana kodu nie zale»y od tego jak skonstruujemy kod Humana (patrz [1]). Ogólnie kodowanie Humana mo»na zrobi¢ przy pomocy kodowania za pomoc¡ n symboli (dowód optymalno±ci w tym przypadku nie jest ªatwy, patrz [2]). Zadanie 5.1. Zbudowa¢ kod Humana dla ¹rodªa o prawdopodobie«stwach a) 1/2, 1/3, 1/6; b) 1/4, 1/4, 1/4, 1/4. Przejdziemy teraz do skrótowego opisu kodowania arytmetycznego. Kodowanie aryt- metyczne w przeciwie«stwie do poprzednich, koduje caª¡ wiadomo±¢. (pi )i=1..K »e mamy prawdopodobie«stwa Zaªó»my wi¦c, wypadni¦cia danych liter (cz¦sto posortowane malej¡co). Niech X Pk = pi , dla k = 1, . . . , K + 1. i<k B¦dziemy kodowa¢ za pomoc¡ zst¦puj¡cych przedziaªów. I0 = [0, 1) Niech (przedziaª o ko«cach wiadomo±ci jest z prawdopodobie«stwem b0 = 0, e0 = 1). pk . Zaªó»my, »e pierwsza litera Wtedy kodujemy za pomoc¡ przedziaªu I1 = b0 + |I0 | · [Pk , Pk+1 ), gdzie |I0 | I0 . Zaªó»my teraz, »e nast¦pna litera wiadomo±ci pl . Wtedy wiadomo±¢ dwuliterow¡ kodujemy za po- oznacza dªugo±¢ przedziaªu wyst¦puje z prawdopodobie«stwem moc¡ przedziaªu I2 = b1 + |I1 | · [Pl , Pl+1 ), gdzie b1 to pocz¡tek przedziaªu I1 , za± |I1 | to jego dªugo±¢. Post¦pujemy rekurencyjnie, otrzymuj¡c jako kod dla wiadomo±ci pewien przedziaª zawarty w [0, 1). Prosz¦ zauwa»y¢, »e dla ró»nych wiadomo±ci tej samej dªugo±ci otrzymujemy rozª¡czne przedziaªy, oraz, »e je»eli jedna wiadomo±¢ jest rozszerzeniem drugiej to odpowiednie przedziaªy si¦ w sobie zawieraj¡. Co wi¦cej, dªugo±¢ przedziaªu koduj¡cego jest równa prawdopodobie«stwu uzyskania danego sªowa. Zaªó»my wi¦c, »e chcemy zakodowa¢ wiadomo±¢ o dªugo±ci w konsekwencji powy»szych operacji przedziaª wynosi eN − bN , istnieje w przedziale [bN , eN ) [bN , eN ). N liter. Uzyskali±my Poniewa» dªugo±¢ przedziaªu liczba której ilo±¢ niezerowych cyfr po przecinku w rozwini¦ciu binarnym jest mniejsza b¡d¹ równa d− log2 (eN − bN )e. Do zakodowania tego przedziaªu wystarczy poda¢ t¡ liczb¦ (a precyzyjniej jej rozwini¦cie binarne po przecinku a» do momentu gdy w rozwini¦ciu wyst¦puj¡ same zera), gdy» przedziaªy dla ró»nych wiadomo±ci o ilo±ci sªów K s¡ rozª¡czne. Uwaga 5.1. Powy»szy algorytm jest teoretyczny, praktyczn¡ implementacj¦ mo»na znale¹¢ w materiaªach http: // www. ire. pw. edu. pl/ ~arturp/ . Zadanie 5.2 (na ¢wiczenia) . a) Prosz¦ znale¹¢ prawdopodobie«stwa wypadni¦cia liter wyst¦puj¡cych w alfabecie j¦zyka polskiego na podstawie wybranego przez siebie tekstu (dla normalizacji przyjmijmy tekst Pana Tadeusza jest dost¦pny w sieci, uto»samiamy litery du»e i maªe, nie bierzemy pod uwag¦ spacji, przecinków i innych znaków specjalnych). b) Nast¦pnie prosz¦ zakodowa¢ przy pomocy kodowania arytmetycznego sªowo alicja, i porówna¢ z dªugo±ci¡ kodu uzyskanego przy pomocy kodowania Humana. Zadanie 5.3. Prawdopodobie«stwa wypadni¦cia kolejnych liter z alfabetu ¹ródªowego wynosz¡ odpowiednio dªugo±ci K p1 ≥ . . . ≥ pn . liter. Kodujemy przy pomocy kodowania arytmetycznego tekst o Prosz¦ rozs¡dnie oszacowa¢ od góry jaka b¦dzie oczekiwana dªugo±¢ kodu (przez rozs¡dnie rozumiem to, »e szacowanie powinno nie za du»o przekracza¢ razy entropi¦ ¹ródªa). 12 K 5.2 Entropia relatywna, wzajemna informacja Z góry przepraszam za przem¦czenie denicjami, ale s¡ wa»ne, i bez nich si¦ nie da :-). Rozwi¡zania zada« teoretycznych z tej sekcji mo»na znale¹¢ w [1]. Denicja 5.1. Entropia wspólna (joint entropy) pary zmiennych losowych h(X, Y ) = − X X, Y : p(x, y) ln(p(x, y)). x,y i »e znamy warto±¢ xi . Zobaczmy Y . Dla ka»dej uzyskanej warto±ci x mo»emy teraz zbudowa¢ osobny kod dla zmiennej Y |X = x, którego oczekiwana dªugo±¢ wynosi H(Y |X = x). W konsekwencji oczekiwana dªugo±¢ kodu dla Y przy znajomo±ci X wynosi: X h(Y |X) := p(x)h(Y |X = x). Zaªó»my teraz, »e ¹ródªo produkuje pary (xi , yi ), jaka b¦dzie optymalna dªugo±¢ kodu dla zakodowania x W ten sposób doszli±my do denicji entropii relatywnej. Zadanie 5.4. Niech X = {x1 , x2 , x3 }, Y p na = {y1 , y2 } okre±lamy rozkªad prawdopodobie«stwa X ×Y: x1 x2 x3 y1 0.1 0.2 0.1 y2 0.3 0.1 0.2 Prosz¦ policzy¢ h(Y |X = xi ) Twierdzenie 5.1 dla i = 1, 2, 3 oraz h(Y |X). . (reguªa ªa«cuchowa) h(X, Y ) = h(X) + h(Y |X). Zadanie 5.5. Prosz¦ przeliczy¢ powy»szy wzór. Teraz przejdziemy do entropii krzy»owej. Zaªó»my, »e stworzyli±my optymalny kod dla S = {(xi , pi )}, i chcemy za jego pomoc¡ kodowa¢ ¹ródªo T = {(yi , qi )} (co si¦ mo»e zdarzy¢, bo cz¦sto albo mo»e nie by¢ warto zmienia¢ kod, albo tak naprawd¦ nie znamy dokªadnych warto±ci prawdopodobie«stw, tylko pewne ich oszacowanie). Wtedy oczekiwana dªugo±¢ kodu wynosi h× (qkp) := X qi · (− log2 pi ). i Nazywamy powy»sz¡ warto±¢ entropi¡ krzy»ow¡. Wprost z denicji entropii (wybierali±my optymalne kodowanie) wynika, »e h× (qkp) ≥ h(q), a równo±¢ zachodzi wtw. gdy p = q, (5.1) bo warto±¢ przy której oczekiwana dªugo±¢ kodu byªa minimalna byªa jednoznacznie wyznaczona. W praktyce interesowa¢ nas mo»e ile (bitów) stracili±my nie u»ywaj¡c kodowania optymalnego, czyli wa»na b¦dzie ró»nica h× (qkp) − h(q) = X qi · (− log2 pi ) − i = X X qi · (− log2 qi ) i qi · log2 (qi /pi ) =: D(qkp). i 13 D(qkp) Warto±¢ nazywamy entropi¡ relatywn¡ (albo dywergencj¡ Kullbacka-Leiblera). Wprost z (5.1) (wybierali±my optymalne kodowanie) wynika, »e D(qkp) ≥ 0, a równo±¢ zachodzi w.t.w. gdy Zadanie 5.6. h× (qkp), Prawdopodobie«stwa p × h (pkq), D(qkp), D(pkq). p = q. (5.2) = (0.3, 0.3, 0.4), q = (0.1, 0.2, 0.7). Prosz¦ policzy¢ Jednym z wa»niejszych narz¦dzi do badania pary zmiennych losowych (X, Y ) (a pre- cyzyjniej zmiennej losowej wektorowej) jest poj¦cie informacji wspólnej: X I(X; Y ) = D(pkpX pY ) = p(x, y) log2 ( x∈X,y∈Y gdzie p oznacza rozkªad (X, Y ), a pX pY i rozkªady brzegowe. Mówi on nam ile informacji niesie za sob¡ wi¦cej z pX i pY . p(x, y) ), pX (x)pY (y) p wzgl¦dem informacji wyniesionych Jest podobne do wspóªczynnika korelacji, gdy» ogólnie jest nieujemne, i jest zero wtw gdy zmienne s¡ niezale»ne, bo na podstawie (5.2) jest równe zero gdy czyli dokªadnie wtedy gdy zmienne Zadanie 5.7. X i Y p = pX ·pY , s¡ niezale»ne. Prosz¦ pokaza¢, »e I(X; Y ) = h(X) − h(X|Y ). W konsekwencji na podstawie powy»szego wzoru I(X; Y ) = H(X) + H(Y ) − H(X, Y ). I(X; X) = H(X) (entropia H(X, Y ) ≤ H(X) + H(Y ) (bo I ≥ 0). Oznacza to, »e == self-information). Oczywi±cie tak»e Wniosek 5.1 (information can't hurt). H(X|Y ) ≤ H(X). Dowód. 6 0 ≤ I(X; Y ) = H(X) − H(X|Y ). Wykªad 6: kanaªy komunikacyjne Krótkie powtórzenie co to jest entropia relatywna i wspólna informacja. Polecam zajrze¢ do [1] i informacji. http://wazniak.mimuw.edu.pl/index.php?title=Teoria_ Najprostszy schemat przesyªania informacji: wiadomo±¢>kodowanie>kanaª>dekowanie>estymacja wiadomo±ci Dlaczego estymacja - bo mog¡ wyst¦powa¢ bª¦dy. Przy przesyªaniu informacji mog¡ wyst¦powa¢ bª¦dy, do ich badania przydatne jest poj¦cie kanaªów (komunikacyjnych). Denicja 6.1. Kanaªem Γ nazywamy trójk¦: • sko«czony zbiór A symboli wej±ciowych • sko«czony zbiór B symboli wyj±ciowych • odw. na p okre±laj¡ce dla ka»dej pary aib b 14 prawdopodobie«stwo zamiany symbolu a Je»eli A = {ai }, B = {bj } to mo»emy kanaª reprezentowa¢ przez macierz [p(ai → bj )]i,j Do zilustrowania denicji rozpatrzmy przykªady. Przykªad 6.1 (kanaª bezszumowy) . Niech bez zakªama«: Macierz A = B = {0, 1}. Przekazujemy informacj¦ 0 → 0, 1 → 1. [1, 0; 0, 1] Przykªad 6.2 (kanaª odwracaj¡cy). 0 → 1, 1 → 0. Macierz [0, 1; 1, 0]. Przykªad 6.3 (kanaª zaszumiony bez nakªadania). 1/2 1/2 1/2 1/2 0 → 0, 0 → 1, 1 → 2, 1 → 3. Macierz [1/2, 1/2, 0, 0; 0, 0, 1/2, 1/2]. Zauwa»my, »e we wszystkich powy»szych przypadkach na wej±ciu mo»emy wrzuci¢ jeden bit (a precyzyjniej ilo±¢ informacji odp. jednemu bitowi), i na wyj±ciu mo»emy go odtworzy¢. Najprostszym kanaªem który jest zaszumiony, jest kanaª na dwóch symbolach który z prawdopodobie«stwem p zmienia bit na przeciwny: Przykªad 6.4 (binarny kanaª symetryczny=binary symmetric channel=BSC). 1−p p p 1−p 0 → 0, 0 → 1, 1 → 0, 1 → 1. Przykªad 6.5 (zaszumiona maszyna do pisania). 1/2. Wtedy mo»emy kodowa¢ bezbª¦dnie Z2n , p(k → k) = 1/2 i p(k → k + 1) = u»ywaj¡c na wej±ciu kody {0, 2, . . . , 2n − 2}. Dla kanaªów deniuje si¦ poj¦cie przepustowo±ci kanaªu: Denicja 6.2. CΓ = max I(A, B) p na A Twierdzenie 6.1. Tw. Shannona o przepustowo±ci kanaªów mówi, »e t¡ teoretyczn¡ warto±¢ mo»na (z dowolnie maªym prawdopodobie«stwem bª¦du) zrealizowa¢, koduj¡c odpowiednio dªugie ci¡gi. Po dokªadniejsze sformuªowanie i dowód zach¦cam do zajrzenia do literatury. Dowód. Idea polega na u»yciu AEP poni»ej, plus fakt, »e dla odpowiednio dªugich bloków, ka»dy kanaª przypomina zaszumion¡ maszyn¦ do pisania= istnieje zbiór wej±¢ które produkuj¡ istotnie ró»ne sekwencje (modulo coraz mniejsze prawd. bª¦du) na wyj±ciu. 15 Przykªad 6.6. Przez H(p) oznaczam entropi¦ dla rozkªadu {p, 1 − p}, czyli −p log2 p − (1 − p) log2 (1 − p). Niech X b¦dzie rozkªadem na {0, 1}, a Y oznacza rozkªad po przej±ciu przez kanaª Γ = BSC . Policzmy przepustowo±¢ dla BSC: X I(X, Y ) = H(Y ) − H(Y |X) = H(Y ) − p(x)H(Y |X = x) X = H(Y ) − p(x)H(p) = H(Y ) − H(p) ≤ 1 − H(p), bo Y {0, 1}, a jak wiemy entropia si¦ wtedy szacuje przez 1. Równo±¢ X rozkªad równomierny na {0, 1}. W konsekwencji CΓ = 1−H(p) p = 0 lub p = 1 mamy jeden, a dla p = 1/2 mamy zero). jest rozkªadem na si¦ uzyskuje bior¡c jako (w szczególno±ci dla Poni»sze twierdzenie jest wersj¡ prawa wielkich liczb, mówi nam jakie liczby mo»emy wylosowa¢ (to twierdzenie jest wykorzystywane jako podstawowe narz¦dzie w tw. Shannona o przepustowo±ci kanaªów, dlatego go zamieszczam). Twierdzenie 6.2 (AEP=asymptotic equipartition property). Je»eli X1 , X2 , . . . jest ci¡giem p(x), niezale»nych zmiennych losowych o identycznym rozkªadzie to 1 − ln(p(X1 , . . . , Xn )) → h(X) n wzgl¦dem prawdopodobie«stwa. Dowód. Ci¡g log2 (p(Xi )), jako funkcja niezale»nych zmiennych losowych s¡ niezale»nymi zmiennymi losowymi, co oznacza na podstawie sªabego prawa wielkich liczb, »e 1 −1 X − ln(p(X1 , . . . , Xn )) = p(Xi ) n n i → −E log2 p(X) = h(X). Rozwi¡zania poni»szych zada« 1,3,4 znajduj¡ si¦ na linku do ¢wicze« z wykªadu 7 do: http://wazniak.mimuw.edu.pl/index.php?title=Teoria_informacji/ Zadanie 6.1. Przypu±¢my, »e ª¡czymy szeregowo kanaªy opisywane macierzami tak »e wyj±cie z kanaªu P jest wej±ciem do kanaªu Q. P i Q, Jaka macierz opisuje kanaª w ten sposób utworzony? Zadanie 6.2. Policz przepustowo±¢ kanaªu BSC (rozw. patrz wykªad). Zadanie 6.3. Zaªó»my, »e n identycznych binarnych kanaªów symetrycznych wanych macierz¡ [q, 1 − q; 1 − q, q] zostaªo poª¡czonych szeregowo. powstaªy kanaª równie» jest BSC, i oblicz jego przepustowo±¢. przepustowo±¢ dla Zadanie 6.4. opisy- Udowodnij, »e tak Jaka zachowuje si¦ ta n → ∞? Kanaª jest opisywany przez nast¦puj¡c¡ macierz: [1, 0; 1/2, 1/2] Oblicz przepustowo±¢ tego kanaªu i znajd¹ rozkªad prawdopodobie«stwa na wej±ciu, który pozwala j¡ uzyska¢. Zadanie 6.5. Γ, dla którego A = B = Z5 p(a → b) = 1/2 o ile b = a ± 1 Rozwa»my kanaª wygl¡daj¡ nast¦puj¡co: i prawdopodobie«stwa przej±¢ mod 5, i zero w przeciwnym wypadku. Oblicz CΓ . Kanaª ten mo»na wykorzysta¢ do bezbª¦dnego przesyªania wiadomo±ci z szybko±ci¡ transmisji 1 bitu/znak, wysyªaj¡c tylko znaki 0 i 1. Opracuj metod¦ wysyªania danych, tak aby uzyska¢ wi¦ksz¡ szybko±¢ transmisji, zachowuj¡c zerowe prawdopodobie«stwo bª¦du. 16 7 Za Wykªad 7 i 8: kody wykrywaj¡ce i poprawiaj¡ce bª¦dy http://zagorski.im.pwr.wroc.pl/courses/kiki_2010, wykªad 10 (od strony 100) i 11 (do strony 53). Zadanie 7.1. Udowodnij, »e odlegªo±¢ Hamminga speªnia nierówno±¢ trójk¡ta. Zadanie 7.2. a) Przy pomocy kodowania Hamminga zakoduj wiadomo±¢ Otrzymali±my wiadomo±¢ 1, 0, 1, 1, 1, 1, 1 (kodowanie Hamminga). 0, 1, 0, 1. b) Prosz¦ poda¢ jaka byªa oryginalna wiadomo±¢, zakªadaj¡c, »e popeªnili±my co najwy»ej jeden bª¡d. Zadanie 7.3. Udowodnij, »e kod Hamminga opisany na wykªadzie jest doskonaªy, tzn. »e ka»dy ci¡g dªugo±ci siedem jest w odlegªo±ci co najwy»ej jeden od pewnego sªowa kodowego. Zadanie 7.4. Wypisz wszystkie rozszerzone kody Hamminga dªugo±ci 8. Jak wygl¡da macierz generuj¡ca i macierz parzysto±ci dla tego kodowania. Zadanie 7.5. Napisz macierze generuj¡ce i macierze parzysto±ci dla kodów Hamminga dªugo±ci odpowiednio 15 i 16. 8 Wykªad 8: Kwantyzacja i entropia ró»niczkowa [m, M ]. Je»eli nie mamy wi¦cej przedziaª na k równych cz¦±ci, i zamiast Zaªó»my wi¦c, »e mamy dane z dopuszczalnego zakresu informacji, to mo»emy po prostu podzieli¢ ten pami¦ta¢ dan¡ liczb¦ mo»emy pami¦ta¢ ±rodek przedziaªu. Oczywi±cie widzimy, »e gdyby te liczby grupowaªy si¦ w pewnym podzakresie, to nie b¦dzie to najlepsze przybli»enie. 8.1 Entropia ró»niczkowa Powstaje naturalne pytanie, jak nale»y post¦powa¢ w sytuacji gdy rozpatrywane zmienne posiadaj¡ ci¡gªy rozkªad? To si¦ zdarza przy zapisywaniu d¹wi¦ku (ogólnie syg- naªów analogowych). Wtedy najpierw dokonujemy zawsze kwantyzacji (dyskretyzacji) z krokiem δ, czyli mianowicie zamiast zmiennej losowej X rozwa»amy jej dyskretyzacj¦, to jest Xδ := bδXc/δ. Twierdzenie 8.1. »e f Niech X zmienna losowa o g¦sto±ci 3 jest ci¡gªa i ma zwarty support . Wtedy lim h(Xδ ) − N log2 δ − na RN . Zakªadamy dodatkowo, Z δ→0 f sh(f (x))dx = 0. Dowód. Idea jest podobna do zbie»no±ci caªki Riemanna. Dla prostoty zaw¦»am si¦ do sytuacji jednowymiarowej, nie robi¦ tak»e super±cisªych oszacowa«. Niech xi = iδ (pocz¡tek i-tego przedziaªu). Wtedy h(Xδ ) = X sh(pi ) i gdzie Z f (x)dx ≈ f (xi )δ. pi = µX ([xi , xi+1 ) = [xi ,xi+1 ) 3 tak naprawd¦ twierdzenie idzie przy znacznie sªabszych zaªo»eniach 17 Stosuj¡c to przybli»enie w powy»szym wzorze dostajemy h(Xδ ) ≈ X sh(f (xi )δ) = i X (−f (xi ) log2 f (xi ))δ + X i Z ≈ f (xi )δ · (− log2 δ) i Z Z sh(x)dx + sh(x)dx − log2 δ. f (x)dx(− log2 δ) = Czyli w sposób naturalny prowadzi to do nast¦puj¡cej denicji (entropia ró»niczkowa to asymptotyka): Denicja 8.1. Przez entropi¦ ró»niczkow¡ zmiennej ci¡gªej X o g¦sto±ci f rozumiemy Z h(X) := sh(f (x))dx. Cz¦sto si¦ spotyka powy»szy wzór w NATS-ach (to znaczy logarytm o podstawie dwa zast¦puje naturalnym). Przez analogi¦ do entropii krzy»owej dla zmiennych dyskretnych deniujemy Z × h (Y kX) := gdzie q to g¦sto±¢ Y, a p g¦sto±¢ X. q(x) · (− log2 p(x))dx, Analogicznie tak»e deniuje si¦ entropi¦ relatywn¡ (dywergencje Kullbacka-Leiblera) wzorem Z DKL (Y kX) := q(x) · log2 (q(x)/p(x))dx. Mo»na ªatwo pokaza¢ wzór na entropi¦ ró»niczkow¡ dla rozkªadu normalnego: h(N(m,Σ) ) = N [poprawi¢ - co to jest Zadanie 8.1. 8.2 i 1 (N ln(2πe) + ln det Σ) . 2 ln] Uzasadnij powy»szy wzór dla rzeczywistych rozkªadów normalnych. Metoda k-means Opowiemy sobie teraz o metodzie kwantyzacji w przypadku gdy mamy dane (w przestrzeni RN ) które nie s¡ równomiernie rozªo»one. Chcemy je przybli»y¢ za pomoc¡ sko«czonej ilo±ci punktów, tak by przybli»enie byªo mo»liwie najlepsze (bª¡d przybli»enia byª najmniejszy). Steinhaus byª jednym z pierwszych który to opisaª. Zaczniemy sobie od sytuacji gdy grup¦ punktów moc¡ jednego punktu s0 ∈ S ⊂ RN chcemy przybli»y¢ za po- RN . Jako bª¡d przybli»enia rozwa»amy najcz¦±ciej ss(S; s̄) := X ks − s̄k2 s∈S czasami si¦ rozwa»a z wspóªczynnikiem normalizacyjnym 1/card(S). Skrót pochodzi od within cluster sum of squares. Szukamy takiego s̄ które nam minimalizuje sumaryczny bª¡d przybli»enia. Okazuje si¦, »e najlepsze przybli»enie uzyskujemy gdy s0 jest ±rodkiem ci¦»ko±ci równie» warto±ci¡ oczekiwan¡ lub ±redni¡], czyli gdy s̄ = mS := X 1 s, card(S) s∈S Jest to konsekwencj¡ nast¦puj¡cego twierdzenia. 18 S [nazywamy Twierdzenie 8.2. Mamy ss(S; s̄) − ss(S, mS ) = card(S) · ks̄ − mS k2 . Dowód. Mamy X X [ks − s̄k2 − ks − mS k2 ] = [hs − s̄, s − s̄i − hs − mS , s − mS i] s s∈S = X X s, s̄−mS i−card(S)hmS , mS i [hs̄, s̄i−2hs, s̄−mS i−hmS , mS i] = card(S)hs̄, s̄i−2h s s = card(S)hs̄, s̄i − 2card(S)hmS , s̄ − mS i − hmS , mS i = card(S)hs̄ − mS , s̄ − mS i. Zadanie 8.2. Prosz¦ sprawdzi¢, czy zachodzi odpowiednik powy»szego twierdzenia w SPmaj¡ wagi (to 2 w , ss(S, s̄) = s s s ws · ks − s̄k sytuacji, gdy punkty z wS = P znaczy punkt s ma wag¦ 1 P mS = |S| s ws · s). ws , wtedy kªadziemy oraz Problemy z klasyczn¡ ±redni¡ polegaj¡ na tym, »e jest bardzo czuªa na pojawienie si¦ outliers (elementów odstaj¡cych). Czasami w zwi¡zku z tym dokonuje si¦ analizy najpierw szukaj¡c outliersów. Druga metoda polega na rozwa»eniu innego typu bª¦dów, ale du»o trudniejsza jest ich minimalizacja: sums∈S L(ks − s̄k), gdzie L jest odpowiedni¡ funkcj¡ (tak zwane M-estymatory, omówimy na nast¦pnym wykªadzie). Zadanie 8.3. dla 9 s̄ Poka», »e w sytuacji jednowymiarowej dostajemy dla b¦d¡cego (dowoln¡) median¡ S. L(x) = x minimum Wsk.: prosz¦ narysowa¢ odpowiedni¡ sum¦ funkcji. Wykªad 9: k-means Przez ss(S) [within cluster sum of squares in ss(S) = X S] oznaczamy ks − mS k2 = min{ss(S; s̄) : s̄ ∈ RN }, s∈S traktujemy to jako bª¡d optymalnego przybli»enia elementów ze zbioru S jednego punktu. W sensie intuicyjnym odpowiada to jakby energii zbioru za pomoc¡ S im jest ona mniejsza, tym bardziej skupiony jest zbiór, im wi¦ksza tym bardziej rozsiany. Zaªó»my teraz, »e chcemy dokona¢ kwantyzacji naszego zbioru za pomoc¡ s̄1 , . . . , s̄k . Problem 9.1 punktów k punktów Formalnie: . (k-means) s̄1 , . . . , s̄k Niech oraz rozbicia S S b¦dzie danym zbiorem, k ∈ N . Szukamy takich na sum¦ mnogo±ciow¡ rozª¡cznych podzbiorów, by sumaryczny bª¡d dokonany przy kwantyzacji: k X ss(Si ; s̄i ) (9.1) i=1 byª minimalny. Ogólnie mo»na pokaza¢ [cyt?], »e jest to problem NP-trudny. W zwi¡zku z tym w praktyce szuka si¦ (przynajmniej lokalnego) minimum za pomoc¡ dwóch podej±¢, Lloyda i Hartigana. 19 Opisz¦ najpierw podej±cie Lloyda. Zauwa»my, »e w (9.1) mamy dwie zmienne. Stosujemy wi¦c analogon nast¦puj¡cego podej±cia: jak chcemy znale¹¢ minimum funkcji dwóch zmiennych f (x, y), to cz¦sto post¦pujemy nast¦puj¡co (to dziaªa dobrze dla funkcji wy- x0 minimalizujemy y znajduj¡c y0 , a nast¦pnie przy ustalonym x znajduj¡c x1 , i powtarzamy. pukªych): przy ustalonym y0 minimalizujemy Poniewa» w tym problemie s¡ potencjalnie dwa typu do ustalenia punkty i zbiory, skupmy si¦ na tym jak wyliczy¢ jedno gdy znamy drugie: • zaªó»my, »e znamy punkty które s¡ wybrane jako ±rodki: wtedy im przyporz¡dkowujemy zbiór tych punktów które s¡ im najbli»ej (najlepsze zbiory dla danych ±rodków); • zaªó»my, »e mamy dane zbiory (podziaª) pocz¡tkowego zbioru S na k -podzbiorów, wtedy aby zminimalizowa¢ bierzemy ±rodki ci¦»ko±ci. Mo»emy si¦ najpierw spyta¢, którym punktem chcemy przybli»a¢ przybli»a¢ dany punkt s∈S odpowied¹ jest oczywista; tym który jest najbli»ej. Powstaje w sposób naturalny denicja: X ss(S; s̄1 , . . . , s̄k ) = d2 (s; {s̄1 , . . . , s̄k }) = X s∈S s∈S k(s) jest indeksem punktu S1 , . . . , Sk , i podzieli¢ jako gdzie ks − s̄k(s) k2 , który jest najbli»ej do ss(S; S1 , . . . , Sk ) = X s. Albo mo»emy rozdzieli¢ S na ss(Si ). i Problem 9.2. malizuj¡ Naszym celem jest znalezienie dla danego ss(S; s̄1 , . . . , s̄k ). Obserwacja 9.1. k T¡ minimaln¡ warto±¢ nazwiemy Ustalmy dowolne punkty s1 , . . . , s k . s̄1 , . . . , s̄k ssopt (S; k). takich które mini- Aby zrobi¢ taki podziaª który min- imalizuje, X ss(Si , si ) i powstaje nam wtedy diagram Voronoi (byª u»yty ju» w XIX wieku). Powy»sza obserwacja motywuje podej±cie Lloyda: wybieramy pocz¡tkowe, i potem dzielimy zbiór, i potem iterujemy. Zadanie 9.1. a) Mamy punkty Jak zostanie podzielony b) Mamy podziaª S S na s1 = (0, 1), s2 = (1, 0) i zbiór S = {(1, 2), (3, 1), (2, 5)}. aby zminimalizowa¢ bª¡d? S1 = {(1, 1), (2, 2)} i S2 = {(1, 2), (3, 4)}. Jakie punkty nale»y wzi¡¢, aby zminimalizowa¢ energie? Jaki jest optymalny podziaª Podsumowuj¡c: s1 i s2 S? najcz¦±ciej spotykany algorytm, metoda wymy±lona przez Lloyda, opiszemy poni»ej: 1. wybieramy losowo (wyja±ni¦ za chwil¦ co to znaczy dokªadniej) i i oznaczamy je s̄1 , . . . , s̄k gdzie 2. tworzymy zbiory S1 , . . . , S k k punktów z i = 0; przyporz¡dkowuj¡c punkty z S do najbli»szego punktu i i z s̄1 , . . . , s̄k ; 3. i = i + 1; S; tworzymy nowe punkty s̄i1 , . . . , s̄ik 20 za pomoc¡ wzorów mS1 , . . . , mSk ; 4. ko«czymy, gdy nie zmieniªy nam si¦ punkty (nie zmniejszyªa si¦ energia). Widzimy, »e po ka»dej iteracji funkcja i → ss(S; s̄i1 , . . . , s̄ik ) (sªabo) maleje, i w konsek- wencji mo»emy mie¢ nadziej¦, »e b¦dziemy zd¡»a¢ do minimum lokalnego. Natomiast nie mamy »adnej gwarancji, »e osi¡gniemy minimum globalne. W zwi¡zku z tym zazwyczaj powtarza si¦ procedur¦ losowania pocz¡tkowych punktów wielokrotnie. Powstaªy metody sªu»¡ce do tego, aby tak wybiera¢ te punkty pocz¡tkowe by zwi¦ksza¢ szans¦, »e tramy w minimum globalne. Jedna z metod polega na tym, by po wybraniu pierwszego punktu s01 nast¦pne wybiera¢ tak, by byªy najdalej. Inny pomysª (tak zwane k-means++) polega na tym, »e wybieramy s01 losowo, nast¦pnie tworzymy wagi b¦d¡ce kwadratem odlegªo±ci od zden- iowanych do tej pory, losujemy nast¦pny punkt zgodnie ze znormalizowanymi wagami, i powtarzamy procedur¦ a» znajdziemy k punktów. Okazuje si¦, »e taki wybór jest dosy¢ dobry: Twierdzenie 9.1 (Arthur, Vassilivitski, k-means++: 2007). Przy powy»szym wyborze punktów mamy the advantages of careful seeding E(ss(S; s̄01 , . . . , s̄0k )) ≤ 8(ln k + 2)ssopt (S; k). gdzie E oznacza warto±¢ oczekiwan¡ a ssopt (S; k) minimum energii przy podziale na k zbiorów. Chciaªbym tu jeszcze wspomnie¢, »e jest jeszcze podej±cie on-line zaproponowane przez Hartigana w latach 1980 (to jest upgrade podej±cia Lloyda). Dziaªa lepiej ni» Lloyd, ale nie dla ka»dych uogólnie« da si¦ zaadoptowa¢. Ogólnie w Lloydzie kluczowe s¡ ±rodki ci¦»ko±ci naszych zbiorów, które nast¦pnie zmieniamy w iteracyjnej procedurze. W przypadku Hartigana kluczowe jest chodzenie po kolejnych punktach zbioru, i przeª¡czanie ich do zbioru który minimalizuje ich energi¦. Ko«czymy algorytm w momencie gdy po przej±ciu caªego zbioru nie przeª¡czymy »adnego punktu. Aby efektywnie wykona¢ algorytm Hartigana, potrzebna nam b¦dzie wiedza jak si¦ zmienia energia (funkcja kosztu) po dodaniu oraz usuni¦ciu z grupy okre±lonego punktu. Obserwacja 9.2. Rozpatrzmy rozª¡czne zbiory mS∪T = S, T o ±rednich mS i mT . Wtedy card(S) card(T ) mS + mT . card(S) + card(T ) card(S) + card(T ) Dowód. Mamy mS∪T = X X X 1 1 1 u= s+ t card(S ∪ T ) card(S) + card(T ) card(S) + card(T ) u∈S∪T = s∈S card(S) card(T ) mS + mT . card(S) + card(T ) card(S) + card(T ) W konsekwencji mamy mS∪T − mS = card(T ) [mT − mS ], card(S) + card(T ) mS∪T − mT = card(S) [mS − mT ], card(S) + card(T ) 21 t∈T Twierdzenie 9.2. Rozpatrzmy rozª¡czne zbiory ss(S ∪ T ) = ss(S) + ss(T ) + Dowód. Policzymy teraz S, T o ±rednich mS i mT . Wtedy card(S)card(T ) kmS − mT k2 . card(S) + card(T ) ss(S∪T ) dla rozª¡cznych zbiorów S i T . (9.2) Korzystaj¡c z powy»szego i Twierdzenia 8.2 dostajemy ss(S ∪ T ) = ss(S ∪ T, mS∪T ) = ss(S, mS∪T ) + ss(T, mS∪T ) = ss(S, mS ) + card(S)kmS∪T − mS k2 + ss(T, mT ) + card(T )kmS∪T − mT k2 = ss(S) + ss(T ) + card(S)card(T )2 card(T )card(S)2 2 km − m k + kmS − mT k2 S T (card(S) + card(T ))2 (card(S) + card(T ))2 card(S)card(T ) kmS − mT k2 . card(S) + card(T ) = ss(S) + ss(T ) + Zadanie 9.2. Korzystaj¡c z wzoru (9.2), policz ile wynosi ss(S ∪ T ), o ile ss(S) = 5, ss(T ) = 3, mS = (1, 2), mT = (3, 4), cardS = 5, cardT = 6. Zadanie 9.3. P , R, R ⊂ P , o ±rednich mP ss(P ), ss(R), mP , mR , cardP, cardR. Rozpatrzmy rozª¡czne zbiory wyznaczy¢ wzór na ss(P \ R) znaj¡c i mR . Prosz¦ Wsk.: prosz¦ skorzysta¢ z wzoru ss(S ∪ T ) = ss(S) + ss(T ) + dla card(S)card(T ) kmS − mT k2 . card(S) + card(T ) S = P \ R, T = R. Uogólnienia metody k-means: w wielu przypadkach u»ywamy bardziej skomplikowanej funkcji energii, do wyliczenia której niezb¦dna jest znajomo±¢ macierzy kowariancji. Okazuje si¦, »e wtedy te» podobnie jak w metodzie Hartigana, mo»na przeprowadza¢ operacje on-line. atwo mo»na udowodni¢ nast¦puj¡ce twierdzenie: Twierdzenie 9.3. Niech dane b¦d¡ miary probabilistyczne µ1 , µ2 i p1 , p2 ≥ 0, p1 +p2 = 1. Niech µ = p1 µ1 + p2 µ2 . Wtedy mµ = p1 mµ1 + p2 mµ2 oraz Σµ = p1 Σµ1 + p2 Σµ2 + p1 p2 (mµ1 − mµ2 )(mµ1 − mµ2 )T . Jako wniosek mo»na ªatwo uzyska¢ nast¦puj¡ce wzory (oznaczenia: l - ilo±¢ elementów, m - ±rednia, Σ - macierz kowariancji, indeks ±y do (usuwamy ze) zbioru y punkt y ). Dla y 6∈ y mamy l+y = l + 1, m+y = Σ+y = Gdy y∈y lm+y l+1 , l l+1 [Σ 1 l+1 (m − y)(m − y)T ]. 1 l l−1 m − l−1 y, l 1 l−1 [Σ − l−1 (m − y)(m − y)T ]. + wtedy l−y = l − 1, m−y = Σ−y = 22 y - zestaw danych, oznacza, »e dodajemy Literatura [1] T. Cover. Elements of Information Theory. [2] P. Johnson D. Hankerson, G. Harris. Introduction to Information Theory and Data Compression. [3] J. Gleick. Informacja. [4] Constantin Niculescu and Lars-Erik Persson. Convex functions and their applications: a contemporary approach, volume 23. Springer, 2005. [5] Salomon. Handbook of data compression. [6] Seibt. Algorithmic information theory. 23