České Vysoké Učení Technické v Praze Fakulta informačních technologíı May 26, 2016 D T DATA SCIENCE LABORATORY
Presentation Outline 1 2 3 4
Proč modelovat? Hlavní myšlenka: Rozdíly v chovaní zvířat jsou znatelné v příslušných modelech chování. Sledovaní změn v chovaní Porovnání chovaní jedinců
Odkud data pocházejí Poziční data Akce
Poziční data Chybějící hodnoty Šum
Poziční data Chybějící hodnoty Linear interpolation f L (x) = f (x 0 ) + b 1 (x x 0 ) b 1 = f (x 1) f (x 0 ) x 1 x 0
Poziční data Chybějící hodnoty Linear interpolation, f L Quadratic interpolation f Q (x) = f (x 0 ) + b 1 (x x 0 ) + b 2 (x x 0 )(x x 1 ) b 2 = f (x 2 ) f (x 1 ) x 2 x 1 f (x 1 ) f (x 0 ) x 1 x 0 x 2 x 0
Poziční data Chybějící hodnoty Linear interpolation, f L Quadratic interpolation, f Q Cubic interpolation f C = b 0 +b 1 (x x 0 )+b 2 (x x 0 )(x x 1 )+b 3 (x x 0 )(x x 1 )(x x 2 ) b 3 = f (x 3 ) f (x 2 ) x 3 x 2 f (x 2 ) f (x 1 ) x 2 x 1 f (x 1 ) f (x 0 ) x 1 x 0 x 3 x 0
Poziční data Chybějící hodnoty Linear interpolation, f L Quadratic interpolation, f Q Cubic interpolation, f C Kombinace f (x) = f L(x)+f Q (x) 2
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace y coordinate 1.5 1.0 0.5 0.0 0.5 1.0 1.5 2.0 data points linear interpolation quadratic interpolation combination of interpolations 0.0 0.5 1.0 1.5 2.0 2.5 3.0 x coordinate
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace 3.5 3.0 2.5 2.0 1.5 1.0 0.5 data points linear interpolation quadratic interpolation combination of interpolations 0.0 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace 1 0 1 2 3 data points linear interpolation quadratic interpolation combination of interpolations 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace 2.5 2.0 1.5 1.0 0.5 data points 0.0 linear interpolation quadratic interpolation combination of interpolations 0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace Filtrace šumu
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace Filtrace šumu Median filter
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace Filtrace šumu Median filter Moving average filter
Poziční data Chybějící hodnoty Linear interpolation Quadratic interpolation Cubic interpolation Kombinace Filtrace šumu Median filter Moving average filter Kalman filter
Kalman filter Proč Kalmanův filtr?
Kalman filter linárního systému Skrytý markovský model se spojitými stavy Initial conditions(x 0 ) Measurement(z k ) Predict step State estimate(x k ) Update step
Kalman filter Co je uvnitř? measurement(z) posterior(x t - 1) new estimate(xt) (posterior) x t = ẋt + Ky prior(ẋ t ) residual(y) y= z - ẋ t
Kalman filter
Kalman filter
Presentation Outline 1 2 3 4
Related work chovaní myší v labyrintu [1] s
Related work chovaní skotu [2] s
Related work chovaní skotu [2]
Related work chovaní lidí [3] Fuzzy Q-state learning + Agglomerative fuzzy clustering
Přístupy modelování sekvencí Dynamic Bayesian network
Přístupy modelování sekvencí Dynamic Bayesian network s
Přístupy modelování sekvencí Dynamic Bayesian network s Linear chain Conditional Random fields Yt-1 Yt Yt+1 Xt-1 Xt Xt+1
Přístupy modelování sekvencí Dynamic Bayesian network s Conditional Random fields LSTM RNN
Co je (HMM)? λ = (A, B, π)
Co je (HMM)? λ = (A, B, π)
Co je (HMM)? λ = (A, B, π) Množina skrytých stavů Y = {y 1, y 2,..., y N } a pozorovanych výstupů X = {x 1, x 2,..., x M }
Co je (HMM)? λ = (A, B, π) Množina skrytých stavů Y = {y 1, y 2,..., y N } a pozorovanych výstupů X = {x 1, x 2,..., x M } Sekvence stavů Q = q 1 q 2 q 3...q T a sekvence výstupů O = o 1 o 2 o 3...o T
Co je (HMM)? λ = (A, B, π) Množina skrytých stavů Y = {y 1, y 2,..., y N } a pozorovanych výstupů X = {x 1, x 2,..., x M } Sekvence stavů Q = q 1 q 2 q 3...q T a sekvence výstupů O = o 1 o 2 o 3...o T Pravděpodobnosti přechodů (transitions) A = {a ij } a ij = P(q t = y j q t 1 = y i ), 1 i, j N
Co je (HMM)? λ = (A, B, π) Množina skrytých stavů Y = {y 1, y 2,..., y N } a pozorovanych výstupů X = {x 1, x 2,..., x M } Sekvence stavů Q = q 1 q 2 q 3...q T a sekvence výstupů O = o 1 o 2 o 3...o T Pravděpodobnosti přechodů (transitions) A = {a ij } a ij = P(q t = y j q t 1 = y i ), 1 i, j N Pravděpodobnosti pozorovanych symbolů (emissions) B = {b i,j } b i,j = P(o t = x j q t = y i ), 1 i N, 1 i M
Co je (HMM)? λ = (A, B, π) Množina skrytých stavů Y = {y 1, y 2,..., y N } a pozorovanych výstupů X = {x 1, x 2,..., x M } Sekvence stavů Q = q 1 q 2 q 3...q T a sekvence výstupů O = o 1 o 2 o 3...o T Pravděpodobnosti přechodů (transitions) A = {a ij } a ij = P(q t = y j q t 1 = y i ), 1 i, j N Pravděpodobnosti pozorovanych symbolů (emissions) B = {b i,j } b i,j = P(o t = x j q t = y i ), 1 i N, 1 i M Pravděpodobnosti počátečních stavů π = {π i } π i = P(q 1 = y i ), 1 i N
Jak HMM použít? P(O, Q) - Trellis diagram q 1 q 2 q 3 q T o 1 o 2 o 3 o T
Jak HMM použít? P(O, Q) - Trellis diagram q 1 q 2 q 3 q T o 1 o 2 o 3 o T T P(o 1,..., o T, q 1,..., q T ) = P(q 1 )P(o 1 q 1 ) P(q k q k 1 )P(o k q k ) k=2 T P(o 1,..., o T, q 1,..., q T ) = π q1 b q1,o 1 a qk 1,q k b qk,o k k=2
Jak HMM použít? P(O, Q) - Trellis diagram q 1 q 2 q 3 q T o 1 o 2 o 3 o T T P(o 1,..., o T, q 1,..., q T ) = P(q 1 )P(o 1 q 1 ) P(q k q k 1 )P(o k q k ) k=2 T P(o 1,..., o T, q 1,..., q T ) = π q1 b q1,o 1 a qk 1,q k b qk,o k k=2 Vybavení modelu? Viterbiho algoritmus - arg max Q P(O, Q λ)
Jak HMM použít? P(O, Q) - Trellis diagram q 1 q 2 q 3 q T o 1 o 2 o 3 o T T P(o 1,..., o T, q 1,..., q T ) = P(q 1 )P(o 1 q 1 ) P(q k q k 1 )P(o k q k ) k=2 T P(o 1,..., o T, q 1,..., q T ) = π q1 b q1,o 1 a qk 1,q k b qk,o k k=2 Vybavení modelu? Viterbiho algoritmus - arg max Q P(O, Q λ) Učení modelu? EM algoritmus - arg max λ P(O, Q λ)
Presentation Outline 1 2 3 4
Existující algoritmy shlukové analýzy HMM Spektrální shlukování pomocí Bhattacharya divergence[4] Spektrální shlukování pomocí Kullback-Leiblerovy divergence[5] Variational hierarchical EM [6]
Existující algoritmy shlukové analýzy HMM Spektrální shlukování pomocí Bhattacharya divergence[4] Spektrální shlukování pomocí Kullback-Leiblerovy divergence[5] Variational hierarchical EM [6] V čem je problém?
Existující algoritmy shlukové analýzy HMM Spektrální shlukování pomocí Bhattacharya divergence[4] Spektrální shlukování pomocí Kullback-Leiblerovy divergence[5] Variational hierarchical EM [6] V čem je problém? Normálně rozdělené emissions!
Existující algoritmy shlukové analýzy HMM Spektrální shlukování pomocí Bhattacharya divergence[4] Spektrální shlukování pomocí Kullback-Leiblerovy divergence[5] Variational hierarchical EM [6] V čem je problém? Normálně rozdělené emissions! Jak z toho ven?
Existující algoritmy shlukové analýzy HMM Spektrální shlukování pomocí Bhattacharya divergence[4] Spektrální shlukování pomocí Kullback-Leiblerovy divergence[5] Variational hierarchical EM [6] V čem je problém? Normálně rozdělené emissions! Jak z toho ven? definovat vzdálenost jinak.
Euklidovská vzdálenost Euklidovská vzdálenost[7] Euklidovská vzdálenost mezi řádky matice B d ec (λ, λ 1 ) = N M N i=1 k=1 b ik b ik 2 Minimalizovaná Euklidovská vzdálenost d mec (λ, λ 1 ) = N N i=1 min M j k=1 b ik b jk 2 Pravděpodobnostní rozdělení B je z hlediska podobnosti dvou HMM nejvýznamější [8].
Statistická vzdálenost I Kullback-Leiblerova divergence[7] výpočetně náročné aproximace. 1 d KL (λ, λ ) = 1 P(O λ) O G(O) log P(O λ ) P(O λ)do 2 předpoklad: Q = Q = Q opt, si jsou podobné 3 d Vit (λ, λ ) = O 1 P(Qopt,O λ) G(O) log P(Q opt,o λ ) P(O λ)do 4 předpoklad: Markovský řetězec je ergodický 5 d Vit (λ, λ ) = 1 G(O) log P(Q l,o λ) P(Q l,o λ ) P(O λ) + ɛ
Statistická vzdálenost II 6 d Vit (λ, λ ) ɛ = 1 G(O) 1 G(O) T 1 t=1 ( log ayt,y t+1 log a y t,y t+1 T ( log byt,x t log b y ) t,x t t=1 7 Délka sekvence O je dostatečně dlouhá 8 d Vit (λ, λ ) δ Vit = ( a ij π i log aij log a ij) + i,j ( b ik π i log bij log b ij ) i,k ) +
Shlukování 1 Hierarchistické shlukování Linkage ze vzdálenostní matice (single, average, complete) 2 Spektrální shlukování podle Shi a Malik (2000) podle Ng, Jordan a Weiss (2002) Vytvoříme matici vzdáleností X Reprezentace této pomocí podobnostního grafu Similarity matrix W, w ij = e X ij 2 2σ 2 Degree matrix D, D i,i = j V w ij, D i,j;i j = 0
Spektrální shlukování - Shi and Malik 1 Výpočet vlastních čísel (D W )y = λdy 2 Pomocí druhého nejmenšího vlastního čísla rekurzivně děĺıme graf. Normalized minimum cut Minimum cut Minimum cut
Presentation Outline 1 2 3 4
Evaluace modelu Vizuální evaluace doménovým expertem Evaluace pomocí Viterbiho sekvence Label Acc. Mean Acc. Variance S1 93.45% 2.22 S2 99.76% 0.69 S3 93.94% 2.82 S4 94.83% 4.12 S5 85.73% 3.93 Přesnost 83.86% 4.76
distance shlukování Hierarchistické shlukování single linkage single linkage 1.2 1.15 1.1 1.05 1 0.95 0.9 0.85 0.8 1 6 2 13 20 10 28 19 25 11 18 3 30 4 12 17 29 14 8 26 7 23 27 24 21 16 9 22 15 5 cluster id
distance shlukování Hierarchistické shlukování Single linkage Avereage linkage 1.6 1.55 1.5 1.45 1.4 1.35 average linkage 13 6 1 3 9 27 5 7 2 15 14 20 22 19 25 28 23 10 30 11 26 4 21 29 8 12 18 24 17 16 cluster id
distance shlukování Hierarchistické shlukování Single linkage Average linkage Complete linkage 2.1 2 complete linkage 1.9 1.8 1.7 1.6 4 30 3 14 25 8 12 22 26 2 9 13 27 10 18 1 23 15 21 29 11 16 20 5 28 6 19 24 7 17 cluster id
shlukování Spektrální shlukování
I 1 MATETIĆ, Maja; RIBARIĆ, Slobodan; IPŠIĆ, Ivo. Qualitative modelling and analysis of animal behaviour. Applied Intelligence, 2004, 21.1: 25-44. 2 Y. Guo, G. Poulton, P. Corke, G.J. Bishop-Hurley, T. Wark, D.L. Swain, Using accelerometer, high sample rate GPS and magnetometer data to develop a cattle movement and behaviour model, Ecological ling, Volume 220, Issue 17, 10 September 2009, Pages 2068-2075, ISSN 0304-3800 3 LEE, Sang Wan; KIM, Yong Soo; BIEN, Zeungnam. A nonsupervised learning framework of human behavior patterns based on sequential actions. Knowledge and Data Engineering, IEEE Transactions on, 2010, 22.4: 479-492. 4 Tony Jebara, Yingbo Song, and Kapil Thadani. Spectral clustering and embedding with hidden Markov models. In Machine Learning: ECML 2007, pages 164 175. 2007
II 5 Shi Zhong and Joydeep Ghosh. A unified framework for model-based clustering. The Journal of Machine Learning Research, 4:1001 1037, 2003 6 COVIELLO, Emanuele; CHAN, Antoni B.; LANCKRIET, Gert RG. Clustering hidden Markov models with variational HEM. The Journal of Machine Learning Research, 2014, 15.1: 697-747. 7 FALKHAUSEN, Markus; REININGER, Herbert; WOLF, Dietrich. Calculation of distance measures between hidden Markov models. In: EUROSPEECH. 1995. 8 JUANG, Biing-Hwang Fred; RABINER, Lawrence R. A probabilistic distance measure for hidden Markov models. AT&T technical journal, 1985, 64.2: 391-408.
tomas.sabata@fit.cvut.cz Děkujeme za pozornost. tomas.borovicka@fit.cvut.cz