Uniwersalność kodu PPM i informacja wzajemna
Łukasz Dę[email protected]
iInstytut Podstaw InformatykiPolskiej Akademii Nauk
Seminarium ZAMS, 08.01.2018
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
1 Kod PPM
2 Słowa PPM i informacja wzajemna
3 Język naturalny
4 Konkluzje
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
1 Kod PPM
2 Słowa PPM i informacja wzajemna
3 Język naturalny
4 Konkluzje
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Model Markowa k-tego rzędu
Proces stochastyczny (Xi )∞i=1 na przestrzeni (Ω,J ,P).
Bloki zmiennych losowych X kj := (Xj ,Xj+1, ...,Xk).
(notacja z teorii informacji)
P-stwo warunkowe zależy tylko od k ostatnich zmiennych:
P(Xi |X i−11 ) = P(Xi |X i−1
i−k )
Estymacja największej wiarogodności
PMLE (Xi |X i−1i−k ) :=
N(X ii−k |xN1 )
N(X i−1i−k |x
N−11 )
,
gdzie— N(w |z) to liczba wystąpień podsłowa w w słowie z ,— ciąg xN1 = (x1, x2, ..., xN) to próba ucząca.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Kod PPM (Prediction by Partial Matching)
Cleary & Witten, 1984; Ryabko, 1984:
PPMk(xi |x i−11 ) :=
1
D, i ≤ k,
N(x ii−k |xi−11 ) + 1
N(x i−1i−k |xi−21 ) + D
, i > k,
PPMk(xn1 ) :=n∏i=1
PPMk(xi |x i−11 ),
PPM(xn1 ) :=6
π2
∞∑k=−1
PPMk(xn1 )
(k + 2)2.
Wielkość PPM(xn1 ) nazywa się p-stwem PPM napisu xn1 .
Zauważmy, że PPMk(xn1 ) = D−n dla k > L(xn1 ).
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Uniwersalność p-stwa PPM
Entropia bloku: H(X n1 ) := E
[− logP(X n
1 )]
Intensywność entropii: h := limn→∞
H(X n1 )
n
Twierdzenie
P-stwo PPM jest p-stwem uniwersalnym, tzn. zachodzi
E[− log PPM(X n
1 )]≥ H(X n
1 )
limn→∞
1
nE[− log PPM(X n
1 )]
= h
dla dowolnego procesu stacjonarnego (Xi )∞i=1 o skończ. alfabecie.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
P-stwo PPM a p-stwo PPMk
Mamy
− log PPMG (xn1 ) ≤ log PPM(xn1 )
≤ 1/2+ log(k + 2)− log PPMk(xn1 ),
gdzie rząd PPM G to najmniejsza liczba taka, że
− log PPMG (xn1 ) ≤ − log PPMk(xn1 ) dla każdego k ≥ −1.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Pomocnicze funkcje
log∗ n :=
0, n = 0
log n!− n log n + n, n ≥ 1
H(n1, ..., nl ) :=
∑l
i=1:ni>0ni log
(∑lj=1 nj
ni
), jeśli nj > 0 istnieje
0, inaczej
K(n1, ..., nl ) :=l∑
i=1
log∗ ni − log∗
(l∑
i=1
ni
)
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Dwa człony kodu PPMk
− log PPMk(xn1 ) = k logD − log PPM0k(xn1 )− log PPM1k(xn1 )
gdzie
− log PPM0k(xn1 ) :=∑u∈Xk
H(N(u1|xn1 ), ...,N(uD|xn1 )
)(warunkowa entropia rozkładu empirycznego)
− log PPM1k(xn1 ) :=∑u∈Xk
H(N(u|xn−11 ),D − 1
)−∑u∈Xk
K(N(u1|xn1 ), ...,N(uD|xn1 ),D − 1
)(poprawka na uniwersalność)
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Człon PPM0k
a entropia warunkowa
Entropia warunkowa: H(X1|X 0−k+1) = E[− logP(X1|X 0−k+1)
]Twierdzenie
Dla ergodycznego procesu stacjonarnego (Xi )∞i=1 o skończ. alf.,
limn→∞
1
n
[− log PPM0k(X n
1 )]
= H(Xk+1|X k1 ) pnp..
Dowód z twierdzenia ergodycznego.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Człon PPM1k
a subword complexity
Oznaczmy zbiór wszystkich podsłów długości m w napisie xn1 jako
V (m|xn1 ) :=ym1 : x t+m
t+1 = ym1 dla pewnego 0 ≤ t ≤ n −m.
Ogólnie zachodzi nierówność
cardV (k|xn1 ) ≤ minDk , n − k + 1
.
(subword complexity)
Twierdzenie
0 ≤ − log PPM1k(xn1 ) < D cardV (k|xn−11 ) (2+ log n)
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Uniwersalność raz jeszcze
Mamy
h := limn→∞
H(X n1 )
n= lim
k→∞H(Xk+1|X k
1 ).
Z poprzednich rozważań wynika następujący wynik:
Twierdzenie
Dla ergodycznego procesu stacjonarnego (Xi )∞i=1 o skończ. alf.,
lim supn→∞
1
n
[− log PPM(X n
1 )]≤ h pnp.,
− log PPM(X n1 ) ≤ 1/2+ n logD.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Wniosek z rozkładu ergodycznego i twierdzenia SMB
Twierdzenie
Niech Q będzie kodem, tzn. Q(xn1 ) ≥ 0 i∑
xn1Q(xn1 ) ≤ 1.
Jeżeli dla ergodycznych procesów stacjonarnych (Xi )∞i=1 o sk. alf.,
lim supn→∞
1
n
[− logQ(X n
1 )]≤ h pnp.,
− logQ(X n1 ) ≤ cn,
to dla dowolnego procesu stacjonarnego (Xi )∞i=1 o sk. alf.,
limn→∞
1
n
[− logQ(X n
1 )]
= hF pnp.,
limn→∞
1
nE[− logQ(X n
1 )]
= h.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
1 Kod PPM
2 Słowa PPM i informacja wzajemna
3 Język naturalny
4 Konkluzje
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Rząd PPM i słownik PPM
Rząd PPM G to najmniejsza liczba taka, że
− log PPMG (xn1 ) ≤ − log PPMk(xn1 ) dla każdego k ≥ −1.
Zbiór różnych słów PPM w napisie X n1 to zbiór wszystkich
podsłów długości G ,
VPPM(xn1 ) := V (G |xn1 ).
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Informacja wzajemna PPM i słowa PPM
IQ(u; v) := − logQ(u)− logQ(v) + logQ(uv)
Twierdzenie
IPPM0k(xn1 ; xn+m
n+1 ) ≤ 0
IPPM(xn1 ; xn+mn+1 ) ≤ 1+ 4 log
[GPPM(xn+m
1 ) + 2]
+[GPPM(xn+m
1 ) + 1]
logD
+ 2D cardVPPM(xn+m1 ) [2+ log(n + m)]
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Wykładnik Hilberga
Wykładnik Hilberga definiujemy jako
hilbn→∞
s(n) := lim supn→∞
log+ s(2n)
log 2n, log+ x =
log(x + 1), x ≥ 0,0, x < 0.
Na przykład hilbn→∞
nβ = β.
Twierdzenie
Niech J(n) := 2G(n)−G(2n). Jeżeli limn→∞G(n)/n = g, to
hilbn→∞
(G(n)− ng) ≤ hilbn→∞
J(n),
gdzie równość zachodzi, gdy J(n) ≥ 0.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Twierdzenie o słowach i informacji wzajemnej
Informacja wzajemna Shannona dla procesu stacjonarnego:
I (X n1 ;X 2nn+1) := H(X n
1 ) + H(X 2nn+1)− H(X 2n1 )
= 2H(X n1 )− H(X 2n1 )
Twierdzenie (informacja wzajemna i słowa PPM)
Dla dowolnego procesu stacjonarnego (Xi )∞i=1 o skończ. alfabecie
hilbn→∞
I (X n1 ;X 2nn+1) ≤ hilb
n→∞E IPPM(X n
1 ;X 2nn+1)
≤ hilbn→∞
E[GPPM(X n
1 ) + cardVPPM(X n1 )].
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
1 Kod PPM
2 Słowa PPM i informacja wzajemna
3 Język naturalny
4 Konkluzje
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Prawo Heapsa (liczba różnych słów ortograficznych)
1
10
100
1000
10000
100000
1x106
1 10 100 1000 10000 100000 1x106
num
ber
of w
ord
type
s V
number of word tokens N
Shakespearerandom permutation
Kuraszkiewicz i Łukaszewicz 1951; Herdan 1964; Heaps 1978:
V ∝ Nγ, γ < 1
V — liczba różnych słów w tekście (typów/types).N — liczba wszystkich słów tekście (okazów/tokens).
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Hipoteza Hilberga dla entropii Shannona (1990)
H(X ) := E [− logP(X )] H(X |Y ) := E [− logP(X |Y )]
H(Xn|X n−11 ) ≈ Bnβ−1 + h, β ≈ 1/2, n ≤ 100
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Prawa potęgowe dla entropii i informacji wzajemnej
Hipoteza Hilberga:
H(Xn|X n−11 ) ≈ Bnβ−1 + h
⇓
H(X n1 ) =
n∑i=1
H(Xi |X i−11 ) ≈ B ′nβ + hn
⇓I (X n1 ;X 2nn+1) ≈ B ′′nβ
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Rząd PPM na wykresie
-2
-1
0
1
2
3
1 10 100 1000 10000 100000 1x106 1x107
PP
M o
rder
input length [characters]
Shakespeare"unigram_ppm.txt"
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Moc słownika PPM na wykresie
1
10
100
1000
10000
100000
1 10 100 1000 10000 100000 1x106 1x107
card
inal
ity o
f the
PP
M v
ocab
ular
y
input length [characters]
Shakespearerandom permutation
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Wykładnik Hilberga dla mocy słownika PPM
Dla procesów Markowa k-tego rzędu nad skończonym alfabetem
limn→∞
GPPM(X n1 ) ≤ k, czyli hilb
n→∞cardVPPM(X n
1 ) = 0.
Dla języka naturalnego mamy prawdopodobnie
hilbn→∞
cardVPPM(X n1 ) = β, β ∈ (0, 1).
Czyli język naturalny nie jest procesem Markowa.
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
1 Kod PPM
2 Słowa PPM i informacja wzajemna
3 Język naturalny
4 Konkluzje
Tytuł Kod PPM Słowa PPM i MI Język naturalny Konkluzje
Konkluzje
Kod PPM jest praktycznym algorytmem kompresji danych, alema też ciekawe własności teoretyczne:
Może służyć jako test niemarkowskości procesustochastycznego.Odwołując się do niego można udowodnić twierdzenieShannona-McMillana-Breimana dla procesów nieergodycznychi asymptotycznie średnio stacjonarnych (AMS).
Możliwe jest, że język naturalny spełnia hipotezę Hilberga.