Bayesi tanulás. Kooperáció és gépi tanulás laboratórium (VIMIMB02) március 12. Elméleti alapok. Bayesi lineáris regresszió

Hasonló dokumentumok
A maximum likelihood becslésről

Kernel gépek vizsgálata

Least Squares becslés

KÖZELÍTŐ INFERENCIA II.

KÖZELÍTŐ INFERENCIA II.

Lineáris regressziós modellek 1

Biometria az orvosi gyakorlatban. Korrelációszámítás, regresszió

Line aris f uggv enyilleszt es m arcius 19.

Általánosan, bármilyen mérés annyit jelent, mint meghatározni, hányszor van meg

Konjugált gradiens módszer

Megoldások. ξ jelölje az első meghibásodásig eltelt időt. Akkor ξ N(6, 4; 2, 3) normális eloszlású P (ξ

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Inferencia valószínűségi modellekben

Biomatematika 12. Szent István Egyetem Állatorvos-tudományi Kar. Fodor János

egyenletesen, és c olyan színű golyót teszünk az urnába, amilyen színűt húztunk. Bizonyítsuk

1. Példa. A gamma függvény és a Fubini-tétel.

Lineáris algebra numerikus módszerei

Principal Component Analysis

Gauss-Seidel iteráció

Probabilisztikus modellek II: Inferencia. Nagy Dávid

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Abszolút folytonos valószín ségi változó (4. el adás)

Gyakorló feladatok I.

Mesterséges Intelligencia I.

15. LINEÁRIS EGYENLETRENDSZEREK

Saj at ert ek-probl em ak febru ar 26.

Diverzifikáció Markowitz-modell MAD modell CAPM modell 2017/ Szegedi Tudományegyetem Informatikai Intézet

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Loss Distribution Approach

Mesterséges Intelligencia MI

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

GROVER-algoritmus. Sinkovicz Péter. ELTE, MSc II dec.15.

Matematika A2 vizsga mgeoldása június 4.

e (t µ) 2 f (t) = 1 F (t) = 1 Normális eloszlás negyedik centrális momentuma:

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Feladatok a Gazdasági matematika II. tárgy gyakorlataihoz

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Kalkulus I. gyakorlat Fizika BSc I/1.

Legkisebb négyzetek módszere, Spline interpoláció

IBNR számítási módszerek áttekintése

Matematikai geodéziai számítások 5.

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Matematikai statisztika c. tárgy oktatásának célja és tematikája

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

BIOMATEMATIKA ELŐADÁS

Statisztikai módszerek a skálafüggetlen hálózatok

17. előadás: Vektorok a térben

Monte Carlo módszerek a statisztikus fizikában. Az Ising modell. 8. előadás

Többváltozós lineáris regressziós modell feltételeinek

Felügyelt önálló tanulás - Analízis III.

Matematikai geodéziai számítások 5.

Diszkrét Matematika. zöld könyv ): XIII. fejezet: 1583, 1587, 1588, 1590, Matematikai feladatgyűjtemény II. (

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Markov-láncok stacionárius eloszlása

Likelihood, deviancia, Akaike-féle információs kritérium

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Számítógépes döntéstámogatás. Statisztikai elemzés

Statisztika elméleti összefoglaló

Keresztmetszet másodrendű nyomatékainak meghatározása

Numerikus matematika vizsga

Matematikai geodéziai számítások 6.

Folyadékszcintillációs spektroszkópia jegyz könyv

GPK M1 (BME) Interpoláció / 16

Matematikai statisztika I. témakör: Valószínűségszámítási ismétlés

LINEÁRIS ALGEBRA. matematika alapszak. Euklideszi terek. SZTE Bolyai Intézet, őszi félév. Euklideszi terek LINEÁRIS ALGEBRA 1 / 40

January 16, ψ( r, t) ψ( r, t) = 1 (1) ( ψ ( r,

Biológiai rendszerek modellellenőrzése bayesi megközelítésben

Hipotézis STATISZTIKA. Kétmintás hipotézisek. Munkahipotézis (H a ) Tematika. Tudományos hipotézis. 1. Előadás. Hipotézisvizsgálatok

A L Hospital-szabály, elaszticitás, monotonitás, konvexitás

Hipotézis, sejtés STATISZTIKA. Kétmintás hipotézisek. Tudományos hipotézis. Munkahipotézis (H a ) Nullhipotézis (H 0 ) 11. Előadás

Gyakorló feladatok a kétváltozós regresszióhoz 2. Nemlineáris regresszió

A szimplex algoritmus

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

Nagy számok törvényei Statisztikai mintavétel Várható érték becslése. Dr. Berta Miklós Fizika és Kémia Tanszék Széchenyi István Egyetem

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

3. Lineáris differenciálegyenletek

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Vektorok, mátrixok, lineáris egyenletrendszerek

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Matematikai alapok és valószínőségszámítás. Statisztikai becslés Statisztikák eloszlása

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Irányításelmélet és technika II.

Numerikus matematika. Irodalom: Stoyan Gisbert, Numerikus matematika mérnököknek és programozóknak, Typotex, Lebegőpontos számok

ODE SOLVER-ek használata a MATLAB-ban

Adatok statisztikai értékelésének főbb lehetőségei

Feladatok az 5. hétre. Eredményekkel és teljesen kidolgozott megoldásokkal az 1,2,3.(a),(b),(c), 6.(a) feladatokra

Többváltozós lineáris regressziós modell feltételeinek tesztelése I.

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

[Biomatematika 2] Orvosi biometria

Egyenletek, egyenlőtlenségek VII.

Matematikai geodéziai számítások 10.

Az idegrendszeri memória modelljei

Matematikai geodéziai számítások 6.

Átírás:

Bayesi tanulás Kooperáció és gépi tanulás laboratórium (VIMIMB02) 2018. március 12. Elméleti alapok A mérés során a gépi tanulás bayesi megközelítésével fogunk megismerkedni. Az elméleti anyag egy része előadáson elhangzott, a többi megtalálható a hivatkozott irodalomban [1]; itt egy rövid áttekintést adunk. Bayesi lineáris regresszió A regresszió felügyelt tanulási feladat. Legyenek adottak a {x i, z i } P párok (tanítóhalmaz), ahol x i R d a minták leírásai, z i R pedig a mintákhoz tartozó valós értékek. Célunk, hogy a tanítóhalmaz alapján egy olyan modellt tanuljunk, amely képes további mintapontokra (teszthalmaz) értékeket jósolni. Az előző mérésen három megközelítést vázoltunk fel: 1. Generatív modellek. Modellezzük a p(x, z) együttes eloszlást, majd a Bayes-tétel segítségével számítsuk ki a p(z x, X, z) prediktív eloszlást, ahol {X, z} a teljes tanítóhalmaz, x pedig az új minta. 2. Diszkriminatív modellek. Modellezzük közvetlenül a p(z X) feltételes eloszlást, majd ebből számítsuk ki a prediktív eloszlást. Látható, hogy diszkriminatív és generatív modelleknél egy új mintánál nem csak pontbecslést kapunk, hanem egy eloszlást, amely felhasználható például bizonytalanságunk jellemzésére, hibakorlátok számítására is. 3. Diszkriminatív függvények. Keressünk olyan f F függvényt, amelyre f(x i ) z i. Ebben az esetben csak pontbecslést kapunk. A 2. és 3. esettel az előző mérésen, a Gauss-folyamatoknál és szupportvektor-regressziónál foglalkoztunk. Az 1. esethez modellezzük a x i minták és z i értékek közötti kapcsolatot egy normál zajjal terhelt lineáris összefüggéssel: azaz z i = w T x i + ε, ε N (ε 0, β 1 ), p(z i x i, w, β) = N (z i w T x i, β 1 ), vagy az összes változóra együttesen felírva (függetlenséget feltételezve egyszerű szorzással): p(z X, w, β) = P N (z i w T x i, β 1 ). 1

Ha itt megállunk, az ún. maximum likelihood (ML) megoldásra jutunk: keressük azt a w paraméterezést, amelyre a fenti valószínűség (likelihood) maximális más szóval, azt a w vektort, amelynél a legnagyobb valószínűséggel kapnánk az adott, ismert z értékeket. A gyakorlatban direkt maximalizálás helyett inkább a likelihood negatív logaritmusát minimalizáljuk, ami a logaritmusfüggvény szigorú monotonitása miatt ekvivalens probléma. Mivel az optimalizációt nem befolyásolják a konstans tagok, ezek szintén figyelmen kívül hagyhatók, így a normál eloszlás definíciója alapján ln p(z X, w, β) = P (z i w T x i ) 2 + const, tehát a negatív log-likelihood minimalizálásával lényegében a legkisebb négyzetek módszerét kaptuk vissza. Korábban láttuk, hogy ha nem teszünk semmilyen megszorítást w-re, ez a módszer hajlamos a túlilleszkedésre (az ML megoldásokra ez általában is igaz). Így a teljes bayesi megközelítés felé vezető úton a következő lépés egy paraméter-prior megadása, legyen ez most p(w α) = N (w 0, α 1 ), ahol α-t hiperparaméternek nevezzük. Ekkor a Bayes-tételt felhasználva w poszerior eloszlása: p(w z, X, α, β) p(z X, w, β)p(w α). Vegyük ismét a negatív logaritmust (mivel itt már két tag összege szerepel, a ML megoldással ellentétben a β tagot most nem hagyhatjuk el): ln p(w z, X, α, β) = β P (z i w T x i ) 2 + αw T w + const. Ennek a feladatnak a megoldását maximum a posteriori (MAP) becslésnek nevezzük; látható, hogy egybeesik az előző mérésen látott regularizált görbeillesztéssel λ = α/β regularizációs együtthatóval. Általában nem is w paraméter értékére van szükségünk, hanem egy új x mintához akarunk z értéket jósolni. Ehhez most felírjuk a prediktív eloszlást, azaz átlagolunk a w paraméter összes lehetséges értéke szerint, súlyozva annak poszterior valószínűségével: p(z x, X, z, α, β) = p(z x, w, β)p(w z, X, α, β)dw p(z x, w, β)p(z X, w, β)p(w α)dw A fenti eljárást nevezzük bayesi modellátlagolásnak is. Felmerül a kérdés: hol van a bevezetőben említett együttes eloszlás? Ha ugyanis valóban modelleznénk X-et is, akkor a következő likelihood-ot kellene felírnunk (1. ábra): p(x, z w, β, θ) a megfelelő p(w, β, θ) priorral. Tegyük fel, hogy p(w, β, θ) = p(w, β)p(θ), azaz θ független a többi paramétertől. Ekkor a posterior is faktorizálható: p(x, z w, β, θ) = p(x θ)p(z X, w, β). 2

θ m 0 S 0 X w z β 1. ábra. Bayesi lineáris regressziónak megfelelő Bayes-háló. A függőségi viszonyokat irányított élek jelzik. A w paraméterek becslése innentől megegyezik a fent leírtakkal: p(w z, X, α, β, θ) p(z X, w, β)p(w α), θ becslése pedig nem szükséges a korábbi függetlenségi feltevés miatt. Ebben az értelemben tehát minden teljes bayesi modell generatív. Láttuk tehát a lineáris regresszió teljes bayesi megközelítésének és az előző mérésen nézett regularizált görbeillesztéseknek a kapcsolatát. Nézzük most kicsit általánosabban, legyen a prior p(w m 0, S 0 ) = N (w m 0, S 0 ), és ismételjük meg a fentieket. Mivel először csak w a posteriori valószínűségére vagyunk kíváncsiak, minden konstans tagot (amelyben w nem szerepel) figyelmen kívül hagyhatunk, ezek a legvégén, a normalizálással automatikusan visszakerülnek tudjuk, hogy a sűrűségfüggvények integrálja 1 kell, hogy legyen. Ismét felírjuk tehát a negatív logaritmust a nem-konstans tagokra: ln p(w z, X, m 0, S 0, β) = ln p(z X, w, β) ln p(w m 0, S 0 ) + const [ P ] [ ] = ln N (z i w T x i, β 1 ) ln N (w m 0, S 0 ) + const = 1 P β ( ) z i w T 2 1 x i + 2 2 (w m 0) T S 1 0 (w m 0 ) + const ( = 1 2 wt β ) ( x i x T 1 i + S 0 w β ) T z i x i + S 1 0 m 0 w + const. i i 3

Ez w-ben kvadratikus kifejezés, így kiegészíthetjük teljes négyzetté: 1 2 wt Σ 1 w ϕ T w = 1 2 (w Σϕ)T Σ 1 (w Σϕ) + const, ahonnan a negatív logaritmust visszaalakítva (exponenciálist használva) és normalizálva megkapjuk, hogy p(w z, X, m 0, S 0, β) = N (w ψ, Σ), Σ 1 = βx T X + S 0 1, ψ = Σ(βX T z + S 0 1 m 0 ), ahol X a mintavektorokból képzett mátrix, z pedig az értékek vektora. Végül kiszámoljuk a p(z x, X, z, β, m 0, S 0 ) = p(z x, w, β)p(w z, X, m 0, S 0, β)dw prediktív eloszlást oly módon, hogy most a w-t és z-t tartalmazó kifejezéseket tartjuk meg: ( ) ln p(z x, w, β)p(w z, X, m 0, S 0, β) = β 2 (z wt x) 2 + 1 2 (w ψ)t Σ 1 (w ψ) + const = 1 2 wt ( βxx T + Σ 1) w ( βzx + Σ 1 ψ ) T w + β 2 z2 + const. A teljes négyzetté kiegészítésnél most minden tagot megtartunk: 1 2 wt S 1 w + ρ T w + β 2 z2 = 1 2 (w Sρ)T S 1 (w Sρ) + 1 2 (βz2 ρ T Sρ). Az exponenciális formára visszaalakítás után w-re normál eloszlást kapunk, és kihasználjuk, hogy ennek integrálja 1. A prediktív eloszlás tehát a következőképpen alakul: p(z x, X, z, β, m 0, S 0 ) = p(z x, w, β)p(w z, X, m 0, S 0, β)dw { = exp 1 } 2 (βz2 ρ T Sρ) N (w m, S)dw { = exp 1 } 2 (βz2 ρ T Sρ), ahol ρ = βzx + Σ 1 ψ, S 1 = βxx T + Σ 1. Végül a z-s tagok teljes négyzetté alakításával megmutatjuk, hogy ez is normál eloszlás: ln p(z x, X, z, β, m 0, S 0 ) = 1 2 (βz2 ρ T Sρ) = 1 2 ( β β 2 x T Sx ) z 2 ( βx T SΣ 1 ψ ) z + const, 4

így p(z x, X, z, β, m 0, S 0 ) = N (z µ, σ 2 ), σ 2 = (β(1 βx T Sx)) 1, µ = σ 2 βx T SΣ 1 ψ. Tehát megkaptuk a prediktív eloszlást, ezt azonban tovább egyszerűsíthetjük a Sherman Morrison formula felhasználásával, amely az inverz változását írja le 1-rangú mátrix hozzáadása esetén: (A + uv T ) 1 = A 1 A 1 uv T A 1 1 + v T A 1 u. Mivel S 1 éppen ilyen alakú mátrix, felhasználjuk a formulát: majd jobbról-balról beszorozva S = (βxx T + Σ 1 ) 1 = Σ βσxxt Σ 1 + βx T Σx, x T Sx = x T Σx βxt Σxx T Σx 1 + βx T Σx = xt Σx + β(x T Σx) 2 β(x T Σx) 2 1 + βx T Σx ahonnan βx T Sx = és végül σ 2 -t egyszerűbb alakra hozhatjuk: ( σ 2 = (β(1 βx T Sx)) 1 = Ezt behelyettesítve µ-t is átírhatjuk: βxt Σx 1 + βx T Σx = 1 1 1 + βx T Σx, β 1 + βx T Σx = ) 1 = 1 β + xt Σx. x T Σx 1 + βx T Σx µ = σ 2 βx T SΣ 1 ψ = x T SΣ 1 ψ + βx T Σxx T SΣ 1 ψ = x T ( SΣ 1 + βσxx T SΣ 1) ψ, viszont S-t kiemelve így tehát SΣ 1 + βσxx T SΣ 1 = S ( βxx T + Σ 1) = SS 1 = I, µ = x T ψ. Összefoglalva, a prediktív eloszlás a következő: p(z x, X, z, β, m 0, S 0 ) = N (z µ, σ 2 ), σ 2 = 1 β + xt Σx, µ = x T ψ, Σ = ( βx T X + S 0 1 ) 1, ψ = Σ(βX T z + S 0 1 m 0 ). 5

A fenti keretet könnyen kiterjeszthetjük a nemlineáris esetre is, ha a x i mintákra ún. bázisfüggvényeket alkalmazunk, azaz a x i φ n (x i ), n = 1,..., N. helyettesítésekkel élünk. Ilyen bázisfüggvény lehet például a Gauss-i radiális bázisfüggvény: φ n (x i ) = exp { γ(x i µ n ) 2}, ahol µ n az n. bázisfüggvény pozíciója, γ pedig a szélessége. Ekkor a bizonyítás menete lényegében változatlan marad, a prediktív eloszlás pedig a következőképpen módosul: p(z x, X, z, β, m 0, S 0 ) = N (z µ, σ 2 ), σ 2 = 1 β + φt Σφ, µ = φ T ψ, Σ = ( βφ T Φ + S 0 1 ) 1, ψ = Σ(βΦ T z + S 0 1 m 0 ), ahol φ = [φ 1 (x)... φ n (x)] T és Φ = φ 1 (x 1 ) φ 2 (x 1 ) φ n (x 1 ) φ 1 (x 2 ) φ 2 (x 2 ) φ n (x 2 )...... φ 1 (x P ) φ 2 (x P ) φ n (x P ). Következtetés Bayes-hálókban Gibbs-mintavételezéssel Bayes-hálókban való következtetésekre használhatunk egzakt és közelítő megoldásokat. A Markov Chain Monte Carlo (MCMC) módszerek az előbbire mutatnak példát; az a posteriori eloszlást iteratív mintavételezéssel közelítjük, amelyről megfelelő feltételek mellett megmutatható, hogy kellő ideig ismételve tetszőlegesen közel kerül a valódi eloszláshoz (aszimptotikusan egzakt). A Metropolis, Metropolis Hastings algoritmusról korábbi tanulmányaik során minden bizonnyal hallottak, a részletek megtalálhatók a hivatkozott irodalomban [1]. A Gibbs-mintavételezéshez vegyünk egy p(x) = p(x 1, x 2,..., x n ) együttes eloszlást és adjunk kiinduló értéket minden változónak. Minden lépésben ki kell választanunk egy x i változót, és mintavételeznünk a p(x i x \i ) = p(x i x 1, x 2,..., x i 1, x i+1,..., x n ) eloszlást. Az így kapott mintát (az új x i és a meglévő x \i együttesét) eltároljuk, majd kiválasztjuk a következő változót. Az egyes x i változók poszerior eloszlását a kapott minták hisztogramjával közelítjük; megmutatható, hogy ez aszimptotikusan közelíti a valódi poszteriort. A Gibbs-mintavételezést bemutatjuk egy konkrét példán. Legyen adott egy R R I J hiányos mátrix, amely I darab felhasználó J darab filmre adott értékeléseit tartalmazza. A célunk, hogy a hiányzó értékek prediktálásával a felhasználóknak várhatóan tetsző filmeket javasoljunk. Ehhez 6

1.0 0.5 z 0.0-0.5 0 25 50 75 100 x 2. ábra. Bayesi nemlineáris regresszió. A bázisfüggvények a 10, 20,..., 100 pontokon helyezkednek el. A mintákat fekete pontok, a várható értéket piros vonal, a szórást szürke sáv jelzi. keressük azokat az U R I L, V R J L teljes (!) mátrixokat, amelyeknek szorzata a lehető legjobban közelíti R meglévő értékeit: R U T V, ahol L az ún. látens faktorok száma. Általánosságban L rank(r), azaz alacsony rangú approximációt keresünk. R hiányzó értékeit a U T V szorzat alapján fogjuk jósolni. Használjunk bayesi megközelítést: R értékei legyenek függetlenek és β precizitású normál zajjal terheltek: p(r U, V, β) = I J [ N (Rij u T i v j, β 1 ) ] I ij, valamint legyen p(u α u ) = p(v α v ) = I J N (u i 0, αu 1 I), N (v j 0, αv 1 I), ahol u i és v j a megfelelő mátrix i. illetve j. oszlopa, valamint { 1, ha R ij létezik, I ij = 0, egyébként. A Gibbs-mintavételezéshez szükségünk lesz a feltételes eloszlásokra, így a korábban megismert stratégiát követjük: felírjuk az együttes eloszlás logaritmusát, kigyűjtjük a keresett tagokat, majd kiegészítjük teljes négyzetté, végül exponenciálist veszünk és normalizálunk. 7

α u α v U V R β 3. ábra. Valószínűségi mátrixfaktorizációnak megfelelő Bayes-háló. Nézzük az U-t tartalmazó tagokra: azaz ln p(u, V, R β, α u, α v ) I J = I ij ln N (R ij u T i v j, β 1 ) + = = = I ln N (u i 0, αu 1 I) + const I J 1 2 β(r ij u T i v j ) 2 I ij 1 I α u u T i Iu i + const 2 ( ) ( ) T I 1 J J 2 ut i β I ij v j vj T + α u I u i + β I ij R ij v j u i + const I 1 2 (u i Λ 1 i ϕ i ) T Λ i (u i Λ 1 i ϕ i ) + const, p(u R, V, α u, α v, β) = i Λ i = β N (u i ψ i, Λ 1 i ), J I ij v j vj T + α u I, ψ i = Λ 1 i β J I ij R ij v j. A V -re vonatkozó összefüggések ugyanígy származtathatók. A mintavételezés menete tehát a következő lesz: 1. Inicializáljuk U-t és V -t, feltöltjük I-t és R-t. 2. Felváltva mintavételezzük p(u R, V, β, α u, α v )-t és p(v R, U, β, α u, α v )-t. 3. A kapott mintákból kiszámítjuk a hisztogramot, amely a poszteriort közelíti. 8

90 600 60 400 30 200 0 0 6 8 10 12 6 8 10 12 4. ábra. Mátrixfaktorizáció 20 30 mátrix esetén, 5 látens faktorral. Az ábra az R 5,5 elemre kapott minták hisztogramját mutatja, a piros vonal a valódi értéket jelzi. A bal oldalon β = 1, a jobb oldalon β = 100 paramétert használtunk. A mérés során megoldandó feladatok Bayesi regresszió 1) Hozzon létre két mesterséges egydimenziós adathalmazt. Adathalmazonként száz minta elegendő; az egyiket származtassa egy normál zajjal terhelt lineáris kapcsolatból, a másik mutasson tetszőleges típusú nemlinearitást. A továbbiakban az egyszerűség kedvéért legyen S 0 = αi, m 0 = 0. 2) Hozza létre a bázisfüggvényeket oly módon, hogy a tartományon egyenletesen helyezkedjenek el. Például: location<-seq(0,100,10) phi<-function(x) exp(-width*(x-location)^2) ahol a bázisfüggvényt használtuk. 3) Hozza létre a Φ mátrixot: Φ = φ n (x i ) = exp { γ(x i µ n ) 2}, φ 1 (x 1 ) φ 2 (x 1 ) φ 11 (x 1 ) φ 1 (x 2 ) φ 2 (x 2 ) φ 11 (x 2 )...... φ 1 (x 100 ) φ 2 (x 100 ) φ 11 (x 100 ) 9.

4) Emlékeztetőül álljon itt a prediktív eloszlás: p(z x, X, z, β, m 0, S 0 ) = N (z µ, σ 2 ), σ 2 = 1 β + φt Σφ, µ = φ T ψ, Σ = ( βφ T Φ + S ) 1 1 0, ψ = Σ(βΦ T z + S 1 0 m 0 ), ahol φ = φ 1 (x). φ n (x). Hozza létre ezeknek megfelelően a Σ mátrixot és ψ vektort, valamint a σ 2 és µ függvényeket, amelyek az egyes mintákhoz a várható értéket és szórást adják vissza, pl. mu<-function(x) phi(x)%*%psi 5) Ábrázolja mindkét adathalmazon az illesztett görbét oly módon, hogy a tartományon alkalmas időközönként kirajzolja az átlagot és a szórást. Például: sx<-seq(0,100,0.1) pred<-sapply(sx,mu) #... ggplot() +... + geom_line(aes(x=sx,y=pred)) +... A 2. ábrán láthat erre példát. 6) Vizsgálja meg és dokumentálja az α, β és γ paraméterek hatását az illesztésre. 10

