Isabel ¡Valera ¡ Utkarsh ¡Upadhyay ¡
MPI ¡for ¡So)ware ¡Systems ¡
MLSS ¡2016
¡
CADIZ
¡
MLSS 2016 Prac<cal Machine Learning for Networks - - PowerPoint PPT Presentation
MLSS 2016 Prac<cal Machine Learning for Networks Isabel Valera Utkarsh Upadhyay MPI for So)ware Systems MLSS 2016 C ADIZ GeEng ready 1. Install
MPI ¡for ¡So)ware ¡Systems ¡
MLSS ¡2016
¡
CADIZ
¡
2
import ¡cvxpy ¡as ¡CVX ¡ x ¡= ¡CVX.Variable(n) ¡ constraints ¡= ¡[ ¡ ¡ ¡f(x) ¡<= ¡0, ¡ ¡ ¡A ¡* ¡x ¡– ¡b ¡== ¡0 ¡ ] ¡ prob ¡= ¡CVX.Problem( ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ CVX.Minimize(f0(x)), ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡constraints) ¡ prob.solve() ¡ http://cvxr.com/cvx/download/
3
[Aalen ¡et ¡al., ¡Springer ¡2008] ¡ ¡
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡ 2011] ¡
4
NetRate ¡
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡2011] ¡
tj tk tl ti
Cascade ¡1 ¡ Cascade ¡N ¡ ti tl tj tk
i j k l
¡αji ¡αlk ¡αli
5
NetRate ¡
max{αji} ¡Σc ¡log ¡f({tj}c ¡; ¡{αji})
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡2011] ¡
tj tk tl ti
Cascade ¡1 ¡ Cascade ¡N ¡ ti tl tj tk
MLE ¡soluTon ¡
i j k l
¡αji ¡αlk ¡αli
6
NetRate ¡
max{αji} ¡Σc ¡log ¡f({tj}c ¡; ¡{αji})
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡2011] ¡
tj tk tl ti
Cascade ¡1 ¡ Cascade ¡N ¡ ti tl tj tk
MLE ¡soluTon ¡
i j k l
¡αji ¡αlk ¡αli
Exercise ¡1 ¡
7
9
[Aalen ¡et ¡al., ¡Springer ¡2008] ¡ ¡
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡ 2011] ¡
10
Ogata’s ¡algorithm ¡
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡2011] ¡
MLE ¡soluTon ¡
max
α,λ0 L(t1, . . . , tn)
Hawkes ¡process ¡
kα(t) = αe−w(t−ti) λ0
¡ ¡ ¡ ¡= ¡Base ¡intensity ¡ t1 t2 t3 t4
λ(t) = λ0 + X
i:ti∈H(t)
kα(t − ti)
11
Ogata’s ¡algorithm ¡
[Gomez ¡Rodriguez ¡et ¡al., ¡ICML ¡2011] ¡
MLE ¡soluTon ¡
max
α,λ0 L(t1, . . . , tn)
Hawkes ¡process ¡
kα(t) = αe−w(t−ti) λ0
¡ ¡ ¡ ¡= ¡Base ¡intensity ¡ Exercise ¡2 ¡ t1 t2 t3 t4
λ(t) = λ0 + X
i:ti∈H(t)
kα(t − ti)
12
[Ogata, ¡1981] ¡
1: Input: λ0, α and T 2: Initialize: n 1, λ⇤ λ0 Generate first event: 3: Generate q ⇠ U[0,1] and s 1
λ⇤ ln(q)
4: if s > T, then go to last step. 5: else Set t1 s and n n + 1, General subroutine: 6: while s < T do 7: Update λ⇤ λ(tn1) + α 8: Generate q ⇠ U[0,1] and s tn1
1 λ⇤ ln(q)
9: if s > T, then go to last step 10: else Rejection Test: Sample d ⇠ U[0,1] if d λ(s)
λ⇤ , then tn s and n n + 1
else update λ⇤ λ(s). end while 11: Output: Retrieve the events ({tn}) on [0, T]
−
13
[Ogata, ¡1981] ¡
1: Input: λ0, α and T 2: Initialize: n 1, λ⇤ λ0 Generate first event: 3: Generate q ⇠ U[0,1] and s 1
λ⇤ ln(q)
4: if s > T, then go to last step. 5: else Set t1 s and n n + 1, General subroutine: 6: while s < T do 7: Update λ⇤ λ(tn1) + α 8: Generate q ⇠ U[0,1] and s tn1
1 λ⇤ ln(q)
9: if s > T, then go to last step 10: else Rejection Test: Sample d ⇠ U[0,1] if d λ(s)
λ⇤ , then tn s and n n + 1
else update λ⇤ λ(s). end while 11: Output: Retrieve the events ({tn}) on [0, T]
−
λ(t) = λ0 + X
i:ti∈H(t)
kα(t − ti)
History up to but not including t.
14
Maximum ¡likelihood ¡ approach ¡to ¡find ¡ ¡ model ¡parameters! ¡
[Farajtabar ¡et ¡al., ¡NIPS ¡2014] ¡
max
α,λ0 L(t1, . . . , tn)
15
Paper: http://www.mpi-sws.org/~manuelgr/pubs/netrate-icml11.pdf Code: https://github.com/Networks-Learning/netrate
Slides: http://lamp.ecp.fr/MAS/fiQuant/ioane_files/HawkesCourseSlides.pdf Code: https://github.com/dunan/MultiVariatePointProcess
CVX:
Slides: http://web.stanford.edu/class/ee364a/lectures/cvx_tutorial.pdf Code: http://cvxr.com/cvx/download/