Interakce člověk počítač v přirozeném jazyce (ICP) LS 213 Klasifikace Tino Haderlein, Elmar Nöth Katedra informatiky a výpočetní techniky (KIV) Západočeská univerzita v Plzni Lehrstuhl für Mustererkennung (LME) Friedrich-Alexander-Universität Erlangen-Nürnberg
Klasifikační systém 2 f(x) sensor preprocessing signal h(x) feature extraction c classification Ω κ working phase training phase sample ω estimation of subspaces for classes
Similar Patterns 3 Postulate 4: two patterns are similar, if an appropriately defined distance measure between their feature vectors is small.
Similar Patterns 4 Postulate 4: two patterns are similar, if an appropriately defined distance measure between their feature vectors is small.
Similar Patterns 5 Postulate 4: two patterns are similar, if an appropriately defined distance measure between their feature vectors is small.
Similar Patterns 6 Proof that old men look like young women
Míry podobnosti vzdálenosti 7 Promluva, která má být klasifikována do jedné třídy Ω κ je ted posloupnost pozorování s c IR n, n 2. Klasifikace znamená, že každé pozorování c musí být srovnáno s vhodným referenčním vektorem každé možné třídy Ω κ. Klasifikátor musí počítat průměrnou podobnost přes všechna pozorování, která patří k promluvě. Když vhodný referenční vektor c Ωκ třídy Ω κ je považován za bod v IR n, pak míra podobnosti mezi c Ωκ a aktuálním pozorovacím vektorem c j může být jejich vzdálenost podle nějaké metriky: d κj = n i=1 c Ω κ (i) c j (i) cityblock metric n d κj = i=1 (c Ω κ (i) c j (i)) 2 euklidovská vzdálenost Rozhodni se pro κ s minimální vzdáleností, tj. nejvyšší podobností.
8 Míry podobnosti hustoty pravděpodobnosti považuj vhodný referenční vektor c Ωκ třídy κ za stochastický proces, tj. podmíněná hustota pravděpodobnosti P(c Ω κ ) může být popsána rodinou parametrických funkcí proč stochastický proces? určité faktory, které ovlivňují příznakový vektor, jsou neznámé a/anebo není možné je modelovat explicitně např. klasifikační úloha: klasifikace mluvčího příklady ovlivňujících faktorů: emocionální stav stav uživatele (user state) mikrofon 1 mikrofon 2
Stejná promluva, různé mikrofony 9 mikrofon blízko mluvčího (close talk microphone) prostorový mikrofon (room microphone)
1 /a/, different microphones 3 2 1 5 1 15 2 25 3 4 2 5 1 15 2 25 3 2 close talk microphone omni-directional microphone difference 2 5 1 15 2 25 3 4 3 2 1 5 1 15 2 25 3 average difference (1 sec)
11 /i/, different microphones 3 2 1 5 1 15 2 25 3 3 2 1 5 1 15 2 25 3 2 close talk microphone omni-directional microphone difference 2 5 1 15 2 25 3 4 3 2 1 5 1 15 2 25 3 average difference (1 sec)
12 /u/, different microphones 3 2 1 5 1 15 2 25 3 4 2 5 1 15 2 25 3 2 1 close talk microphone omni-directional microphone difference 1 5 1 15 2 25 3 4 3 2 1 5 1 15 2 25 3 average difference (1 sec)
13 /a/, close-talk microphone, different speakers 3 2 1 5 1 15 2 25 3 3 2 1 5 1 15 2 25 3 4 2 speaker A speaker B difference 2 5 1 15 2 25 3 4 3 2 5 1 15 2 25 3 average difference (1 sec)
Close-talk vs. room microphone 14... fragen wie das aussieht... Nahbesprechungsmikrofon, sp1ctalk 6, Muedigkeitsstichprobe khz 6 5 4 3 2 1 t.1.2.3.4.5.6.7.8.9 1. 1.1... fragen wie das aussieht... Raummikrofon, sp1mic7 6, Muedigkeitsstichprobe khz 6 5 4 3 2 1 t.1.2.3.4.5.6.7.8.9 1. 1.1
Close-talk vs. room microphone 15-2 -3 wie d] a [s aussieht unverhallt wie d] a [s aussieht verhallt -4-5 -6-7 -8-9 -1 1 2 3 4 5 6 7 8 spektrogram hlásky a z promluvy wie das aussieht ; unverhallt=bez dozvuku, verhallt=s dozvukem
Close-talk vs. room microphone 16-2 -3 wie da] s [aussieht unverhallt wie da] s [aussieht verhallt -4-5 -6-7 -8-9 -1 1 2 3 4 5 6 7 8 spektrogram hlásky s z promluvy wie das aussieht ; unverhallt= bez dozvuku, verhallt=s dozvukem
Close-talk vs. room microphone 17 File: sin2125.wav Page: 1 of 1 Printed: Fri Dec 26 :18:39 khz 6 5 4 3 2 1 t.2.4.6.8.1.12.14.16.18.2.22.24.26.28.3 File: sin2125 verh.wav Page: 1 of 1 Printed: Fri Dec 26 :18:7 khz 6 5 4 3 2 1 t.2.4.6.8.1.12.14.16.18.2.22.24.26.28.3
Close-talk vs. room microphone 18 2 Sin 2125 Hz unverhallt Sin 2125 Hz verhallt -2-4 -6-8 -1-12 -14 1 2 3 4 5 6 7 8 spektrogram sinusové vlny s frekvencí 2125Hz; unverhallt= bez dozvuku, verhallt=s dozvukem
Close-talk vs. room microphone 19 2 Sin2125 Hz verhallt Sin2125 Hz Nachhall -2-4 -6-8 -1-12 -14 1 2 3 4 5 6 7 8 spektrogram sinusové vlny s frekvencí 2125Hz; verhallt=s dozvukem, Nachhall=dozvuk
Close-talk vs. room microphone 2 File: Page: 1 of 1 Printed: Fri Dec 26 23:29:2 khz 6 5 4 3 2 1 t.1.2.3.4.5.6.7.8.9 1. 1.1 1.2 1.3 1.4 1.5 File: Page: 1 of 1 Printed: Fri Dec 26 23:34:51 khz 6 5 4 3 2 1 t.1.2.3.4.5.6.7.8.9 1. 1.1 1.2 1.3 1.4 1.5
Close-talk vs. room microphone 21 2 Sin 2125 Hz unverhallt Sin 2125 Hz verhallt -2-4 -6-8 -1-12 -14 1 2 3 4 5 6 7 8 spektrogram sinusové vlny 2125Hz z posloupnosti stoupajících frekvencí; unverhallt=bez dozvuku, verhallt= s dozvukem
22 Míry podobnosti hustoty pravděpodobnosti Bud prototypická realizace daného zvuku od daného mluvčího, který je mírně obměněn ovlivňujícími faktory, které jsou neznámé a jsou proto považované za náhodný proces, který má jako základ tuto prototypickou realizaci. Chování náhodného procesu je popsáno hustotou pravděpodobnosti (probability density function; PDF). Bud rodina parametrických funkcí. Parametry se trénuje representační množinou ω. Nejčastěji užívaná rodina parametrických funkcí je rodina Gaußových funkcí (normální rozdělení), charakterizované průměrným vektorem µ a kovarianční maticí K. : německy Gauß s tzv. ostrým s, mezinárodně Gauss
Tréninková množina 23 dva mluvčí sp i jazyk s třemi hláskami sou j Každá hláska je pro trénování každým mluvčím řečena pětkrát. Pro každý tréninkový vzor: Mluvčí je znám, ale hláska ne. Každý vzor je popsán jako dvojrozměrný příznakový vektor c i IR 2. Chceme popisovat chování náhodné proměnné c dvojdimenzionální Gaußovou funkcí: P(c sp i, sou j ) = N(c µ ij, K ij ) = 2πK ij exp[ (c µ ij ) t K 1 ij (c µ ij ) 2 Problém: Aktuální hláska není známa. Řešení: Užívej jednu pravděpodobnostní hustotní funkci, která je lineární kombinací Gaußových funkcí: Gaußův model nebo Gaussian Mixture Model (GMM) P(c sp i ) = K i k=1 ω ik N(c µ ik, K ik ) µ, K a váhy ω se mohou trénovat účinně (algoritmem EM).
Klasifikační systém 24 f(x) sensor preprocessing signal h(x) feature extraction c classification Ω κ working phase training phase sample ω estimation of subspaces for classes
Estimates for PDFs based on a Training Sample 25 2 15 Speaker A, sound 1 Speaker A, sound 2 Speaker A, sound 3 Speaker B, sound 1 Speaker B, sound 2 Speaker B, sound 3 1 5 5 1 15 2
Training Sample 26 2 15 Speaker A, sound 1 Speaker A, sound 2 Speaker A, sound 3 Speaker B, sound 1 Speaker B, sound 2 Speaker B, sound 3 1 5 5 1 15 2
Classification of One Frame w.r.t. Speaker A 27 Result is an estimate for the conditional probability P(c speakera) 2 Speaker A, sound 1 Speaker A, sound 2 Speaker A, sound 3 15 1 5 Σ ω P(c µ Κ ) i i i 5 1 15 2
28 Základní technologie klasifikace Klasifikuj každé okno (frame) promluvy vzhledem ke všem třídám (mluvčí). Pro každou třídu zkombinuj klasifikační výsledek pro každý frame (suma, násobení,... ). Když se užívá míru vzdálenosti, roztřid třídy vzestupně (začni s minimální vzdáleností). Když se užívá podmíněnou funkci pravděpodobnosti, roztřid třídy sestupně (začni s maximální pravděpodobností). Výsledek je tříděný seznam tříd s hodnoceními (scores).
Gaußovo rozdělení 29 nejčastěji užívaný předpoklad rozdělení příznakových vektorů definice Gaußova nebo normálního rozdělení P(x µ m,σ m ) = N(x µ m,σ m ) = 1 2πΣm e 1 2 (x µ m ) Σ 1 m (x µ m ) průměrný vektor µ m symetrická, pozitivně semidefinitní kovarianční matice Σ m
Gaußovo rozdělení 3 5 Surface plot of probability density 4 3.18 2.16.14 1.12.1.8 1.6.4 2.2 3 4 5 5 4 3 2 1 1 2 3 4 5 6 4 2 2 4 4 2 2 4 6
Separační funkce Gaußova klasifikátoru 31 příklad: ( 4 µ 1 = 2 ( µ 2 = 1 ( 4 µ 3 = 4 ) [ 2,Σ 1 = 2 ),Σ 2 = ),Σ 3 = ], [ ] 3, 3 [ 2, 5 1, 5 1, 5 2 ].
Separační funkce Gaußova klasifikátoru 32 Příklad: Hustotní funkce tří předem definovaných Gaußových rozdělení (vlevo) a separační čáry mezi rozděleními (vpravo; křížky = průměry µ i, i {1, 2, 3}), když všechny tři třídy mají stejnou a priori pravděpodobnost: 1.2.15 5.1 X 2.5-5 1 X 2-1 -5 5 1 X 1 X -1 1-1 -1-5 5 1
Identifikace vážené sumy rozdělení 33 Předpoklad: Vektory x, o kterých není známo, ke které třídě κ patří, jsou rozdělené podle marginální hustoty: K P(x p,θ) = p κ P(x θ κ ) Jsou p, θ jednoznačně určitelné, když je postup funkce P(x p, θ) znám? κ=1 Ano když rodina P(x θ) tvoří bázi odpovídajícího prostoru funkcí; pak existuje jednoznačná lineární kombinace P(x). Rodina {N(x µ, Σ)} multivariátních normálních hustot je ortogonální bází. Neexistuje však algoritmus na výpočet báze.
Gaußovo rozdělení 34 také nazýváno jako GMM = Gaussian Mixture Model několik Gaußových hustot je vážené a shrnuty také multimodální hustoty můžeme tak reprezentovat definice hustoty GMM M P(x p(1),µ 1,Σ 1,.., p(m),µ M,Σ M ) = p(m) N(x µ m,σ m ) m=1 p(m): a priori pravděpodobnosti jednotlivých hustot M platí: p(m) = 1 m=1 problém: stanovit počet M normálních rozdělení maximum likelihood odhad parametrů pomocí algoritmu EM
35 Algoritmus EM pozorování v IR 2
36 Algoritmus EM náhodně tvořené vektory Gaußovy sumy 4 hustot v IR 2
37 Algoritmus EM µ, σ počítané pomocí EM ºººº ººººººººººººº ºº ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº ºº ºººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº º ºººº ºººº ººº º º ººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº ºº ºººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººººº º ººººººººººººººººººººººººººººº ººº ººº ººº ºº ºº ººº ººº ººº ººººººººººººººººººººººººººººº
Odhad průměrových vektorů a rozptylových matic 38 odhad maximální věrohodnosti (maximum likelihood, ML) podle vzorů Maximalizuj logaritmovanou pravděpodobnost pro produkci všech prvků tréninkového vzorku z ω = (y 1,..., y N ) s vedlejší podmínkou κ p κ = 1 L MIX (p,θ) = log P(ω p,θ) N = log P(y i p,θ) = i=1 ( N K ) log p κ P(y i θ κ ). i=1 κ=1
39 Odhad průměrových vektorů a rozptylových matic = systém sdružených, transcendentních rovnic pro ˆp κ, ˆµ κ a ˆΣ κ (předpoklad: normální rozdělení např. odhad pro ˆp κ = 1 N N i=1 P(Ω κ y i, ˆp, ˆθ) označený (labeled) tréninkový vzorek P(Ω κ y i, ˆp, ˆθ) = 1 pro y i Ω κ, jinak úkol při učení bez učitele : náhodný proces tvoří dvojice hodnot (κ, x) náhodných proměnných (Ω, X) s hustotou pravděpodobnosti P(κ, x) Problém: Hodnoty diskrétních náhodných proměnných Ω nejsou pozorovatelné!
Algoritmus EM 4 máme: náhodný proces (X, U) s hustotou rozdělení P(x, u θ) (x pozorovatelný a u skrytý) hledáme: ML odhad neznámých parametrů rozdělení θ pomocí maximalizace veličiny L EM (θ) = log P(x θ) = log P(x, u θ) du u
Algoritmus EM 41 chicken-egg problem: θ u θ u θ u... optimalizace veličiny θ vyžaduje hodnotu nebo rozdělení skryté náhodné proměnné, rozdělení procesu U je závislé na této θ iterativní východisko: algoritmus EM (expectation maximization) účel: postupné zlepšení parametrů vzhledem k cílové funkci algoritmu ML
42 Algoritmus EM platí vztah P(x, u ˆθ) = P(u x, ˆθ)P(x ˆθ) = log P(x, u ˆθ) = log P(u x, ˆθ) + log P(x ˆθ) = log P(x ˆθ) = log P(x, u ˆθ) log P(u x, ˆθ) definice Kullback-Leiblerovy diference Q(θ, ˆθ), podmíněné očekávání všech dat (x, u)
Algoritmus EM 43 L EM (ˆθ) = log P(x ˆθ) = log P(x ˆθ)P(u x,θ) du u = E[log P(x ˆθ) x,θ] = E[log P(x, u ˆθ) log P(u x, ˆθ) x,θ] = E[log P(x, u ˆθ) x,θ] }{{} =:Q(θ,ˆθ) E[log P(u x, ˆθ) x,θ] }{{} =:H(θ,ˆθ)
Algoritmus EM 44 platí: log q q 1 Jensenova nerovnost pro podmíněnou entropii H(θ, ˆθ): H(θ, ˆθ) H(θ,θ) = = u u u = 1 1 =. ( ) P(u x, ˆθ) log P(u x,θ) du P(u x,θ) ( P(u x, ˆθ) ) P(u x,θ) 1 P(u x,θ) du P(u x, ˆθ) du P(u x,θ) du u
Algoritmus EM 45 H(θ, ˆθ) H(θ,θ) = dostatečné kritérium pro iterativní zlepšení parametrů: Q(θ, ˆθ) Q(θ,θ) = L EM (ˆθ) L EM (θ) vylepšená odhadní hodnota ML: θ s podmínkou Q(θ, ) max
Algoritmus EM 46 1 Stanov vhodné počáteční parametry ˆB. 2 Pro i = 1, 2, 3,...: (1) Krok expectation: Stanov rozdělení γ i (Y) a posteriori pravděpodobnosti skryté náhodné proměnnéy : γ i (Y) = P(Y X, ˆB i 1 ) (2) Krok maximization: Maximalizuj Kullback-Leiblerovu diferenci Q: ˆB i = argmax γ i (Y) log P(X, Y ˆB)dY ˆB Y (3) Kontroluj vhodnou terminační podmínku.
47 Algoritmus EM pro GMM Problém při odhadu ML parametrů GMM: Přiřazení příznakového vektoru x k jedné z M hustot není známo. Algoritmus EM řeší problém iterativní optimalizací. Není garantováno, že tak najdeme nejlepší parametry, které maximalizují pravděpodobnost tréninkového vzorku. Ale nacházíme vždycky lokální optimum, tj. parametry, které jsou aspoň tak dobré jako iniciální hodnoty. Zkušenost: Nacházíme velmi dobré parametry, když jsou iniciální hodnoty dobré a když je dost tréninkových dat. Problém: Jak stanovíme dobré iniciální hodnoty?
Algoritmus EM pro GMM část 1 48 1 Stanov počáteční parametry ˆB = {p(m),µ m,σ m } pro všechna m. 2 Pro i = 1, 2, 3,...: (1) Krok expectation: Stanov pro každou třídu Ω m a každý příznakový vektor x j a posteriori pravděpodobnost: γj,m i = P(Ω m x j, ˆB i 1 ) = N(x j µ m i 1 N(x j µ i 1 k k,σm i 1,Σ i 1 k ) p(m) ) p(k)
Algoritmus EM pro GMM část 2 49 (2) Maximization krok: Vypočítej nové parametry ˆB i : J p(m) = 1 J j=1 γ i j,m Σ m = µ m = 1 j γi j,m 1 j γi j,m J γj,m i x j j=1 J γj,m i (x j µ m ) (x j µ m ) j=1 (3) Kontroluj vhodnou terminační podmínku.
Algoritmus EM 5 1 Data 1 Initial Configuration.9.9.8.8.7.7.6.6.5.5.4.4.3.3.2.2.1.1.1.2.3.4.5.6.7.8.9 1 (, 2 µ 1 =, 8 (, 8 µ 2 =, 2.1.2.3.4.5.6.7.8.9 1 ) [, 1, Σ 1 =, 1 ), Σ 2 = [, 1, 1 ] ]
Algoritmus EM 51 1 E step 1 M step.9.9.8.8.7.7.6.6.5.5.4.4.3.3.2.2.1.1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1
1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 M step M step M step 1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 M step M step M step 1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 1.9.8.7.6.5.4.3.2.1 M step M step M step Algoritmus EM 52.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1.1.2.3.4.5.6.7.8.9 1
Algoritmus EM 53 M step 1.9.8.7.6.5.4.3.2.1 (, 31 µ 1 =, 32 (, 68 µ 2 =, 71.1.2.3.4.5.6.7.8.9 1 ) [, 8,Σ 1 =, 8 ),Σ 2 = [, 8, 8 ] ]
Algoritmus EM 54 zjednodušená varianta algoritmu EM stanoví v iteračním kroku nejpravděpodobnější konstelaci u neznámých dat s x a θ domnívá se, že U má opravdovou hodnotu u odhaduje nové ML parametry θ vzhledem k P(x, u ) místo Q(ˆB i ˆB i 1 ) = Y P(Y X, ˆB i 1 ) log P(X, Y ˆB i )dy bude maximalizováno L EM = max Y log P(X, Y ˆB) tj. tvoření podmíněné očekávané hodnoty je nahrazeno tvořením maxima výsledný algoritmus EM už nemaximalizuje log-likelihood tréninkového vzorku jako algoritmus EM, ale jen účelovou veličinu L EM
Algoritmus EM 55 1 Stanov vhodné počáteční parametry ˆB. 2 Pro i = 1, 2, 3,...: (1) Stanov nejpravděpodobnější hodnoty skrytých náhodných proměnných: Y i = argmax P(X, Y ˆB i 1 ) Y (2) Vypočítej odhadní hodnoty pro kompletní data (X, Y i ): ˆB i = argmax P(X, Y i ˆB) ˆB (3) Kontroluj pomocí vhodné terminační podmínky.
56 Algoritmus EM názorně maximalizuj P(x, u ) místo P(x ) data u nejsou pozorovatelná přechod na podmíněnou očekávanou hodnotu vzhledem k a posteriori hustotě P(u x,θ) evaluace těchto s užívaním starých parametrů distribuce θ předchozí iterace
Vektorová kvantizace 57 Vektorová kvantizace je zobrazení libovolných příznakových vektorů x na stanovené prototypové vektory z k. Množina prototypových vektorů Z = {z 1,.., z K } tvoří kódovou knihu kvantizéru. Vektorový kvantizér stanoví rozklad vektorového prostoru, každá buňka se skládá ze všech příznakových vektorů, které jsou zobrazeny na stejný prototypový vektor. dvě různé kvantizace dvojdimenzionálního vektorového prostoru:
Vektorový kvantizér 58 Formálně: Vektorový kvantizér je operátor { IR q : D Z = {z 1,...,z K } x q(x) Zobrazení q( ) disjunktním rozkladem příznakového prostoru do buněk: IR D = Y 1 Y K, Y κ = {x q(x) = z κ } Optimální vektorový kvantizér q( ) minimalizuje očekávanou kvantizační chybu ε = E[d(X, q(x))] = K d(x, z κ )P(x) dx. κ=1x Y κ d je přitom metrikou vzdálenosti mezi dvěma vektory. Problém: žádné uzavřené řešení pro optimální kvantizér
59 Optimální vektorový kvantizér Nutné podmínky pro kódovou knihu optimálního vektorového kvantizéru: Kvantizér vybere nejblíž položený vektor z kódové knihy q( ) rozdělí příznakový prostor do buněk Ŷ 1 (Z),..., Ŷ K (Z), kde Ŷ κ (Z) = {x IR D d(x, z κ ) = min λ d(x, z λ )}. Třídový centroid z(y κ ) bude prototypovým vektorem z κ. Třídový centroid je vektor ŷ s minimální očekávanou odchylkou od prvků buňky E[d(X, ŷ) X Y κ ] = min y E[d(X, y) X Y κ ]. Pro kvadratické míry vzdálenosti platí d(x, y) = (x y) Σ 1 (x y): Centroid množiny M je podmíněná očekávaná hodnota E[X X M].
Algoritmus k-means 6 Vyber počet K tříd kódové knihy. Vyber iniciální prototypové vektory Z () = (z κ () κ = 1,..., K). Pro i = 1, 2, 3,...: 1 Klasifikuj všechny tréninkové vektory x ω a určuj z toho nový rozklad Y (i) κ = Ŷ κ (Z (i 1) ), κ = 1,..., K. 2 Vypočítej novou kódovou knihu Z (i) s třídovými centroidy z (i) κ = 1 N (i) κ x Y (i) κ x ; N κ (i) je počet vektorů v buňce Y κ (i). 3 Když kritérium terminace je splněno konec Hledaná je kódová kniha Z (i) a vektorový kvantizér rozhoduje podle pravidla minimální vzdálenosti.
61 Vlastnosti algoritmu k-means víc tříd menší minimální kvantizační chyba každý K kvantizér je také (K + 1) kvantizér žádná vhodná metoda výběru příznivé velikosti kódové knihy řízení ISODATA: rozšíření k means; optimalizuje i počet tříd kvantizační chyba klesá monotónně a je pozitivní konvergence vhodné kritérium terminace: redukce chyby příliš malá kódová kniha je lokálně optimální iniciální kódová kniha určuje lokální minimum metody na inicializaci kódové knihy pokryv algoritmu k-means náhodným procesem s klesájící entropií (např. simulated annealing) globální optimálnost garantovaná, ale vyžaduje hodně času na výpočet
62 Algoritmus LBG (Linde, Buzo, Gray) hierarchická metoda pro snížení závislosti od inicializace 1. Začni s triviálním rozkladem {ω} (celá tréninková množina je jedna buňka, K = 1). 2. Rozlož K buňky heuristickou metodou do 2K buněk: najdi v každé buňce dva vzdálené body a použij je jako nové prototypové vektory. 3. Urči algoritmem k-means iterativně optimální prototypový vektor pro novou kódovou knihu. 4. Vrat se k bodu 2. dokud nebude dosahnut požadovaný počet tříd. kombinace postupného rozkladu a postupného splynutí tříd kódové knihy, např. algoritmus ISODATA
63 Algoritmus LBG Optimalizaci k-means lze aplikovat v každém kroku bud na všechny nebo jen na část tříd kódové knihy. ω LBG-optimalizace ω K = 2 1 K = 2 2 K = 2 3 Pozor: V literatuře jsou názvy algoritmů LBG, k-means a Lloydovu algoritmu často popletené! Jsou vektorové kvantizéry, které užívají LBG.