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

Podobne dokumenty