1/363 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011
Az Előadások Témái 324/363 Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók / Keretrendszerek Játékok modellezése Bizonytalanság kezelése Fuzzy rendszerek Tanuló rendszerek Szimulált kifűtés, Genetikus algoritmusok A perceptron modell Neurális hálók, önszerveződés Gépi tanulás
Admin...... trívia http://www.cs.ubbcluj.ro/~csatol/mestint Vizsga Szóbeli (60%) + Gyakorlat (40%) Laborgyakorlatok: 1 Gráfok ábrázolása - dedukciós algoritmus 18% 2 Játékelmélet 10% 3 Matlab - tanulási algoritmus 12% 4 Opcionális feladatok - max. 3/személy sok% Bemutatók (5 20 pont) Alkalmazások bemutatása, melyek adaptív, gépi tanulásos vagy mestint módszereket alkalmaznak. 325/363
Példa Ágensek filmvásznon A Massive céggel a Gyűrük Ura trilógiában találkozhattunk 2001-ben. Az összes csatajelenet az ő programjukkal készült. Nem véletlen, hogy a tavalyi (2005) King Kong-ban statiszták helyett a Massive ágenseit használták. Aitia 326/363 Ágens portál Walter Bischof projektek Hangya-kolónia szimuláció egy kedvelt M.I. téma. A buta hangya-ágensek feromon nyomokat hagynak maguk után; ezek alapján mozognak. Nincs globális információ a környezetről: csak a feromon-nyomot követik. A kolónia intelligens viselkedést mutat: megtalálja a legrövidebb utat a fészek és az élelemforrás között.
327/363 Gépi tanulás Történelmi háttér / Motiváció: nagyon nagy mennyiségű adat, melyet szeretnénk automatikusan feldolgozni; A matematikai modellek általánosak nem egy adott feladatra vannak kiélezve, Szükség van esetenkénti tanulmányozására egy-egy feladattípusnak tudomány ág, mely a modelleket a feladatokhoz idomítja.
Gépi tanulás Meghatározás Gépi tanulás Módszerek statisztikai, valószínűségi gyűjteménye valós feladatok megoldására. Például: Zajszűrés: (nem )lineáris regresszió és (nem )normális zajt feltételezve; Osztályozás: bináris, több osztályos, illetve Részlegesen címkézett adatokra; Klaszterezés adatok csoportosítása, Függvényinverzió, Sűrűségbecslés, Kakukktojások felfedezése novelty detection. Szükséges az adatok modellezése. 328/363
329/363 Gépi tanulás Mitchell T. Mitchell: Machine Learning (), textbook... is concerned with the question of how to construct programs that automatically improve with experience. In recent years (1997) successful algorithms have been developed in data-mining fraud detection, filtering for user s preferences, vehicles that learn to drive on highways; advances in the theory and algorithms that form the foundations of tis field. Thomas Mitchell Tanuló rendszer olyan számítógépes program, melyek képességei a működés során javulnak.
330/363 f(x) Megfigyelés (x i, y i ) (x 1, y 1 ) (x 2, y 2 ) (x 1, y 1 ) Feltételezzük, hogy: Valahol : létezik a t = f(x) függvény, mely generál adatokat; A megfigyelt értékek zajosak: nem y = f(x)-et kapunk, hanem például: y n = t n + ɛ additív zaj y n = h(t n, ɛ) h módosító függvény Feladat: találjuk meg az y = f(x) függvényt.
331/363 Rejtett változós modellek I ^f(x) Inferencia f F (x 1, y 1 ) (x 2, y 2 ) (x 1, y 1 ) Szükséges: Adatok halmaza megfigyelés során gyűjtjük. Függvény osztály feltételezése. Lehet: K-ad fokú polinomok, Fourier polinomok, Wavelet-ek; A megfigyelési folyamat ismerete a zaj kódolása; Algoritmus a legmegfelelőbb függvény kiválasztására.
332/363 Rejtett változós modellek II Adottak: Adathalmaz D = {(x 1, y 1 ),..., (x N, y N )}. Függvényosztály (feltételezzük, hogy a megoldász megfelelő): (1) F = { w T x + b w R d, b R } (2) F = { a 0 + K a k sin(2πkx) + k=1 a, b R K, a 0 R } K b k cos(2πkx) k=1 A megfigyelési folyamat egy modellje: y n = f(x n ) + ɛ with ɛ N(0, σ 2 ).
333/363 Rejtett változós modellek III Általánosan: 1 Adatok: D = {(x 1, y 1 ),..., (x N, y N )}. 2 Függvényosztály: F = { f(x, θ) θ R p} 3 Megfigyelés definiáljuk a hibafüggvényt: L (y n, f(x n, θ)) Gauss-zaj esetén: L(y n, f(x n, θ)) = (y n f(x n, θ)) 2.
334/363 Paraméterbecslés Bevezető Paraméterbecslés Találjuk meg a θ paraméter-vektor optimális értékét. Optimalitás: θ = arg min L(D, θ) θ Ω ahol Ω a paraméterek értelmezési tartománya. L(D, θ) az adatokhoz rendelt hibafüggvény. Példa a hibafüggvényre Független megfigyelések esetén: N L(D, θ) = L(y n, f(x n, θ)) n=1 miért független?
Paraméterbecslés M.L. L(D, θ) (log)likelihood függvény. M.L. = maximum likelihood értékű θ: θ = arg min L(D, θ) θ Ω Példa legkisebb négyzetes hibával történő becslés: L(D, θ) = θ = arg min θ Ω N (y n f(x n, θ)) 2 n=1 N (y n f(x n, θ)) 2 n=1 335/363 Hátrány: Túl pontos illeszkedés over-fitting.
M.L. becslés Over-fitting 10 Training set Poly 4 Poly 3 Test set 5 0 5 10 5 0 5 10 336/363
337/363 Maximum a posteriori becslés becsléshez szükségünk van valószínűségekre: A D adathalmaz valószínűsége (log lik). θ paraméterhez az adatok által rendelt fgv: P(y n x n, θ, F) exp [ L(y n, f(x n, θ))] normálni is kell. A-priori előzetes valószínűség Milyen θ értékek a legvalószínűbbek ] p 0 (θ) exp [ θ 2 2 az adatok ismerete előtt specifikáljuk.
337/363 Maximum a posteriori becslés becsléshez szükségünk van valószínűségekre: A D adathalmaz valószínűsége (log lik). θ paraméterhez az adatok által rendelt fgv: P(y n x n, θ, F) exp [ L(y n, f(x n, θ))] normálni is kell. A-priori előzetes valószínűség Milyen θ értékek a legvalószínűbbek ] p 0 (θ) exp [ θ 2 2 az adatok ismerete előtt specifikáljuk.
338/363 II A becslés a fenti valószínűségek lik. & prior kombinálása. -szabály alkalmazása a θ és Dváltozókra: p(θ D, F) = P(D θ)p 0 (θ) p(d F) p(d F) = dθ P(D θ)p 0 (θ) ahol p(d F) az adatok teljes valószínűsége az adott F modellre. Ω P(θ D, F) minden θ értékhez egy valószínűség egyszerűsítés szükséges.
III M.A.P. becslés a legvalószínűbb θ megtalálása: θ = arg max p(θ D, F) θ Ω Példa: Az általános L(y n, f(x n, θ)) hibafüggvényt és Gauss-féle a-priori valószínűségre. A θ kiszámítása (exp-ben levő tagok): θ = arg max θ Ω K n L(y n, f(x n, θ)) θ 2 2σ 2 o 339/363 Ha σ 2 o a maximum likelihood módszer.. egy előjelcsere és max min helyettesítés után.
Példa 12 10 8 6 4 6 odfoku polinom Zaj var. =10 3 Zajmentes fgv. Tanulo adatok Zaj var. = 10 2 2 0 2 4 6 10 5 0 5 10 340/363
341/363 Paraméter becslések feltételes valószínűség szabálya: p(θ D, F) = P(D θ)p 0 (θ) p(d F) p(d F) = dθ P(D θ)p 0 (θ) és megpróbáljuk a teljes eloszlást tárolni. Ω Miért? Mivel nincs mindig képlet a poszt. eloszlásra, a p post (θ D, F) sűrűségfüggvényt közelítjük.
342/363 Statisztikák... szünet... Apróbetű: A statisztikák szerepe: Az adatok helyettesítése Feltételezzük, hogy létezik egy generátor, mely az adatokat létrehozta; Ismerjük a generátor alakját: (x i, y i ) = Γ(z i θ 1,..., θ k ). z i paraméterek, változók. θ = [θ 1,..., θ k ] T a modell paraméterei. Az elemzéshez a teljes adathalmazt helyettesítjük a megfelelő paraméterekkel. A predikcióhoz nem használjuk az adatokat, csak a kinyert paramétereket és a modellt.
343/363 becslés II becslés folyamán Foglalkozunk a poszterior-eloszlás közelítésével: ^p(θ) p post (θ D, F) egy új adat valószínűségével predikció: ^p(y x ) dθ ^p(θ)p(y x, θ) Teljes valószínűségnek a közelítésével: p(f D) = p(d F)p 0 (F) Ω A p(f D) használható elvileg két különböző modell összehasonlítására.
344/363 becslés közelítés ^p(θ) p post (θ D, F) A közelítés alapja egy divergencia: méri, hogy a közelítő eloszlás minőségét: ^p(θ) = argmin d ( p post (θ D, F), p(θ) ) p(θ) Ω A -becslések során fontos: milyen családban keressük az optimális eloszlást, milyen divergenciát használunk a távolságok mérésére. Gyakori a Kullback-Leibler divergencia.
345/363 Kullback Leibler... szünet... Gyakori a Kullback-Leibler divergencia: d KL (p 1 (θ) p 2 (θ)) = dθ p 1 (θ) log p 1(θ) p 2 (θ) Tulajdonságok: d KL (p 1 p 2 ) 0 Ω θ 0 = log ` dθp1 dθp 2 (θ) = log (θ) p 2(θ) p 1 (θ) alkalmazzuk a Jensen egyenlőtlenséget: 0 > dθp 1 (θ) log p 2(θ) p 1 (θ) 0 > d KL (p 1 p 2 ) d KL (p 1 p 2 ) = 0 p 1 (θ) = p 2 (θ) kivéve egy nulla-mértékű halmazt... d KL (p 1 p 2 ) d KL (p 2 p 1 ) Nem teljesül a háromszög-egyenlőtlenség. d KL (p 1 p 2 ) d KL (p 1 p 3 ) + d KL (p 3 p 2 ) következő
Jensen egyenlőtlenség... szünet II... Jensen egyenlőtlenség Legyen f(x) egy konvex függvény az [a, b] intervallumon. Ekkor λ [0, 1] f(λa + (1 λ)b) λf(a) + (1 λ)f(b) ax 2 + bx + c A logaritmus: függvény konkáv, tehát: b = 2.5 λ = 0.4 a = 0 log(λa + (1 λ)b) λ log(a) + (1 λ) log(b) ahol a, b > 0. Sok együtthatóra:! log π i a i i «log dθp(θ) f(θ) i π i log(a i ) ahol π i = 1 és π i 0. i dθp(θ) log (f(θ)) ahol f(θ) > 0. 346/363 vissza
347/363 becslés közelítés Példa közelítésre: {» Ω = exp 1 2 (θ µ θ) T Σ 1 θ (θ µ θ ) ahol Σ egy pozitív-definit mátrix. µ θ R d, Σ R d } Paraméter optimizálás lépései: A p post (θ D, F) a-posteriori eloszlás és az Ω eloszláscsalád meghatározása; d KL ( ppost (θ) p(θ µ, Σ) ) kiszámítása (µ, Σ) vált.; (^µ, ^Σ) meghatározása: ( (^µ, ^Σ) argmin d KL ppost (θ) p(θ µ, Σ) ) p Ω
348/363 becslés predikció Feltételezzük, hogy meghatároztuk a legjobban közelítő ^p(θ) eloszlást. ismerjük a bemenet kimenet összefüggéseket: a P(y x, θ) felt. valószínűséget. Predikció: Adott bemenetre mi lesz a kimeneti értékek eloszlása? Ha P(y x, θ) eloszlás az y szerint, akkor a prediktív disztribúció: p(y x, D) = dθ^p(θ D) P(y x, θ) Ω θ
349/363 predikció predikció II Prediktív disztribúció: p(y x, D) = Ω θ dθ^p(θ D) P(y x, θ) A Gyakorlatban: fontos a modell választása: ha M a modell-család, akkor minden valószínűség függ az M-től: ^p(θ D) def = ^p(θ D, M) A p post (θ)-hoz hasonlóan a prediktív eloszlás sem írható fel analitikusan: közelítések szükségesek. A prediktív eloszlást általában a ^p(θ)-hoz hasonló módszerekkel keressük.
illetve... 350/363 modellek Példa Függvénycsalád: legyen az { 6 (6 ) } F = f(x) def = θ k α k x k θ k N(0, 1), α k = k ahol θ = [θ 1,..., θ 6 ] T a függvény paraméterei. Ekkor átlagban: 6 f(x) θ0,...,θ 6 = θ k α k x θ0 k =,...,θ6 = 6 0α k x k = 0
illetve... 350/363 modellek Példa Függvénycsalád: legyen az { 6 (6 ) } F = f(x) def = θ k α k x k θ k N(0, 1), α k = k ahol θ = [θ 1,..., θ 6 ] T a függvény paraméterei. Ekkor átlagban: 6 f(x) θ0,...,θ 6 = θ k α k x θ0 k =,...,θ6 = 6 0α k x k = 0
351/363 modellek Példa II ( 6 ) ( 6 ) f(x 1 )f(x 2 ) a0,...,a 6 = θ k α k x k 1 θ k α k x k 2 = 6 1α 2 k xk 1 xk 2 = = (1 + x 1 x 2 ) 6 6 ( ) 6 (x 1 x 2 ) k k F tehát egy függvényosztály, melynek átlaga 0 és szórása fent látható.... Feladat: Közelítsünk a modell segítségével.
351/363 modellek Példa II ( 6 ) ( 6 ) f(x 1 )f(x 2 ) a0,...,a 6 = θ k α k x k 1 θ k α k x k 2 = 6 1α 2 k xk 1 xk 2 = = (1 + x 1 x 2 ) 6 6 ( ) 6 (x 1 x 2 ) k k F tehát egy függvényosztály, melynek átlaga 0 és szórása fent látható.... Feladat: Közelítsünk a modell segítségével.
351/363 modellek Példa II ( 6 ) ( 6 ) f(x 1 )f(x 2 ) a0,...,a 6 = θ k α k x k 1 θ k α k x k 2 = 6 1α 2 k xk 1 xk 2 = = (1 + x 1 x 2 ) 6 6 ( ) 6 (x 1 x 2 ) k k F tehát egy függvényosztály, melynek átlaga 0 és szórása fent látható.... Feladat: Közelítsünk a modell segítségével.
351/363 modellek Példa II ( 6 ) ( 6 ) f(x 1 )f(x 2 ) a0,...,a 6 = θ k α k x k 1 θ k α k x k 2 = 6 1α 2 k xk 1 xk 2 = = (1 + x 1 x 2 ) 6 6 ( ) 6 (x 1 x 2 ) k k F tehát egy függvényosztály, melynek átlaga 0 és szórása fent látható.... Feladat: Közelítsünk a modell segítségével.
352/363 példa Zaj Szükséges a zaj ismerete; Feltételezzük, hogy az Gauss eloszlású, tehát: P(y f(x, θ), σ o ) = 1 ] (y f(x))2 exp [ 2π 2σ 2 o ahol σ n a zaj (noise) szórása. Az adatok: D = {(x 1, y 1 ),..., (x N, y N )} Feltételes valószínűségük: N P(D θ, σ o ) = P(y n f(x n, θ), σ n ) n=1
példa a post I A posteriori eloszlás: p post (θ D, σ o ) = P(D θ, σ o ) p 0 (θ) dθ P(D θ, σo )p 0 (θ) ahol p 0 (θ) a változók feltételezett a priori eloszlása. Megjegyzések: Normál a priori eloszlás esetén: log p 0 (θ) θ 2 2σ 2 p 353/363 azaz regularizációs megkötés a paramétereken. A modell a paraméterekben lineáris gaussz-eloszlás lesz az eredmény is. a jobb oldalon eloszlás van, a nevező normalizáló annak értékét nem kell kiszámítani.
354/363 példa a post II 2 log p post(θ D, σ o) = log p(d M) + ahol log p(d M) a normalizáló konstans. Jelölések: N (y n f(x n θ)) 2 n=1 σ 2 n + θ 2 σ 2 p ^x def = [x 0, x 1,..., x 6 ] T. f(x n θ) def = θ T x n θ 2 = θ T θ 2 3 2 y 1 x 1 0... x 6 3 1 6 y = 7 6 4. 5 X = 4..... 7.. 5 y N x 0 N... x 6 N A fenti jelölésekkel az összeg szorzattá alakul. Csoportosítva: θ T X T X σ 2 n + I «7 θ y T Xθ + K σ 2 1 p
355/363 példa a post III θ T X T X σ 2 n + I «7 θ y T Xθ +K σ 2 1 p θ T Aθ b T Aθ +K 1 ahol A def = XT X + I 7 ; b def σ 2 n σ 2 = A 1 X T y p A log p post(θ D, σ o) tehát tartalmaz egy teljes négyzetet és egy konstanst. Mivel a teljes négyzet Gaussz-eloszlást jelent, a konstans értékét ismerjük. Az eredmény: log p post(θ D, σ o) = N θ b, A 1
példa Rajz Pol. 6 N.var σ 2 = 1 10 5 0 5 10 5 0 5 10 356/363
357/363 Összefoglaló Max Lik. becslésnél: nincs a priori eloszlás, a becslés esetenként rossz. M.A.P. becslésnél: eloszlásokról beszélünk, azonban a becslés eredménye nem valószínűségi, hanem egy érték. becslésnél: a becslés eredménye egy valószínűségi eloszlás.
Grafikus Modellek Példa A paraméterek függőségi gráfja a regressziós példánál. Lényeges, hogy a nem a θ paramétert becsüljük; hanem a p(θ) eloszlás paramétereit, = jelen esetben ezek µ és σ. µ σ θ y n D x n et akkor használunk, ha egy modell egyes paramétereit megfigyeljük pl. (x n, y n ) másokra meg következtetni kell. A következtetés alapja a megfigyelések és a modell. 358/363
359/363 Grafikus Modellek. h 11 h 1d1 h l1 h ldl hiperparaméterek θ 1 θ l paraméterek y n x n adatok D