Gibbs-mintavételezés Ebben a feladatban az egyszerűség kedvéért a teljes R mátrixot fogjuk használni. A hiány kezelése elméletben triviális, gyakorlatban viszont ügyes indexelési sémát igényel, amitől most eltekintünk. 1) Hozzon létre egy 20 30 véletlen mátrixot, amely a bevezetőben említett R szerepét fogja játszani. Inicializálja az U és V mátrixokat is. I<-20 J<-30 L<-15 R<-matrix(runif(I*J,0,10),I,J) U<-matrix(0,I,L) V<-matrix(0,J,L) 2) Emlékeztetőül álljon itt U feltételes eloszlása a Gibbs-mintavételezéshez: p(u R, V, α u, α v, β) = i N (u i ψ i, Λ 1 i ), Λ i = β J v j vj T + α u I, ψ i = Λ 1 i β J R ij v j. A fenti összefüggések alapján implementálja U és V mintavételezését. Többváltozós normál eloszlásból való mintavételezéshez használja a MASS könyvtár mvrnorm() függvényét. Mátrixot invertálni a solve() függvénnyel lehet. Megjegyzés. Mátrixot direkt módon ritkán szoktunk invertálni; ennek kiszámítása és tárolása ugyanis számítás- és főleg memóriaigényes. A mátrix inverzére rendszerint nem önmagában van szükségünk, hanem egy másik vektorral megszorozva. Így az A 1 b szorzás elvégzése helyett megoldhatjuk az Ax = b lineáris rendszert x-re, ami ugyanazt az eredményt adja. Lineáris rendszerek megoldására igen hatékony algoritmusok állnak rendelkezésre, jól példa erre az ún. konjugált gradiens (CG) solver. Mivel az mvrnorm() függvény explicite igényli a preciziós mátrix inverzét (kovarianciamátrix), erre most nincs lehetőségünk. A gyakorlatban kénytelenek lennénk hatékonyabb implementáció után nézni (a Julia nyelv megfelelő csomagja például támogatja a kanonikus paraméterek használatát, amivel a direkt invertálás elkerülhető). 3) Az MCMC módszereket futtatás előtt célszerű bemelegíteni (burn-in), azaz egy ideig a mintákat eldobva futtatni, hogy kellően közel tudjanak kerülni a keresett eloszláshoz. Ennek megfelelően végezze az iterációt két lépésben: először egy rövidebb burn-in szakaszban, majd mintarögzítéssel. Először hozza létre a mintagyűjtéshez szükséges változókat: U_sum<-U # U atlagahoz V_sum<-V # V atlagahoz smp<-vector() # R egy tetszoleges elemenek hisztogramjahoz 11

