Ac#ve ¡Learning ¡and ¡Search ¡
- n ¡Low-‑Rank ¡Matrices ¡
Dougal ¡J. ¡Sutherland ¡
with ¡Barnabás ¡Póczos ¡and ¡Jeff ¡Schneider ¡
Ac#ve Learning and Search on Low-Rank Matrices Dougal J. - - PowerPoint PPT Presentation
Ac#ve Learning and Search on Low-Rank Matrices Dougal J. Sutherland with Barnabs Pczos and Jeff Schneider Collabora#ve predic#on NeHlix problem:
Dougal ¡J. ¡Sutherland ¡
with ¡Barnabás ¡Póczos ¡and ¡Jeff ¡Schneider ¡
will ¡like ¡movies? ¡
about ¡similar ¡items ¡
User ¡latent ¡factors ¡U Ra#ngs ¡matrix ¡ R Item ¡latent ¡factors ¡ V T Alice ¡ Bob ¡ Carlos ¡ 2 ¡ 3 ¡ 3 ¡ 5 ¡ 2 ¡ 5 ¡ 3 ¡ 5 ¡ 4 ¡ 3 ¡ 0.1 ¡ 2.5 ¡ 3.6 ¡ 1.1 ¡ 0.4 ¡ 4.7 ¡ Alice ¡ Bob ¡ Carlos ¡ 0.1 ¡ 0.0 ¡ 0.6 ¡ 0.5 ¡ 0.5 ¡ 1.1 ¡ 0.8 ¡ 1.2 ¡ 1.9 ¡ 0.6 ¡ 2 ¡ 5 ¡ 5 ¡ 5 ¡ 4 ¡
Erikkson ¡& ¡van ¡den ¡Hengel, ¡CVPR ¡2010 ¡ Adams, ¡Dahl, ¡& ¡Murray, ¡UAI ¡2010 ¡
In ¡prac#ce, ¡we ¡rarely ¡have ¡a ¡fixed ¡training ¡set. ¡ Some#mes ¡we ¡can ¡choose ¡to ¡query ¡specific ¡points; ¡we ¡ want ¡the ¡algorithm ¡to ¡tell ¡us ¡which ¡ones ¡to ¡try. ¡
Par#ally ¡
input ¡ Imputed ¡ complete ¡ matrix ¡ Point ¡to ¡query ¡
RO ˆ R
Predic'on: ¡minimize ¡predic#on ¡error ¡on ¡unknown ¡entries ¡ ¡ ¡ Model: ¡minimize ¡uncertainty ¡in ¡the ¡distribu#on ¡of ¡models ¡ ¡ ¡ Magnitude ¡Search: ¡query ¡largest-‑valued ¡points ¡possible ¡ ¡ ¡ Search: ¡query ¡as ¡many ¡posi#ve ¡points ¡as ¡possible ¡
min E h (Rij ˆ Rij)2 | (i, j) 62 O i max X
(i,j)∈A
Rij max X
(i,j)∈A
(Rij ∈ +) min H [model | RO]
Genera#ve ¡model ¡for ¡matrices ¡of ¡fixed ¡rank ¡D ¡
Vj ∼ N
V ID
U ID
¡
ln p(U, V | RO) = 1 2σ2 kI
k2
F +
1 2σ2
U
kUk2
F +
1 2σ2
V
kV k2
F + C
User ¡latent ¡factors ¡U Ra#ngs ¡matrix ¡ R Item ¡latent ¡factors ¡ V T Alice ¡ Bob ¡ Carlos ¡ 2 ¡ 3 ¡ 3 ¡ 5 ¡ 2 ¡ 5 ¡ 3 ¡ 5 ¡ 4 ¡ 3 ¡ 0.1 ¡ 2.5 ¡ 3.6 ¡ 1.1 ¡ 0.4 ¡ 4.7 ¡ Alice ¡ Bob ¡ Carlos ¡ 0.1 ¡ 0 ¡ 0.6 ¡ 0.5 ¡ 0.5 ¡ 1.1 ¡ 0.8 ¡ 1.2 ¡ 1.9 ¡ 0.6 ¡ 2 ¡ 5 ¡ 5 ¡ 5 ¡ 4 ¡
Rij ∼ N
i Vj, σ2
¡
about ¡our ¡uncertainty ¡in ¡the ¡model ¡and/or ¡the ¡ predic#ons ¡
ln p(U, V | RO) = 1 2σ2 kI
k2
F +
1 2σ2
U
kUk2
F +
1 2σ2
V
kV k2
F + C
One ¡way ¡to ¡get ¡posterior ¡distribu#on ¡info: ¡
parametric ¡family ¡q(U, ¡V) ¡
KL(qkp) = Z q(U, V ) ln q(U, V ) p(U, V | RO)d{U, V } = H[q] Eq [ln p(U, V | RO)] = H[q] C + 1 2σ2
U N
X
i=1 D
X
k=1
Eq[U 2
ik] +
1 2σ2
V M
X
j=1 D
X
k=1
Eq[V 2
jk]
+ 1 2σ2
N
X
i=1 M
X
j=1
D X
k=1 D
X
`=1
Eq[UkiVkjU`iV`j] 2Rij
D
X
k=1
Eq[UkiVkj] + R2
ij
!
– Expecta#ons ¡we ¡need ¡are ¡in ¡closed ¡form ¡(Isserlis’ ¡Thm.) ¡ – Can ¡op#mize ¡with ¡projected ¡gradient ¡descent ¡ – O(D2 ¡(N+M)2) ¡memory, ¡O(D3 ¡(N+M)3) ¡#me ¡to ¡project ¡
U11 ¡ U12 ¡ U21 ¡ U22 ¡ U31 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡ U11 ¡ U12 ¡ U21 ¡ U22 ¡ U32 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡ U11 ¡ U12 ¡ U21 ¡ U22 ¡ U31 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡
Mean ¡µ ¡ D(N+M) ¡ cov ¡Σ ¡ (D(N+M))2 ¡
– (Silva ¡& ¡Carin, ¡KDD ¡2012) ¡ – O(D ¡(N+M)) ¡memory, ¡projec#on ¡is ¡trivial ¡
U11 ¡ U12 ¡ U21 ¡ U22 ¡ U31 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡ U11 ¡ U12 ¡ U21 ¡ U22 ¡ U32 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡ U11 ¡ U12 ¡ U21 ¡ U22 ¡ U31 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡
Mean ¡µ ¡ D(N+M) ¡ diagonal ¡cov ¡Σ ¡ (D(N+M)) ¡
– Decompose ¡cov ¡into ¡user/item ¡covariance ¡+ ¡latent ¡d ¡covariance ¡ – Expecta#ons ¡/ ¡gradient ¡descent ¡basically ¡the ¡same ¡ – O(D2 ¡+ ¡(N+M)2) ¡memory, ¡O(D3 ¡+ ¡(N+M)3) ¡#me ¡to ¡project ¡
U11 ¡ U12 ¡ U21 ¡ U22 ¡ U31 ¡ U32 ¡ V11 ¡ V12 ¡ V21 ¡ V22 ¡ U1 ¡ U2 ¡ U3 ¡ V1 ¡ V2 ¡ U1 ¡ U2 ¡ U3 ¡ V1 ¡ V2 ¡
Mean ¡µ ¡ D(N+M) ¡ row ¡cov ¡Σ ¡ (N+M)2 ¡
⊗
1 ¡ 2 ¡ 1 ¡ 2 ¡
column ¡cov ¡Ω ¡ D2 ¡
Another ¡way ¡to ¡get ¡posterior ¡info ¡for ¡PMF ¡is ¡to ¡get ¡ samples ¡from ¡it ¡(approximately, ¡asympto#cally…). ¡ BPMF ¡(Salakhutdinov ¡& ¡Mnih, ¡ICML ¡2008) ¡lets ¡normal ¡priors ¡on ¡U ¡ and ¡V ¡have ¡arbitrary ¡means/covariances, ¡with ¡ Gaussian-‑Wishart ¡hyperpriors. ¡
– Can ¡sample ¡through ¡Gibbs ¡ – We ¡use ¡Hamiltonian ¡MCMC ¡with ¡the ¡No-‑U-‑Turn ¡Sampler ¡
(Hoffman ¡& ¡Gelman, ¡JMLR ¡in ¡press) ¡
– Predic'on: ¡element ¡with ¡highest ¡variance ¡(uncertainty ¡sampling) ¡ ¡ – Model: ¡? ¡ ¡ – Magnitude ¡search: ¡element ¡with ¡highest ¡mean ¡ ¡ ¡ – Search: ¡element ¡with ¡highest ¡probability ¡of ¡being ¡posi#ve ¡ arg max(i,j) E[Rij] arg max(i,j) Var[Rij] arg max(i,j) P[Rij ∈ +]
Integrate ¡over ¡possible ¡outcomes ¡(Garneq ¡et ¡al., ¡ICML ¡2012) ¡ ¡ ¡
– Predic'on: ¡ ¡entropy ¡of ¡predicted ¡matrix ¡ ¡ – Model: ¡entropy ¡of ¡posterior ¡over ¡U ¡and ¡V ¡ ¡ – Magnitude ¡search: ¡mean ¡of ¡found ¡elements ¡ ¡ – Search: ¡expected ¡number ¡of ¡posi#ves ¡found ¡ f(q) = H[R] f(q) = H[U, V ] f(q) = (Rij ∈ +) + max
(k,l)∈P−(i,j) P(Rkl ∈ +)
f(q) = Rij + max
(k,l)∈P−(i,j) E[Rkl]
Z
x
dˆ P(Rij = x) E [f(q) | RO, Rij = x]
¡
recommender ¡systems, ¡especially ¡the ¡new ¡user ¡case ¡ ¡
– Silva ¡& ¡Carin, ¡KDD ¡2012 ¡
– Rish ¡& ¡Tesauro, ¡ISAIM ¡2008 ¡workshop ¡
−130 −120 −110 −100 −90 −80 −70 −60 100 200 300 400 500 600 700 −50.8 −50.7 −50.6 −50.5 −50.4 −50.3 −50.2 −50.1 −50.0 0.4 0.6 0.8 1.0 1.2 1.4 1.6 1.8
MCMC ¡ Matrix ¡normal ¡varia#onal ¡
Var[Rij] E [H [R]] Eq [H [U, V ]] Varq[Rij]
Predic'on ¡results ¡on ¡10x10 ¡rank-‑4 ¡matrices, ¡vals ¡1 ¡to ¡5. ¡
Predic'on ¡results ¡on ¡10x10 ¡rank-‑4 ¡matrices, ¡vals ¡1 ¡to ¡5. ¡
Search ¡results ¡on ¡10x10 ¡rank-‑4 ¡matrices, ¡vals ¡1 ¡to ¡5. ¡
Most ¡of ¡MovieLens-‑100k: ¡472 ¡users ¡x ¡413 ¡movies, ¡~60k ¡ ra#ngs. ¡Start ¡with ¡5% ¡known; ¡test ¡on ¡a ¡different ¡5%. ¡
Predict ¡interac#ons ¡between ¡drugs ¡and ¡“targets.” ¡
– Used ¡a ¡subset ¡of ¡94 ¡drugs ¡x ¡425 ¡targets: ¡4% ¡posi#ve. ¡ – Start ¡with ¡500 ¡points ¡known: ¡one ¡interac#on ¡per ¡drug, ¡ enough ¡non-‑interac#on ¡so ¡every ¡column ¡has ¡an ¡entry. ¡ – Test ¡on ¡500 ¡posi#ves, ¡1000 ¡nega#ves; ¡run ¡for ¡200 ¡steps. ¡
– schemes ¡for ¡choosing ¡points ¡to ¡evaluate ¡in ¡lookahead ¡ – minibatch/parallel ¡MCMC ¡sampling ¡ ¡
– e.g. ¡via ¡GP ¡priors ¡on ¡covariance ¡matrices ¡
– Varia#onal ¡approxima#ons ¡ – MCMC ¡sampling ¡
– Toy ¡problems ¡ – MovieLens ¡ – DrugBank ¡