ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA JADERNÁ A FYZIKÁLNĚ INŽENÝRSKÁ VÝZKUMNÝ ÚKOL 2009 Ondřej Tichý
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA JADERNÁ A FYZIKÁLNĚ INŽENÝRSKÁ Katedra matematiky VÝZKUMNÝ ÚKOL Konvoluční parametrizace v analýze scintigrafických obrazových sekvencí (Convolution-based parameterization in analysis of scintigraphic image sequences ) Ondřej Tichý Školitel: Ing. Václav Šmídl, Ph.D. Konzultant: Prof. MUDr. Martin Šámal, DrSc. Akademický rok: 2008/2009
Čestné prohlášení Prohlašuji na tomto místě, že jsem předloženou práci vypracoval samostatně a že jsem uvedl veškerou použitou literaturu. V Praze dne 4. června 2009.......................... Jméno Příjmení
Poděkování Rád bych na tomto místě poděkoval především svému školiteli panu Václavu Šmídlovi za výborné vedení této práce, uvedení do problematiky a za cenné připomínky a podněty.
Název práce: Konvoluční parametrizace v analýze scintigrafických obrazových sekvencí Autor: Ondřej Tichý Obor: Inženýrská informatika Druh práce: Výzkumný úkol Vedoucí práce: Ing. Václav Šmídl, Ph.D., Ústav teorie informace a automatizace AV ČR Konzultant: Prof. MUDr. Martin Šámal, DrSc., Ústav nukleární medicíny 1.lf UK v Praze Abstrakt: Tato práce se zabývá novou parametrizací v modelu pro faktorovou analýzu obrazových sekvencí získaných pomocí scintigrafické kamery. Po nezbytném představení scintigrafie a Bayesovské teorie ukazuje, jakým způsobem může být obrazová sekvence zpracována, tzn. nalezeny jednotlivé faktory a křivky průtoků kontrastní tekutiny v nich. Model založený na faktorové analýze však nepopisuje reálný biologický systém a nesplňuje tak některá biologická omezení. Z fyzikálních modelů vyplývá, že aktivita jednotlivých faktorů je konvoluce aktivity v krvi s jednotlivými orgány. Proto se další část práce věnuje navržení a zabudování tohoto předpokladu a následně je model vyřešen pomocí VB-metody a výsledný algoritmus otestován na synteticky nagenerovaných datech. Klíčová slova: scintigrafie, Bayesovská statistika, nukleární medicína, obrazová sekvence, konvoluční parametrizace Title: Convolution-based parameterization in analysis of scintigraphic image sequences Author: Ondřej Tichý Abstract: This work describes a new parameterization of model for analysis of image sequences obtained from scintigraphic camera. After the necessary introduction to the areas of scintigraphy and Bayesian theory, processing of image sequences is discussed. The task is to find image factors and their time-activity curves. The model based on factor analysis doesn t describe real biological system since it doesn t satisfy same biological limitations. Physical constraints imply that activities corresponding to a single factor is convolution of activity of blood with convolution core of the underlying biological organ. Therefore the extension of the model to convolutional represenattion of the activity curves is proposed, and estimation of parameters of the new model is solved using the VB-method. The resulting algorithm is tested on synthetically generated data. Key words: scintigraphy, Bayesian statistic, nuclear medicine, image sequence, convolutionbased parameterization
Obsah 1 Úvod 1 2 Úvod do scintigrafie 2 2.1 Radionuklidy.................................. 2 2.1.1 Zákon rozpadu............................. 2 2.1.2 Statistický pohled............................ 2 2.1.3 Vliv pozadí............................... 3 2.1.4 Požadavky na vlastnosti radionuklidů................. 3 2.1.5 Některé používané radionuklidy.................... 3 2.2 Scintigrafie................................... 4 2.2.1 Scintilační kamera........................... 4 2.2.2 Oblasti zájmu............................. 4 2.2.3 Scintigrafické vyšetření......................... 6 2.2.4 Výhody a nevýhody planární scintigrafie............... 6 3 Bayesovská teorie a aproximace 8 3.1 Základy Bayesovské teorie........................... 8 3.1.1 Volba apriorního rozdělení....................... 9 3.2 Řešení pomocí aproximace........................... 9 3.2.1 EM (expectation minimalization) algoritmus............. 9 3.2.2 Laplaceova aproximace......................... 10 3.2.3 Markov Chain Monte Carlo (MCMC) aproximace.......... 10 3.2.4 Variační Bayesova aproximace..................... 11 4 Funkcionální analýza obrazových sekvencí 14 4.1 Konstrukce modelu pro sekvenci snímků.................... 14 4.1.1 Poznámka k maticové dekompozici.................. 16 4.2 VB metoda pro model (4.1)........................... 17 5 Konvoluční parametrizace ve scintigrafii 21 5.1 Konstrukce modelu............................... 21 5.2 VB metoda pro nový model........................... 22 5.2.1 Sestavení apriorna........................... 22 5.2.2 Převody sum na maticové násobení.................. 23 5.2.3 Výpočet logaritmu sdruženého rozdělení............... 24 5.2.4 VB-marginály............................. 25 ii
5.2.5 Identifikace standardních forem.................... 27 5.2.6 Formulace VB-momentů........................ 30 5.2.7 Apriorno................................ 33 5.3 Simulace na syntetických datech........................ 33 5.3.1 Nagenerovaná data........................... 34 5.3.2 Výsledek experimentu......................... 35 6 Závěr a možnosti dalšího pokračování 38 6.1 Hlavní přínos práce............................... 38 6.2 Možnosti dalšího pokračování......................... 38 A Matematický dodatek 39 A.1 Stopa matice, operátor vec() a Kroneckerův součin.............. 39 A.2 Vícerozměrné normální rozdělení....................... 40 A.3 Maticové normální rozdělení.......................... 40 A.3.1 Vektorizace v maticovém normálním rozdělení............ 41 A.4 Ořezané normální rozdělení........................... 41 A.5 Gamma rozdělení................................ 41 Literatura 42 iii
1 Úvod Hlavním úkolem matematiky při analýze sekvencí snímků, získáných v nukleární medicíně metodou scintigrafie, je odlišit a určit jednotlivé orgány či jejich části (faktory) a průběhy průtoků krve v těchto faktorech. Existuje několik přístupů, jak tento problém řešit, např. postupy založené na metodě nejmenších čtverců a ML (maximum likelihood) metodě, pro menší objem dat získaných ve scintigrafii však nemusí být tyto metody vždy vhodné. Možnost odstranit některé nedostatky nám poskytuje Bayesovská statistika [1], ovšem za cenu citelně náročnějších výpočtů. Analytické řešení tohoto problému není možné získat ani ve skalárním případě, natož v maticovém modelu [2], proto jsme nuceni použít např. aproximaci pomocí Variačního Bayesova teorému, jako je učiněno v této práci. Základní přístup a metodu popsal autor již ve své bakalářské práci [3], proto jsou kapitoly 2 až 4 převzaty především z tohoto materiálu. Ukazuje se však, že velkým rušivým vlivem pro tento přístup je vliv šumu vzniklého jednak principem této metody a dále pak krevním pozadím. Pokud by se nám podařilo tento šumový faktor také odhadnout, získali bychom tak čistší data pro analýzu a původní metoda by fungovala lépe. Postupem, který jsme zvolili, je parametrizovat jednotlivé křivky jako konvoluci dvou jiných křivek, konvoluce aktivity v krvi (společné pro všechny faktory) a pro každý faktor specifické monotóně klesající nezáporné křivky, což lépe fyziologicky odpovídá pohybu kontrastní látky v krvi. Tato parametrizace je navrhnuta a zabudována do původního modelu v kapitole 5. To pochopitelně vede k větší složitosti celého modelu, proto jsou odvozeny metody, jak zachovat strukturu původního výpočtu a udržet, pokud to jde, maticovou formu zápisu. Zároveň s tímto ovšem vyvstává další netriviální problém, kterým je určení správného apriorna, což je prozatím limitující faktor. 1
2 Úvod do scintigrafie Pokročilé elektronické systémy v kombinaci s radionuklidy umožňují znázornit prostorové rozložení radioaktivní látky v těle pacienta [4]. V této kapitole se zaměříme na diagnostickou metodu funkce (např. orgánů). Při vniknutí některých látek do organismu dochází k nahromadění těchto látek na konkrétních místech tkáně nebo orgánů, takže pokud by byla dotyčná látka označkována radionuklidem, můžeme toho využít k diagnostice. Měření probíhá typicky na živém organismu (měření in vivo) v relativně hluboko uložených orgánech, proto musí daný radionuklid vyzařovat dostatečně tvrdé záření gamma. Poté lze třírozměrnou distribuci radionuklidu v organismu transformovat na dvourozměrný obraz ve stupních šedi. Signálem při vyšetření je tedy elektromagnetické záření gamma, ostatní doprovodná záření jsou pro nás nežádoucí. 2.1 Radionuklidy Radionuklidem nazýváme prvek, jehož atomy mají schopnost se spontálně měnit na atomy jiných prvků (radioaktivní rozpad). Rychlost rozpadu různých prvků je různá, pro každý prvek je však konstantní. 2.1.1 Zákon rozpadu Počet rozpadlých jader za jednotku času je přímo úměrný počtu dosud nerozpadlých jader, tedy: dn dt = λn, (2.1) kde N je počet nerozpadlých jader a λ je rozpadová konstanta. Řešením této rovnice dostaneme tvar rozpadového zákona jako: N t = N 0 e λt, (2.2) kde N t je počet zbývajících (nerozpadlých) jader radionuklidu a N 0 je počet jader radionuklidu v čase t = 0. Poločasem rozpadu pak označíme dobu, za kterou se rozpadne právě polovina jader látky. 2.1.2 Statistický pohled Rozpad radionuklidu je spontální děj, má náhodný charakter. Počet vyzářených částic kolísá kolem určité hodnoty a má určitý rozptyl. Děj je popsán Poissonovým zákonem, pro velký 2
počet vyzářených částic (v praxi N > 50) lze od Poissonova rozdělení přejít ke Gaussovu normálnímu rozdělení. 2.1.3 Vliv pozadí Při detekci záření z radionuklidu si musíme také uvědomit další vlivy, které naše měření zkreslují. Nepříznivě ho ovlivňuje například radiace v měřící místnosti, kosmické záření, stopy radionuklidů na detektoru, okolní tkáň atd. Toho si při zpracování snímků vytvořených pomocí nukleární medicíny musíme být vědomi a neopomenout tuto skutečnost zahrnout do matematického modelu. 2.1.4 Požadavky na vlastnosti radionuklidů Z uvedeného je zřejmé, že použitelné pro náš účel budou jen některé radionuklidy se specifickými vlastnostmi, především: Poločas rozpadu musí být dostatečně dlouhý, aby byla látka aktivní během celé doby vyšetření, na druhé straně je zbytová radiace po ukončení vyšetření v organismu značně nežádoucí. Emise energie radionuklidu by se měly pohybovat pouze v užitečných hodnotách, obvykle v rozmezí 60keV až řádově jednotky M ev. Jakékoliv jiné záření si nepřejeme, protože zbytečně zvyšuje radiační zátěž pacienta. Orgán, který chceme vyšetřit, by měl selektivně zachycovat nosnou látku s radionuklidem. Toto zachycení v zájmové oblasti by mělo proběhnout co nejrychleji. Vzhledem k aplikovanému množství musí být zajištěna netoxičnost. 2.1.5 Některé používané radionuklidy Prvním radionuklidem užitým v klinické medicíně byl radiojód 131 J s poločasem rozpadu 8 dnů a energií γ 364keV. Jeho klíčový význam je především v diagnostice a léčbě štítné žlázy. Nejdůležitějším radionuklidem pro nukleární medicínu je technicium 99m Tc s poločasem rozpadu 6 hodin a energií γ 140keV. 99m Tc splňuje skoro všechny základní požadované vlastnosti pro scintigrafii a byl impulzem pro rozvoj nukleární medicíny. Díky krátkému poločasu rozpadu je možno aplikovat velkou dávku radiační zátěže a získat tak kvalitní snímky. Z 99m Tc navíc vzniká 99 Tc s poločasem rozpadu 2 10 5 let, takže jej lze považovat za prakticky stabilní. Energie záření je ideální pro clonění kolimátorem i pro detekci a snadno se získává ve formě aniontu technecistanu 99m TcO 4, který se dále dobře váže na biologické látky. Jako další lze uvést: thalium 201 Tl (perfuze myokardu), galium 67 Ga (scintigrafie nádorů a zánětlivých ložisek) a krypton 81m Kr (ventilační scintigrafie plic). 3
2.2 Scintigrafie Scintigrafie 1 je popsána v [5] takto: Scintigrafie je fyzikálně-elektronická metoda zobrazení distribuce radioindikátoru v organismu na základě zevní detekce vycházejícího záření gama. Do metabolismu či krevního oběhu aplikujeme chemickou látku, na které je navázán radionuklid (radiofarmakum). Ta se poté rozloží v organismu podle farmakokinetiky daného radiofarmaka. Jak moc se v daném místě látka koncentruje, záleží na mnoha faktorech, především na intenzitě metabolických a funkčních dějů v orgánech a tkáních. Scintigrafii můžeme rozdělit na dva druhy: Statická: danou oblast zájmu sejmeme jednou či několikrát z různých úhlů, nezáleží tedy na čase. Dynamická: pomocí radioindikátoru sledujeme děj v organismu v čase, děláme vlastně sekvenci statických snímků. To nám umožňuje dělat matematickou analýzu měření a sledovat funkce orgánů. Ještě poznamenejme, že nás bude v této práci zajímat především planární scintigrafie, tedy dvojrozměrné zobrazení (naproti tomu je tomografická scintigrafie, kde získáváme trojrozměrné zobrazení). 2.2.1 Scintilační kamera K popisu scintilační kamery opět užijeme [5]: Scintilační kamera je přístroj, který snímá fotony záření γ současně z celého zorného pole, převádí je na elektrické impulsy a pomocí nich pak na displeji vytváří scintigrafický obraz distribuce radioindikátoru v tomto zorném poli. Jedná se tedy o značně složité zařízení jak konstrukcí, tak principem. Naším úkolem není scintilační kameru dokonale popsat, spíše nám půjde o pochopení, jak funguje. Ve vyšetřovaném objektu se tedy pohybují radionuklidy, které izotropně vyzařují záření γ. Abychom zachytili částice letící pouze v jednom směru a získali tak dvourozměrnou projekci, vložíme záření do cesty olověnou desku (někdy wolframovou) s maticí otvorů. Ta odstíní částice, které nejdou přesně ve směru osy otvorů. Za olověnou maticí je pak velkoplošný scintilační krystal, který při dopadu fotonu vyvolá v daném místě záblesk, který je snímám a převedem na elektrický impulz ve fotonásobiči. Pro další zpracování je pak důležitá digitalizace scintigrafických snímků a jejich uložení do paměti počítače. 2.2.2 Oblasti zájmu Jedním ze základních kroků při analýze obrazových sekvencí vzniklých scintigrafií je definování tzv. oblastí zájmů (region of interest - ROI). Problém vysvětlíme na příkladu. Na obrázku 2.1 vidíme snímek dutiny břišní. My dokážeme pouhým pohledem rozlišit tři základní struktury, které se na obrázku nacházejí, konkrétně dvě ledviny a v horní části srdce. Počítač ovšem tyto struktury tak snadno nedetekuje, v klinické praxi jsou proto skoro vždy určovány uživatelem, tedy doktorem. 1 Přesněji spíše gamagrafie 4
Obrázek 2.1: Snímek dutiny břišní Problém s jakýmkoliv defaultním nastavením je ilustrován na obrázcích 2.2 a 2.3. Okřídlené tvrzení, že neexistují dva stejní lidé platí i v tomto případě. Pokud by šlo předpokládat, že rozmístění orgánů bude vždy stejné, mohli bychom je hledat v určitých typických oblastech (viz obr. 2.2). Jak však vidíme, v tomto případě jsou ledviny rozmístěny jinak a levá ledvina není ve své ROI zahrnuta celá, což by mohlo vést ke značně zkresleným výsledkům. Proto je nutno interakce s lékařem, který vyznačí ROI přesně dle konkrétního pacienta (obr. 2.3). Obrázek 2.2: Základní nastavení Obrázek 2.3: Konkrétní ROI Uvědomme si, že určování ROI je slabým článkem celého vyšetření, nebot interakce s uživatelem zanáší téměř vždy nepřesnost. Klasické motedy zpracování však ROI využívají 5
a jsou tedy do značné míry závislé na i zkušenostech a zručnosti obsluhy. 2.2.3 Scintigrafické vyšetření Názornou ukázku, jak scintigrafie probíhá, vidíme na obr. 2.4. Úkolem této práce je se věnovat části, která se zabývá matematickou analýzou obrazových sekvencí, které scintigrafická kamera produkuje. Obrázek 2.4: Schéma scintigrafického vyšetření (převzato z [5]) Na obr. 2.5 pak vidíme časový průběh vyšetření pomocí dynamické scintigrafie. 2.2.4 Výhody a nevýhody planární scintigrafie Hlavní nevýhodou je nedokonalé rozlišení, až o řád horší než např. u CT. Dalším problémem je superpozize orgánů, kdy dochází k součtu záření ze všech vrstev a tím může dojít ke zkreslení informace. Diskutován již byl i šum. Na druhou stranu nám scintigrafie umožňuje zkoumat procesy, ke kterým dochází v živých organismech, které nejsou jiné diagnostické techniky schopny rozpoznat. Ideální je pak hybridní zobrazení, které kombinuje metodu s vysokým rozlišením a scintigrafii, takže máme kvalitní obraz a přitom můžeme zachytit i probíhající procesy. 6
Obrázek 2.5: Časových průběh scintigrafického vyšetření (převzato z [6]) 7
3 Bayesovská teorie a aproximace V této kapitole se budeme věnovat matematickému aparátu, který pak budeme využívat v následujících kapitolách. Bude se jednat především o části z teorie pravděpodobnosti, které se vztahují k Bayesovské statistice. Ta nám v následujících kapitolách efektivně umožní zahrnutí informací jako: expertní informace předpoklad žádné apriorní informace do matematického modelu mnohem snáze, než pomocí klasické statistiky. Nejprve rozebereme základy Bayesovské statistiky a poté přejdeme k metodám aproximace, především Bayesovu variačnímu teorému. 3.1 Základy Bayesovské teorie Na začátku poznamenejme, že se budeme zabývat pouze spojitými a nikoliv diskrétními hustotami pravděpodobnotí, ty bychom dostali výměnou integrálů za sumy. Necht D jsou naměřená data a θ jsou parametry pravděpodobnostního modelu s apriorním rozdělením f(θ), θ Θ, kde Θ je prostor parametrů θ, které ovšem oproti klasické statistice budeme považovat za proměnné. Hustotu pravděpodobnosti D podmíněnou parametry θ pak zapíšeme jako f(d θ). Sdruženou hustotu pravděpodobnosti D a θ určíme jako f(d, θ) = f(θ, D) = f(d θ)f(θ). Uvědomme si také, že f(d) = f(d θ)f(θ)dθ. Informaci o parametrech θ, kterou můžeme z dat D získat, vyjádříme jako aposteriorní rozdělení Θ f(θ D). Tím se dostáváme k Bayesovu teorému, který tvar tohoto aposteriorního rozdělení určuje jako: f(θ D) = f(θ, D) f(d) = f(d θ)f(θ). (3.1) f(d θ)f(θ)dθ f(d) = f(d θ)f(θ)dθ představuje normalizační konstantu, Bayesův teorém pak lze přepsat Θ jako: Θ f(θ D) f(d θ)f(θ), (3.2) kde symbol značí výraz proporcionálně rovno, tzn. rovno až na konstantu. Výpočet momentů aposteriorního rozdělení, tj. předpokládaných hodnot funkcí g(θ), pak bude vypadat jako: E f(θ D) [g(θ)] = g(θ)f(θ D)dθ. (3.3) Θ 8
Pro E f(θ D) [g(θ)] budeme užívat notaci ĝ(θ), tedy 3.1.1 Volba apriorního rozdělení ĝ(θ) = E f(θ D) [g(θ)]. (3.4) Důležitým krokem je vhodná volba apriorního rozdělení, protože to pak zásadním způsobem ovlivňuje výpočet aposteriorního rozdělení. To je diskutováno např. v [2],[7]. Obecně platí, že pokud o datech předpokládáme, že nesou velkou míru informace, volíme většinou apriorní rozdělení, které nese minimální míru informace, čímž docílíme toho, že má malý vliv na aposteriorní rozdělení. To se tedy rekonstruuje především z dat a my do něj nevnášíme svoje předpoklady, které by nemusely být správné. V této práci budeme pracovat s rozděleními, která jsou analyticky rozumně řešitelná, především konjugovanými apriorny (např. [8]). Definice 1 Řekneme, že pravděpodobnostní funkce p je z rodiny exponenciálních rozdělení, pokud: p(x i, y i θ) = g(θ)f(x i, y i ) exp(φ(θ) u(x i, y i )), (3.5) kde φ(θ) je vektor parametrů a g(θ) je normalizační konstanta. Apriorní parametr je konjugovaný k pravděpodobnostní funkci p, pokud: p(θ η, ν) = h(η, ν)g(θ) η exp(g(θ) ν), (3.6) kde η a ν jsou hyperparametry apriorna a h(η, ν) je normalizační konstanta. 3.2 Řešení pomocí aproximace V této části se budeme věnovat hledání aposteriorního rozdělení (3.1), což se ukáže při podrobnější úvaze analyticky obecně prakticky nemožné. Pro jeho výpočet je nutno aplikovat Bayesův teorém, spočítat normalizační konstantu a jeho momenty, což lze jen pro úzkou třídu rozdělení. Použití numerického řešení by zde při vyšších dimenzích také nebylo příliš ideální. Jako vhodné řešení tohoto problému se ukazuje aproximace pomocí vhodné distribuce f(θ D) f(θ D), (3.7) kde pro f jsou výše uvedené operace známé nebo snadno dopočítatelné. V následujících kapitolách popíšeme důležité metody aproximace. 3.2.1 EM (expectation minimalization) algoritmus Tento algoritmus byl publikován v [9]. My použijeme jeho upravenou verzi, dle [10]. 9
Nejlepší aposteriorní odhad (MAP - maximum aposteriory) je definován jako: δ MAP (θ) = arg max f(θ D). (3.8) θ Θ Střední hodnota parametru θ odpovídá δ MAP (θ), můžeme tedy psát: δ MAP (θ) = θ = θf(θ D) dθ. (3.9) θ Θ Výpočet tohoto integrálu ovšem nemusí být, obzvláště pro vysoké dimenze, realizovatelný, proto musíme přistoupit k následující aproximaci. Předpokládejme například, že parametr θ má dvě dimenze, tedy: θ = [θ 1, θ 2 ]. Potom marginální rozdělení θ 1 aproximujeme jako f(θ 1 D) f(θ 1 D, θ 2 ), kde θ 2 je pevný konkrétní odhad získaný v předchozím kroku algoritmu. EM-algoritmus pak má tvar [11]: E-krok: f (i) (θ 1 ) f (θ 1 D, θ ) (i 1) 2 M-krok: θ 2 (i) = arg max θ 2 3.2.2 Laplaceova aproximace θ 1 f (i) (θ 1 ) ln f(d, θ 1, θ 2 )dθ 1. Laplaceova metoda je užitečná aproximace v případě, že pravděpodobnostní funkce f(d θ) se blíží k vrcholu blízko maxima θ, kde θ je MAP odhad δ MAP (θ). Potom dle [12],[13] má f(θ D) tvar normálního rozdělení se střední hodnotou θ a s kovarianční maticí H 1, tedy: f(θ D) N( θ, H 1 ), (3.10) kde H je Hessova matice (např. [14]) logaritmu f(d θ)f(θ): H = 2 log f(θ D) θ i θ j. (3.11) θ= θ b 3.2.3 Markov Chain Monte Carlo (MCMC) aproximace MCMC je strategie pro generování hodnot θ (i), které pokrývají prostor Θ s využitím Markovova řetězce, který zajistí, že řetěz tráví více času v důležitých oblastech pravděpodobnostního prostoru (viz [15]). Typické použití je právě počítání vícerozměrných integrálů. Sekvenci {θ (1),..., θ (i) } nazveme Markovovým řetězcem, pokud tedy pokud n-tý stav zavisí pouze na tom předchozím. Podle principu Monte Carlo pak I N (g) = 1 N f(θ (i) θ (i 1),..., θ (1) ) = f(θ (i) θ (i 1) ), (3.12) N g(θ (i) a.s. ) I(g) = g(θ)f(θ D) dθ. (3.13) N Θ i=1 Výpočetní náročnost je však relativně vysoká, obzvláště pro vysoké dimenze θ. 10
3.2.4 Variační Bayesova aproximace V této části se budeme zabývat aproximací pomocí Variačního Bayesova teorému. Této metodě věnujeme více prostoru než ostatním, protože ji budeme v následujících kapitolách hojně využívat. Čerpat přitom budeme především z [2], méně pak z [10] a [8]. Naší snahou bude vybrat optimální funkci f(θ D) F, kde F je prostor pravděpodobnostních funkcí, takovou, aby byla z konjugovaného systému funkcí, tzn. f(θ D) F( c, a přitom byla co nejblíže aposteriorní funkci f(θ D). Chceme tedy minimalizovat míru f(θ D) f(θ D) ), tzn. ( f(θ D) = arg min f(θ D) f(θ D) ). (3.14) f F c ( Jako ideální se jeví Kullback Leibler divergence (KLD) [16], tedy f(θ D) f(θ D) ) ( = KLD f(θ D) f(θ D) ), která je definována jako: ( KLD f(θ D) f(θ D) ) ( ) = f(θ D) log f(θ D) Θ f(θ D) dθ = E f(θ D) log f(θ D). (3.15) f(θ D) KL divergenci pro naše výpočty pomocí Variačního Bayese budeme definovat jako: ( ) KLD V B = KLD f(θ D) f(θ D). (3.16) Věta 2 (Variační Bayesův teorém) Necht f(θ D) je aposteriorní rozdělení vícerozměrného parametru θ = [ θ 1, θ 2,..., θ q]. Necht dále lze aproximační rozdělení f(θ D) lze rozepsat jako produkt vzájemně nezávislých rozdělení pro θ 1, θ 2,..., θ q, tzn.: f(θ D) = f(θ 1, θ 2,..., θ q D) = q i=1 f(θ i D). (3.17) Pak minimum KLD V B, tj. f(θ D) ( ) = arg min f(θ D) f(θ D), se nabývá pro f F c ) f(θ i D) exp (E f(θ/i D) [ln(f(θ, D))], (3.18) kde θ /i značí komplement θ i do θ a f(θ /i D) = q j=1,j i f(θ j D). Nazvěme f(θ D) VB aproximací a f(θ i D) VB marginálou. Algoritmus: (Iterační VB (IVB) algoritmus) Tento algoritmus ukážeme pro q = 2, tedy θ = [θ 1, θ 2], z kontextu bude ale zřejmé, že lze rozšířit pro libovolné q. Cyklická iterace následujících kroků monotónně snižuje KLD V B : V n té iteraci spočítáme VB marginálu f(θ 2 D) podle (3.18): ( ) f [n] (θ 2 D) exp f [n 1] (θ 1 D) ln f(θ 1, θ 2, D) dθ 1 Θ 1 (3.19) 11
S využitím předchozího výsledku spočítáme VB-marginálu f(θ 1 D) dle (3.18): ( ) f [n] (θ 1 D) exp f [n] (θ 2 D) ln f(θ 1, θ 2, D) dθ 2 Θ 2 (3.20) Inicializační hodnoty mohou být voleny poměrně volně, konvergence algoritmu byla dokázána v [17]. VB metoda Nyní zformujeme ucelený postup pro aplikaci VB teorému. Ten se bude skládat z osmi kroků, které se pokusíme podrobně popsat. Krok 1: (Výběr modelu) Nejprve musíme zkonstruovat Bayesovský model, tzn. sdružené rozdělení dat a parametrů. Tento krok zahrnuje apriorní předpoklady, jako je volba f(d θ) a apriorního rozdělení f(θ). Předpokládejme nyní, že marginální rozdělení jednotlivých parametrů nelze analyticky nalézt. Krok 2: (Oddělení parametrů) Musíme zjistit, zda lze jednotlivé parametry od sebe oddělit, tedy zda je možno přirozený logaritmus sdruženého rozdělení rozepsat jako rozdělení se separovanými parametry. Pro q = 2 např.: ln f(θ 1, θ 2, D) = f 1 (θ 1, D)f 2 (θ 2, D). (3.21) Lze-li tuto operaci provést, pak říkáme, že sdružené rozdělení f(θ, D) patří do rodiny funkcí separovatelných v parametrech. Zajistit tuto podmínku lze právě vhodnou volbou apriorna, což jsme již diskutovali v kapitole 3.1.1. Krok 3: (Zapsání VB-marginál) Vše jsme připravili na aplikaci VB teorému, konkrétně vzorce (3.18). Tím získáme VB-marginály pro θ 1,..., θ q, tedy f(θ 1 ),..., f(θ q ). Krok 4: (Identifikace standartních forem) V tomto kroku je naším úkolem identifikovat tvar VB-marginál jako formu některého standartního parametrického rozdělení, např: f(θ i D) f(θ i p 1,..., p ki ), (3.22) kde p 1,..., p ki jsou tvarovací parametry zmíněného standartního rozdělení. Tento krok může být poměrně komplikovaný a při nevhodné volbě apriorna i neřešitelný. Pak nezbývá než zvážit, zda jsme zvolili vhodné předpoklady nebo zda celý problém neřešit jinou metodou. Krok 5: (Formulace VB-momentů) Aby byla VB-aproximace kompletní, zbývá nám ještě formulovat takzvané VB-momenty, což jsou momenty parametrických rozdělení z předchozího kroku. Typicky jsou to funkce jejich tvarovacích parametrů a pokud jsou parametrická rozdělení klasická (známá), lze je vyhledat v tabulkách. 12
Krok 6: (Redukce rovnic) Tento krok není v této práci využíván a uvádíme ho s ohledem na kompletnost vzhledem k [2]. Jeho princip je takový, že se snažíme o maximální zjednodušení soustavy rovnic vzhledem k počítačové náročnosti. Krok 7: (IVB algoritmus) Pokud se soustava rovnic z kroku 4 a 5 nepodaří vyřešit analyticky (což by vedlo k zásadnímu urychlení výpočtu), pak máme k dispozici IVB algoritmus, který podle [17] konverguje ke skutečným VB-marginálám. Krok 8: (Vypsání VB-marginál) IVB algoritmus nám po dokončení, tzn. vhodném zastavení, dodá hledaná aposteriorní rozdělení. Tohoto postupu se budeme držet i v následujících kapitolách. 13
4 Funkcionální analýza obrazových sekvencí Funkcionální analýza je důležitá součást zpracování dat v lékařské diagnostice. Jejím hlavním přínosem je analýza fyziologických funkcí. Protože je k dispozici celá sekvence snímků, můžeme zkoumat chování orgánů v průběhu času a tím je lépe diagnostikovat. K tomu se obvykle používá kontrastní látka vyzařující částice, které snímá scintigrafická kamera. Díky předpokladům: snímaná tkáň se vzhledem ke scintigrafické kameře nehýbe orgány nemění svůj tvar během měření změna objemu kapaliny uvnitř orgánu je lineárně úměrná počtu vyzářovaných částic můžeme naměřená data modelovat jako lineární kombinaci jednotlivých orgánů (nebo jejich částí). Naším základním úkolem je pak zjistit tvar jednotlivých orgánů a průběh průtoku kontrastní látky v nich (viz obr. 4.1). V této kapitole sestrojíme a vyřešíme matematický model, výsledky pak otestujeme na cvičných datech. Hlavní inspirací při řešení tohoto problému nám bude především [2]. 4.1 Konstrukce modelu pro sekvenci snímků Naším úkolem bude analyzovat sekvenci n snímků pořízených v čase t = 1,..., n. Každý z pořízených obrázků se skládá z p pixelů, vznikne tedy p-dimenzionální vektor každého snímku. Protože máme celkem n snímků, bude mít matice pozorování tvar D R p n. Dále předpokládejme, že máme r faktorů (orgánů), které chceme detekovat. Každý snímek v sekvenci je pak tvořen lineární kombinací jednotlivých faktorů. Dá se předpokládat, že počet faktorů bude menší než počet snímků a zároveň počet snímků bude o hodně menší než počet pixelů každého snímku, máme tedy r < n p. Fyziologický model můžeme zapsat ve tvaru: D = AX + E, (4.1) kde A R p r, X R n r a E R p n. Schéma matic je vidět na obr. 4.2. Dále je třeba si uvědomit, že každý pixel matice D je počet dopadů částic na danou část scintigrafické kamery, což znamená, že matice D je nezáporná. Sloupce matice A interpretujeme jako jednotlivé orgány, proto je i A nezáporná. Je zřejmé, že totéž platí i pro matici X, jejíž sloupce reprezentují křivku každého orgánu. 14
Obrázek 4.1: Sekvence snímků a jejich analýza (převzato z [2]) V modelu (4.1) představuje matice D pozorovaná data, A a X jsou neznámé parametry a matice E je matice šumu, kde e i,j jsou i.i.d. 1 s neznámým parametrem ω 1 (variance) s maticovým rozdělením: f(e ω) = N E ( 0p,n, ω 1 I p I n ) (4.2) Modely 4.1 a 4.2 tak mohou být zapsány jako: f(d A, X, ω) = N D ( AX, ω 1 I p I n ). (4.3) Dále zvolíme Bayesovký model doplněním modelu (4.3) o apriorní rozdělení matic A a X a skalárního parametru ω: f(a Υ) = N A ( 0p,r, I p Υ 1), (4.4) 1 independent identically distributed... e i,j jsou nezávislé a stejně rozdělené 15
Obrázek 4.2: Tvar a symbolika matic (převzato z [2]) kde Υ = diag(v), v = [v 1,..., v r ] r f(v α 0, β 0 ) = G vi (α i,0, β i,0 ) (4.5) i=1 f(x) = N X (0 n,r, I n I r ) (4.6) f(ω ϑ 0, ρ 0 ) = G ω (ϑ 0, ρ 0 ). (4.7) α 0 a β 0 R r ; Υ R r r je diagonální matice s hyperparametry v i, ϑ 0 a ρ 0 jsou určené skalární parametry. Tím jsme detailně popsali krok 1, tedy vytvoření modelu, VB metody. 4.1.1 Poznámka k maticové dekompozici Zamysleme se ještě nad dekompozicí datové matice D, zjednodušeně bez šumu. Pro názornost si nejdříve vezměme dekompozici skalární. Mějme číslo d a hledejme jeho rozklad d = a x. Možností, jak tuto rovnost splnit, je pro pevné d a proměnné a a x nekonečně mnoho. Obdobný problém řešíme i pro matici D, která může mít tvar ale i D = AX, (4.8) D = A(T T 1 )X, (4.9) 16
kde matice T je kompatibilní k A a X. Vložením jednotkové matice I = T T 1 totiž opět splňujeme rovnici, ovšem dostáváme tak jiné tvary orgánů i křivek, nebot takže nové matice splňují rovnost D = A(T T 1 )X = (AT )(T 1 X ), (4.10) Ã = AT (4.11) X = T 1 X (4.12) D = Ã X. (4.13) Matici T nazýváme rotační maticí. Problém toho typu se objevuje často a je řešen např. v [18]. Základním úkolem je vybrat z nekonečně mnoha jedno nejpravděpodobnější rozdělení, které obecně splňuje všechny požadované podmínky. Pro jednorozměrný případ viz [2]. 4.2 VB metoda pro model (4.1) Krok 2 Spočteme sdružené rozdělení (4.3) - (4.7), tzn. f(d, A, X, ω, Υ α 0, β 0, ϑ 0, ρ 0, r), a najdeme jeho přirozený logaritmus: ln f(d, A, X, ω, Υ r) = pn 2 ln ω 1 2 ωtr ((D AX )(D AX ) ) + + p r ln v i 1 2 2 tr(υa A) 1 2 tr(xx )+ + i=1 r (α 0 1) ln v i + i=1 r β 0 v i + (ϑ 0 1) ln ω ρ 0 ω + γ, (4.14) kde γ představuje součet výrazů, které nezávisí na parametrech A, X, ω ani Υ. Tento výraz nyní splňuje podmínky Bayesova variačního teorému pro θ 1 = A, θ 2 = X, θ 3 = ω, θ 4 = Υ a patří tedy do rodiny funkcí separovatelných v parametrech (splňuje ln f(θ 1,..., θ q, D) = g 1 (θ 1, D)... g q (θ q, D)). i=1 17
Krok 3 Podle Bayesova variačního teorému (vzorec (3.18)) mají parametry A, X, ω a v následující VB-marginály: [ f(a D, r) exp 1 2 ωtr( 2A X D ) 1 2 tr(a( ω X X)A )) 1 ] 2 ωtr(a ΥA ) [ f(x D, r) exp 1 2 ωtr( 2ÂX D ) 1 2 tr(x( ωâ A)X )) 1 ] 2 ωtr(xx ) [ r ( p r f(v D, r) exp 2 + α i,0 1) ln v i (β i,0 + 12 ) ] (diag(â A)) i i=1 [ (pn ) f(ω D, r) exp 2 + ϑ 0 1 ln ω+ i=1 ω (ρ 0 + 12 (DD tr  X ) D D X + 1 ) ( ) ] 2 tr A X X Krok 4 Budeme předpokládat, že výše uvedené VB-marginály mají následující tvary: f(a D, r) = N A (µ A, I p Σ A ) (4.15) f(x D, r) = N X (µ X, I p Σ X ) (4.16) r f(v D, r) = G vi (α i, β i ) (4.17) i=1 f(ω D, r) = G ω (ϑ, ρ) (4.18) a postupně vyjádříme tvarovací parametry µ A, Σ A, µ X, Σ X, α, β, ϑ a ρ. Pro ilustraci předvedeme výpočet pro získání µ A a Σ A, pro ostatní parametry je postup obdobný. ( f(a D, r) = N A (µ A, I p Σ A ) exp 1 ) 2 tr[i 1 p (A µ A )(Σ 1 A ) (A µ A )] Nyní porovnáme kvadratické a lineární členy: A( ω X X)A + A ΥA = A(Σ 1 A ) A 2A XD ω = µa (Σ 1 A ) A 18
a s vědomím toho, že Σ A je symetrická matice, snadno vyjádříme µ A a Σ A. Celkově tedy dostáváme soustavu rovnic: ( Υ) 1 Σ A = ω X X + (4.19) µ A = ωd X ( Υ) 1 ω X X + (4.20) ( ) 1 Σ X = ωâ A + I r (4.21) ( ) 1 µ X = ωd  ωâ A + I r (4.22) Krok 5 α = α 0 + p 2 1 r,1 (4.23) β = β 0 + 1 ) ( 2 diag A (4.24) ϑ = ϑ 0 + np 2 ρ = ρ 0 + 1 ( 2 tr DD  X ) D D X + 1 ) ( 2 tr A X X (4.25) (4.26) Nyní nám ještě zbývá dopočítat VB-momenty jednotlivých distribucí. K tomu použijeme vzorce pro maticové normální rozdělení a pro gamma rozdělení z kapitol A.3 a A.5. Pomocí těchto vzorců nyní vyjádříme z (4.15) (4.18) momenty jako funkce tvarovacích parametrů:  =µ A  A =pσ A + µ Aµ A X =µ X X X =nσ X + µ Xµ X (4.27) v i = α i β i, i = 1,..., r ω = ϑ ρ (4.28) Krok 7 Dostáváme soustavu rovnic (4.19) (4.28), která je ovšem analyticky prakticky neřešitelná, obzvlášt použijeme-li později místo normálního rozdělení ořezané normální rozdělení, u kterého se nám v momentech začne vyskytovat error funkce. Proto jsme nuceni přistoupit k numerickému řešení pomocí IVB algoritmu: nastavíme vhodné inicializační hodnoty a v k-tém kroku iterace spočteme s využitím hodnot z (k 1)-kroku postupně: 19
Â, Â A, µ A, Σ A X, X X, µ X, Σ X α, β, ϑ, ρ ω, Υ. Tím získáváme odhad pro matice A a X. Krok 8 Tento je autorem proveden, demonstrován na příkladech a diskutován již v [3]. 20
5 Konvoluční parametrizace ve scintigrafii V této kapitole se budeme věnovat postupu, kterým matici křivek X z předchozí kapitoly rozložíme na konvoluční jádro a matici klesajících křivek odpovídajících jednotlivým faktorům. Tímto krokem chceme získat možnost lépe pracovat s jednotlivými křivkami a pokusit se tak odhadovat faktor reprezentující krevní pozadí. 5.1 Konstrukce modelu V článku [19] je modelována ledvina jako lineární, časově invariantní systém, který má na vstupu koncentraci radioaktivní tekutiny jakožto funkci času, na výstupu pak aktivitu dané ledviny, taktéž funkci času. Vstup pak můžeme modelovat jako konvoluci, což nám umožní přesněji pracovat s křivkami jednotlivých faktorů. Mějme tedy opět základní model tvaru D = AX, kde A R p r a X R n r. Matici X zde ovšem rozložíme dle uvedeného tvrzení po složkách jako a význam u τ,f je vyjádřen následovně: x t,f = t b t τ+1 u τ,f (5.1) τ=1 u τ,f = n w φ,f, (5.2) φ=τ což odpovídá obrázku 5.1. Poznamenejme, že hodnotu w n dodefinujeme jako w n = u n, ve smyslu obrázku. Vektor w zde tedy hraje roli přírůstků hodnot ve vektoru u. Vektor b, společný pro všechny faktory, je konvoluční jádro křivek. Je-li d t t-tý sloupec matice D, celý model má pak tvar d t = r a f x t,f = f=1 ( r r f=1 [ t a f f=1 τ=1 a f t b t τ+1 u τ,f = τ=1 b t τ+1 ]) n w φ,f, (5.3) φ=τ kde a i,j, b i, w i,j tn. Uvědomme si také, že a f je celý sloupec matice A a w i,j 0. Zavedli jsme tedy označení indexů: 21
Obrázek 5.1: schéma provázanosti matice U a W f...index, který jde po jednotlivých faktorech, t...časový index, τ...časový index, který jde od 1 do určitého t, φ...index nasčítávající přírůstky křivky od n po τ. 5.2 VB metoda pro nový model V této kapitole provedeme jednotlivé kroky VB metody s ohledem na změněný model a zavedenou parametrizaci. 5.2.1 Sestavení apriorna f(d A, X, σ) = N(AX, ω 1 I p I n ) (5.4) f(ω) = G ω (ϑ 0, ρ 0 ) (5.5) f(a Υ) = N(0 p,r, Υ 1 I p I r ) (5.6) f(υ) = G Υ (α 0, β 0 ) (5.7) f(b) = N(0 n, Σ (0) b ) (5.8) f(w ) = N(0 n,r, Σ (0) W Φ(0) W ) (5.9) Skalární parametr ω zde má roli přesnosti, obdobně parametr Υ, tyto nám pomáhají udržet správnou řádovou velikost našich odhadovaných matic 22
Místo matice X používáme v modelu vektor b a matici W, pomocí kterých můžeme X jednoznačně určit. Jejich kovarianční matice jsou Σ (0) b a Σ (0) W Φ(0) W. Tím ovšem měníme i apriorní kovarianci matice X, čehož následky jsou diskutovány v kapitole 5.2.7. 5.2.2 Převody sum na maticové násobení Nejprve budeme chtít maticově vyjádřit sumu x t,f = t τ=1 b t τ+1u τ,f, kde t = 1..n. To můžeme provést dvěma způsoby. u 1,f 0 0 b 1 t 1..n u 2,f u 1,f 0 b 2 x f = b t τ+1 u τ,f =.... (5.10)... τ=1 u t,f u t 1,f u 1,f b t nebo také x f = t 1..n τ=1 Vektor x f (jednoho faktoru) se dá vyjádřit jako: b 1 0 0 b 2 b 1 0 b t τ+1 u τ,f =...... b t b t 1 b 1 u 1,f u 2,f. u t,f (5.11) x f = [x 1,f x 2,f... x n,f ] = U f b = Bu f (5.12) Matice U f tedy vznikla z vektoru u f přeskládáním jeho prvků na diagonály této matice. f je index faktoru, těchto matic je tedy r. Obdobně matice B vznikla z vektoru b přeskládáním prvků na diagonály. Je však jen jedna, nebot i konvoluční jádro b je jedno pro celý model. Dále chceme vyjádřit matici U pomocí matice W. Zdůrazněme zde rozdíl mezi maticemi U a U f. Matici U f jsme popsali nyní, kdežto matice U = [u 1 u 2... u r ], obsahuje tedy všechny vektory u f a tedy existuje jednoznačný převod mezi maticemi U a W. Ten nalezneme následujícím způsobem. u 1,f 1 1... 1 1 w 1,f u 2,f. = 0 1... 1 1 w 2,f..... (5.13)... u n,f 0 0... 0 1 w n,f 1... 1 Matici..... označíme jako matici C. Pak tedy x f = Bu :,f = BCw :,f a matici U lze 0... 1 dokonce vyjádřit jako U = CW. Díky tomu se nám však podaří vyjádřit matici X jako X = BCW. (5.14) Tento výsledek nám umožní nadále počítat s maticí X jakožto s celkem, nikoliv pomocí sum, což povede k přehlednějším a efektivnějším zápisům v maticové formě. 23
5.2.3 Výpočet logaritmu sdruženého rozdělení Nyní provedeme krok 2 VB metody, totiž výpočet logaritmu sdruženého rozdělení ln f(d, ω, A, Υ, b, W ). Nejprve si připravíme jednotlivé distribuce, následně zlogaritmujeme a sečteme. f(d): Potom tedy: f(d A, X, ω) = N(AX, ω 1 I p I n ) = = (2π) pn 2 ω 1 I p n 2 In p 2 exp ( 1 ) 2 tr [ω(d AX )(D AX ) ] ln f(d A, X, ω) pn 2 ln ω 1 2 ωtr [DD 2AX D + AX XA ] (5.15) Výhodné pro nás bude vyjádření AX = r f=1 a :,fx f. Z tohoto poznatku budou vycházet další výpočty. Zároveň zavedeme označení, že a :,f (f-tý sloupec matice A) budeme značit pouze a f. Potom a AX = r a f x f = f=1 (AX ) = XA = r a f (U f b) = f=1 r U f ba f = f=1 Tím máme vše připravené k dalším výpočtům s ln f(d). f(ω): f(a): r a f (Bu f ) (5.16) f=1 r Bu f a f (5.17) f=1 f(ω) = G(ϑ 0, ρ 0 ) ω ϑ 0 1 e ωρ 0 (5.18) ln f(ω) (ϑ 0 1) ln ω ωρ 0 (5.19) f(υ): f(a Υ) = N(0 p,r, Υ 1 I p I r ) (5.20) ln f(a Υ) pr 2 ln Υ 1 2 Υtr(AA ) (5.21) f(υ) = G Υ (α 0, β 0 ) Υ α 0 1 e Υβ 0 (5.22) ln f(υ) (α 0 1) ln Υ Υβ 0 (5.23) 24
f(b): ( f(b) = N(0 n, Σ (0) b ) exp 1 ) 2 tr(b (Σ (0) b ) 1 b) (5.24) ln f(b) 1 2 tr(b (Σ (0) b ) 1 b) (5.25) f(w): f(w ) = N(0 n,r, Σ (0) W ( Φ(0) W ) exp 1 ) 2 tr((σ(0) W ) 1 W (Φ (0) W ) 1 W ) (5.26) ln f(w ) 1 2 tr((σ(0) W ) 1 W (Φ (0) W ) 1 W ) (5.27) Dohromady tedy: ln f(d, ω, A, Υ, b, W ) = pn 2 ln ω+ 1 2 ωtr [DD 2AX D + AX XA ] + +(ϑ 0 1) ln ω ωρ 0 + pr 2 ln Υ 1 2 Υtr(AA )+ +(α 0 1) ln Υ Υβ 0 1 2 tr(b (Σ (0) b ) 1 b) 1 2 tr((σ(0) W ) 1 W (Φ (0) W ) 1 W ) + γ, (5.28) kde γ představuje součet veličin, která nezávisí na parametrech sdruženého rozdělení. 5.2.4 VB-marginály Podle Bayesova variačního teorému vyjádříme VB-marginály, tedy provedeme krok 3 VB metody. Relativně vágně zde budeme nakládat s vyjadřováním matice X, resp. členů, ve kterých se X vyskytuje, což ovšem povede k lepší přehlednosti. Vždy ji totiž chceme rozložit na jiné prvky, podle toho, jak se nám to hodí pro pozdější vyjadřování tvarovacích parametrů. Vyjádření f(b D) tu je provedeno s předstihem, podrobně je rozebráno v následující podkapitole. 25
VB-marginály tedy jsou: [ f(a D) exp 1 2 ωtr( 2A X D ) 1 2 tr(a( ω X X)A )+ 1 2 Υtr(AA ] ) (5.29) [ f(b D) exp 1 r ( ( ) n 1 2 ωtr( 2 ) kû k+1,i D â :,i b ) 1 2 tr(b (Σ (0) ) 1 b)+ 1 2 ωtr [ b ( i,j=1 i=1 k=0 n 1 ( r â i a ) ] j k l(uk+1,j u l+1,i )) b] (5.30) k,l=0 [ f(w D) exp 1 2 ωtr( 2Â D BCW ) 1 2 ωtr(c B BCW Â AW )+ 1 ] 2 tr((σ(0) W ) 1 W (Φ (0) W ) 1 W ) (5.31) [ (pr ) ( f(υ D) exp 2 + α 0 1 ln Υ Υ β 0 + 1 )] 2 tr(â A) (5.32) [ ( pn ) f(ω D) exp 2 + ϑ 0 1 ln ω+ ( ω ρ 0 + 1 ] 2 tr(dd 2Â X D + Â A X X)). (5.33) b Vyjádřením marginály pro b V této kapitole zavedeme následující označení. Označení 3 k R n n nazveme matici definovanou následovně: ( k ) i,j = 1, pokud i j = k ( k ) i,j = 0 jinak. Lze říci, že matice k je tedy jednotková matice s diagonálou posunutou o k níže. Pro příklad uved me: 0 = I a např. pro n = 5 matice 2 vypadá následovně: 0 0 0 0 0 0 0 0 0 0 2 = 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 Následně můžeme nahlédnout, že i j = i+j. Zároveň si uvědomme, že pokud i + j n, pak i+j n je nulová matice. 26
Nyní se budeme chtít dobrat vyjádření výrazu tr(xa AX ) tak, abychom v něm byli schopni, po izolování b, vyjádřit ostatní odhady středních hodnot. Nedodržíme zde značení faktoru indexem f, nebot ho potřebujeme použít dvakrát, výhodnější tedy bude pracovat s i a j. Tuto stopu jde rozepsat jako ] [ ] [ r r r ] tr [XA AX = tr ( x :,i a :,i )( a :,j x :,j ) = tr x :,i (a :,i a :,j )x :,j = i=1 j=1 i,j=1 [ r ] [ r ] = tr (a :,i a :,j )U i bb U j = tr (a :,i a :,j )b U j U i b = = tr [ i,j=1 b ( i,j=1 ] r â :,i a :,jû j U )b i. (5.34) i,j=1 Pro úplnost ještě uved me i: ] ] [AX D [D AX tr = tr = tr [ D [ r ] = tr U i D â :,i b i=1 ] [ r a :,i x :,i = tr i=1 D ] r a :,i b U i = i=1 (5.35) Matice U f lze vyjádřit jako 1 0 0... 0 0 0... U f 0 1 0... = 0 0 1... u 1 0 0... 1,f + 0 1 0... u 2,f +... =............ n 1 = k u k+1,f (5.36) k=0 Z tohoto poznatku vyjdeme při rozepisování následujícího: r Û j U i = i,j=1 = r i,j=1 r i,j=1 ( n 1 ) n 1 ku k+1,j l u l+1,i = k=0 ( n 1 k,l=0 5.2.5 Identifikace standardních forem l=0 ) k l(uk+1,j u l+1,i ). (5.37) Nyní provedeme krok 4 VB-metody, identifikaci standardních forem a vyjádření tvarovacích parametrů. Všechny rovnosti jsou psány s ohledem na to, že se pohybujeme ve stopách. 27
Začneme vyjadřovat parametry: N A (µ A, I p Φ A ) exp [ 1 2 tr(i 1 p (A µ A )(Φ 1 A ) (A µ A ) ) (5.38) [ N A (µ A, I p Φ A ) exp 1 2 tr( 2 ωa X D ) 1 2 tr(a( ω X X)A )+ 1 ] 2 tr(a( ΥI r )A ) (5.39) a s vědomím toho, že Φ A je symetrická matice, můžeme psát: Φ A = ( ω X X + ΥI r ) 1 (5.40) µ A = ωd X( ω X X + ΥI r ) 1. (5.41) Pracujeme zde s odhady matice X, kterou nemáme jako základní veličinu. Jejich vyjádřeními se budeme zabývat v dalších kapitolách. Obdobně budeme postupovat u vektoru b: Σ b = ((Σ (0) b ) 1 + ω ( r â i a j i,j=1 n 1 k,l=0 r ( ( ) n 1 ) µ b = ωσ b kû k+1,i D â i i=1 k=0 Pro tvarovací parametry Υ a ω triviálně nahlédneme, že platí: α = α 0 + pr 2 ) k l(uk+1,j u l+1,i ) ) 1 (5.42) (5.43) (5.44) β = β 0 + 1 2 tr(âa ) (5.45) ϑ = ϑ 0 + pn 2 (5.46) ρ = ρ 0 + 1 2 tr(dd 2Â X D + ÂA XX ) (5.47) Tvarovací parametry W Pro matici W se nám nepodařilo udžet Kroneckerovskou formu zápisu, což nás nutí k následujícím úvahám. Rozdělíme VB-marginálu f(w D) na dvě části takto: [ f(w D) exp 1 2 ωtr( 2Â D BCW ) 1 ] 2 ωtr(c B BCW Â AW ) [ exp 1 ] 2 tr((σ(0) W ) 1 W (Φ (0) W ) 1 W ) (5.48) Z prvního členu tedy dostáváme rovnice: Σ 1 W W (Φ 1 W ) W = ( ωc B BC)W Â AW (5.49) Σ W Φ W = ( ωc B BC (Â A) ) 1, (5.50) 28
což znamená, že Σ W = ( ωc B BC) 1 (5.51) ( ). Φ W = (Â A) 1 (5.52) Pro střední hodnotu téhož členu platí (Φ 1 W ) (µ W ) Σ 1 W W = ωâ D BCW (5.53) (µ W ) = ω(φ W ) Â D BCΣ W (5.54) µ W = ω(σ W ) C B D ÂΦ W. (5.55) VB-marginálu f(w D) tedy můžeme zapsat jako součin dvou normálních rozdělení relevantních k prvnímu, resp. ke druhému, členu. f(w D) N(µ W, Σ W Φ W )N(0 n r, (Σ (0) W ) 1 (Φ (0) W ) 1 ) (5.56) Abychom mohli pokračovat v dalších úpravách, přejdeme k vektorovému zápisu této distribuce: f(vec(w ) D) N(vec(µ W ), Φ W Σ W )N(0 n r, (Φ (0) W ) 1 (Σ (0) W ) 1 ) Složením pak dostaneme distribuci tvaru N(vec(µ W ), ((Â A) ωc B BC) 1 ) N(vec(0 n r ), (Φ (0) W ) 1 (Σ (0) W ) 1 ). (5.57) f(vec(w ) D) N(µ vec(w ), Σ vec(w ) ), (5.58) jejíž tvarovací parametry vyjádříme jako: ( ) 1 Σ vec(w ) = (Â A) ωc B BC + (Φ (0) W ) 1 (Σ (0) W ) 1 (5.59) µ vec(w ) = Σ vec(w ) ((Â A) ωc B BC)vec( ω(σ W ) C B D ÂΦ W ). (5.60) S využitím symetričnosti kovariančních matic pak můžeme µ vec(w ) upravit následovně: ( ) 1(( µ vec(w ) = (Â A) ωc B BC + (Φ (0) W Σ(0) W ) 1 Â A) ωc B BC) ) vec (( 2 ω)( ωc B BC) 1 (C B D Â)((Â A) ) 1 = ( ) 1(( = ( 2 ω) (Â A) ωc B BC + (Φ (0) W Σ(0) W ) 1 Â A) ωc B BC) ((Â ) A) 1 ( ωc B BC) 1 vec(c B D Â) = ( ) 1(( = ( 2 ω) (Â A) ωc B BC + (Φ (0) W Σ(0) W ) 1 Â A) ωc B BC) ) 1vec ( (Â A ωc B BC ( Â D BC) ) ( = ( 2 ω) (Â A) ωc B BC + (Φ (0) W Σ(0) W ) 1 ) 1vec ( ( Â D BC) ). (5.61) 29
Nyní tedy již můžeme septat odvozené standartní formy, které jsme ve výpočtech identifikovali, a zároveň jejich tvarovací parametry. Standartní formy: Tvarovací parametry: f(a D) = N A (µ A, I p Φ A ) (5.62) f(b D) = N b (µ b, Σ b ) (5.63) f(vec(w ) D) = N vec(w ) (µ vec(w ), Σ vec(w ) ) (5.64) f(υ D) = G Υ (α, β) (5.65) f(ω D) = G ω (ϑ, ρ) (5.66) Φ A = ( ω X X + ΥI r ) 1 (5.67) µ A = ωd X( ω X X + ΥI r ) 1 (5.68) ( ) r n 1 Σ b = (Σ (0) b + ω â :,i a :,j k l(uk+1,j u l+1,i ) ) 1 (5.69) i,j=1 k,l=0 r ( ( ) n 1 ) µ b = ωσ b kû k+1,i D â :,i Σ vec(w ) = i=1 k=0 (Â A ( ωc B BC) + (Φ (0) W (5.70) Σ(0) W ) 1 ) 1 (5.71) ) 1vec µ vec(w ) = ω (Â A ( ωc B BC) + (Φ (0) W ( Σ(0) W ) 1 ( Â D BC) ) (5.72) α = α 0 + pr 2 (5.73) β = β 0 + 1 2 tr(â A) (5.74) ϑ = ϑ 0 + pn 2 (5.75) ρ = ρ 0 + 1 2 tr(dd 2Â X D ) + 1 2 tr(â A X X) (5.76) 5.2.6 Formulace VB-momentů V kroku 5 se zamyslíme nad vyjádřením používaných středních hodnot. Tento krok bude složitější než v kapitole 4.2, protože se náš model skládá z odvozených veličin, které jsou mnohdy kombinovány navzájem. Momenty pro U Naším hlavním úkolem ted bude spočítat skaláry û k+1,i a (uk+1,j u l+1,i ), použité ve výrazech pro parametry b. Vycházet můžeme z toho, že matice U je lineární transformací matice W 30
(U = CW ), jejíž střední hodnotu i kovarianční matici známe (ve vektorové podobě). Víme, že vec(w ) N(µ vec(w ), Σ vec(w ) ) a zároveň můžeme rozepsat U jako vec(u) = vec(cw ) = vec(cw I r ) = (I r C)vec(W ) (5.77) Důsledně zde musíme rozlišovat značení, totiž že matice U R n r je matice složená z vektorů u :,f, kdežto matice U f R n n jsou čtvercové matice příslušné k jednotlivým u :,f. vec(u) pak má rodělení Označme vec(u) = N((I r C)µ vec(w ), (I r C)Σ vec(w ) (I r C) ). (5.78) Hledané skaláry (uk+1,j u l+1,i ) získáme z výrazu E(vec(U)vec(U) ) = E( µ vec(u) = (I r C)µ vec(w ) (5.79) Σ vec(u) = (I r C)Σ vec(w ) (I r C). (5.80) u 1,1 u 2,1. u n,1 u 1,2. u n,2. u n,r ( ) u1,1 u 2,1... u n,1 u 1,2... u n,r ) = E(u 2 1,1) E(u 1,1 u 2,1 )... E(u 1,1 u n,1 ) E(u 1,1 u 1,2 )... E(u 1,1 u n,r ) E(u 2,1 u 1,1 ) E(u 2 2,1)... E(u 2,1 u n,1 ) E(u 2,1 u 1,2 )... E(u 2,1 u n,r )........... E(u n,1 u 1,1 ) E(u n,1 u 2,1 )... E(u 2 n,1) E(u n,1 u 1,2 )... E(u n,1 u n,r ) E(u 1,2 u 1,1 ) E(u 1,2 u 2,1 )... E(u 1,2 u n,1 ) E(u 2 1,2)... E(u 1,2 u n,r )........... E(u n,r u 1,1 ) E(u n,r u 2,1 )... E(u n,r u n,1 ) E(u n,r u 1,2 )... E(u 2 n,r) kde Σ vec(u) R nr nr a µ vec(u) R nr 1. Tedy = Σ vec(u) + µ vec(u) (µ vec(u) ), (5.81) (u k+1,j u l+1,i ) = Σ vec(u) (j 1)n+(k+1),(i 1)n+(l+1) + µvec(u) (j 1)n+(k+1) µvec(u) (i 1)n+(l+1). (5.82) Tím máme vyjádřeny všechny střední hodnoty kombinací prvků matice U. Moment û k+1,i vyjádříme jako û k+1,i = µ vec(u) (i 1)n+(k+1). (5.83) 31
Momenty pro B Obdobně by bylo dobré si připravit vyjádření pro další výrazy, které používáme. Nyní to budou B a B B. První výraz vyjádříme snadno jako n 1 B = k bk+1. (5.84) U střední hodnoty B B budeme postupovat obdobně jako v případě matic U i U j. Potom tedy B B = k=0 n 1 B = 0 b 1 + 1 b 2 + + n 1 b n = k b k+1 (5.85) ( n 1 ) ( n 1 ) k b k+1 l b l+1 = k=0 l=0 k=0 n 1 k,l=0 k l b k+1 b l+1. (5.86) Nyní chceme vyjádřit členy b i b j, které získáme z následujícího. Je-li b N(µ b, Σ b ), pak E(b 2 1) E(b 1 b 2 )... E(b 1 b n ) E(bb E(b 2 b 1 ) E(b 2 2)... E(b 2 b n ) ) =...... = Σ b + µ b µ b. (5.87) E(b n b 1 ) E(b n b 2 )... E(b 2 n) Z této matice pak již snadno vybereme kombinaci dvou hledaných prvků: Momenty pro X b k+1 b l+1 = (Σ b ) k+1,l+1 + (µ b ) k+1 (µ b ) l+1. (5.88) Vyjádření odhadu střední hodnoty X je triviální, nebot stačí použít vzorec X = BCŴ, (5.89) přičemž člen Ŵ získáme zpětným poskládáním výrazu µ vecw do matice o příslušných rozměrech. Pro střední hodnotu X X využijeme možnost vyjádřit X X jako W C B BCW. B B určit umíme z předchozího, tedy X X = W C B BCW. (5.90) Problém se redukoval na určení matice tvaru Ŵ ZW (kde Z je C B BC), přičemž známe Σ vec(w ). Problém budeme řešit algoritmicky. Tento algoritmus prochází jednotlivé bloky (n n) kovarianční matice Σ vec(w ) (nr nr), vezme jejich stopu a vynásobí ji naší maticí Z. Tím dostaneme hledanou matici (r r). 32
Ostatní momenty Dalsí momenty jsou již triviální, z kapitol A.3 a A.5 plyne: Â = µ A (5.91) Â A = tr(i p )Φ A + µ A µ A (5.92) ω = θ ρ (5.93) Υ = α β. (5.94) 5.2.7 Apriorno Zamysleme se nyní nad tím, jaké apriorno dáváme na f(x). Protože f(x) odvozujeme z f(b) a f(w ), není zcela triviální nahlédnout, jaké apriorní předpoklady tím vlastně matici X přisuzujeme. b i W mají střední hodnotu 0, tedy bude i střední hodnota X nulová. Zaměříme se proto pouze na varianci X. Již z předchozích úvah vyplývá, že X = BCW. B (odvozená z vektoru b) i W jsou proměnné, my však budeme pro jednoduchost počítat s maticí B jako s maticí zafixovanou. Pro získání představy o tvaru matice nám to bude stačit. Pak tedy: a Hledaný výsledek je vec(x) = vec(bcw I r ) = (I r BC)vec(W ) (5.95) vec(x) = N((I r BC)µ vec(w ), (I r BC)Σ vec(w ) (I r BC) ). (5.96) vec(x) (I = n 1 ) ( r ( k b (0) k+1 )C Σ (0) vec(w ) I r ( Σ (0) k=0 n 1 k=0 k b (0) k+1 )C ). (5.97) Dalším možným zdrojem problémů je předpoklad, že střední hodnota je nulová u všech odhadovaných veličin. U jednoduchého modelu metoda i přesto konvergovala ke správným hodnotám, zde tomu již tak pěkně není. 5.3 Simulace na syntetických datech Kromě nedořešených problémů s apriorním nastavením jednotlivých parametrů máme model vyřešený, podíváme se tedy nyní, jakým způsobem funguje na nagenerovaných datech. Protože ještě nemáme k dispozici správně naladěné apriorno, nemůžeme celou metodu demonstrovat obecně na reálném případu, kde nelze udělat některá zjednodušení, která jsou však pro nás prozatím potřebná. 33