5. ábra. Az R mátrix hőtérképe. Majd futtassa a Markov-láncot két szakaszban: # Burn-in for(iter in 1:burn_in) { #... U mintavetelezese... #... V mintavetelezese... } # Rogzites for(iter in 1:iters) { #... U mintavetelezese... U_sum<-U_sum+U #... V mintavetelezese... V_sum<-V_sum+V } smp<-append(smp,(u%*%t(v))[5,5]) U_avg<-U_sum/iters V_avg<-V_sum/iters 4) Ábrázolja az R és a számított UV T mátrixot, illetve a kettő különbségét hőtérképen. df<-as.data.frame(r) df[[j+1]]<-1:i dt<-melt(df,id.vars=j+1) names(dt)<-c("x","y","val") ggplot(dt,aes(x=x,y=y,fill=val)) + geom_tile() A közelítés hibáját adja meg a múlt órán megismert RMSE mérték szerint is: RMSE<-sqrt(mean((R-U_avg%*%t(V_avg))^2)) 5) Ábrázolja hisztogramon R tetszőleges eleméhez kapott mintákat. Erre a 3. ábrán láthat példát, ahol az (5, 5) elemet választottuk. 12

6) Vizsgálja meg a következő paraméterek hatását az eredményekre: Hivatkozások Precizitás (β). A Gauss-folyamatoknál megismert paraméterek közül melyikkel analóg ez? A faktorok paraméterei (α u, α v ). A regressziónál megismert paraméterek közül melyikkel analóg ez a kettő? Látens faktorok száma (L). A polinomiális görbeillesztésnél megismert paraméterek közül melyikkel analóg ez? Iterációk száma. [1] Christopher M. Bishop. Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag New York, Inc., Secaucus, NJ, USA, 2006. 13