390 likes | 548 Views
Proximity Tracking on Time-Evolving Bipartite Graphs. Speaker: Hanghang Tong Joint Work with Spiros Papadimitriou, Philip S. Yu, Christos Faloutsos. Apr. 24-26, 2008, Atlanta SIAM Conference on Data Mining. Graphs are everywhere!.
E N D
Proximity Tracking on Time-Evolving Bipartite Graphs Speaker: Hanghang Tong Joint Work with Spiros Papadimitriou, Philip S. Yu, Christos Faloutsos Apr. 24-26, 2008, Atlanta SIAM Conference on Data Mining
Graph Mining: the big picture Graph/Global Level Subgraph/ Community Level Node Level We are here!
Proximity on Graph: What? a.k.a Relevance, Closeness, ‘Similarity’…
Link Prediction density Prox. Hist. for a set of deleted links Prox (ij)+Prox (ji) Prox. is effective to ‘deleted’ and absent edges! density Prox. Hist. for a set of absent links Prox (ij)+Prox (ji) Q: How to predict the existence of the link? A: Proximity![Liben-Nowell + 2003]
… … Neighborhood Search on graphs … … Conference Author Q: what is most related conference to ICDM? A: Proximity! [Sun+ ICDM2005]
Region Automatic Image Caption Image Test Image Keyword Sea Sun Sky Wave Cat Forest Tiger Grass Q: How to assign keywords to the test image? A: Proximity! [Pan+ 2004]
Center-Piece Subgraph(CePS) Input Output CePS guy CePS Original Graph Q: How to find hub for the black nodes? A: Proximity! [Tong+ KDD 2006]
Input Output Query Graph Best-Effort Pattern Match Data Graph Matching Subgraph Q: How to find matching subgraph? A: Proximity![Tong+ KDD 2007]
Challenge • Graphs are evolving over time! • New nodes/edges show up; • Existing nodes/edges die out; • Edge weights change… • Q: How to Generalize everything? • A: Track Proximity!
Trend analysis on graph level T. Sejnowski Rank of Influential-ness G.Hinton C. Koch M. Jordan Year
Roadmap Motivation Prox. On Static Graphs Prox. On Time-Evolving Graphs Experimental Results Conclusion
0.03 0.04 10 9 0.10 12 2 0.08 0.02 0.13 8 1 0.13 11 3 0.04 4 0.05 6 5 0.13 7 0.05 Random walk with restart Query Nearby nodes, higher scores Ranking vector More red, more relevant
10 9 12 2 8 1 11 3 4 6 5 7 Computing RWR Restart p Starting vector Adjacency matrix Ranking vector 1 Query n x 1 n x n n x 1
Q: Given query i, how to solve it? Query ? ? Starting vector Ranking vector Ranking vector Adjacency matrix
RWR on Bipartite Graph authors Author-Conf. Matrix Observation: n >> m! Examples: 1. DBLP: 400k aus, 3.5k confs 2. NetFlix: 2.7M usrs,18k mvs n Conferences m
RWR on Skewed bipartite graphs • Q: Given query i, how to solve it? m confs 0 … . . . . . … . . . . . … . . .. Ar ? ? … . . . . . … . . . . . … . . .. 0 Ac n aus n m
BB_Lin: Pre-Computation [Tong+ 06] 2-step RWR for Conferences = Ar X Ac M • Step 1: • Step 2: • Cost: • Examples • NetFlix: 1.5hr for pre-computation; • DBLP: 1 few minutes m conferences All Conf-Conf Prox. Scores n authors
BB_Lin: Pre-Computation [Tong+ 06] 2-step RWR for Conferences = Ar X Ac M • Step 1: • Step 2: m conferences All Conf-Conf Prox. Scores n authors
BB_Lin: Pre-Computation [Tong+ 06] 2-step RWR for Conferences = Ac Ar X M • Step 1: • Step 2: • Cost: • Examples • NetFlix: 1.5hr for pre-computation; • DBLP: 1 few minutes All Conf-Conf Prox. Scores m x m Ac/Ar E edges
BB_Lin: On-Line Stage authors Conferences (Base) Case 1: - Conf - Conf Read out ! Ac/Ar E edges
BB_Lin: On-Line Stage authors Conferences Case 2: - Au - Conf 1 matrix-vec! Ac/Ar E edges
BB_Lin: On-Line Stage authors Conferences Case 3: - Au - Au 2 matrix-vec! Ac/Ar E edges
BB_Lin: Examples • NetFlix dataset (2.7m user x 18k movies) • 1.5hr for pre-computation; • <1 sec for on-line • DBLP dataset (400k authors x 3.5k confs) • A few minutes for pre-computation • <0.01 sec for on-line
Roadmap Motivation Prox. On Static Graphs Prox. On Time-Evolving Graphs Experimental Results Conclusion
Challenges • BB_Lin is good for skewed bipartite graphs • for NetFlix (2.7M nodes and 100M edges) • On-line cost for query: fraction of seconds • w/ 1.5 hr pre-computation for m x m core matrix • But…what if the graph is evolving over time • New edges/nodes arrive; edge weights increase… • On-line cost: 1.5hr itself becomes a part this!
Q: How to update the core matrix? t=0 ~ ~ t=1 ?
Update the core matrix = Ar X Ac M • Step 1: • Step 2: ~ = X M + Rank 2 update ~ ~ = X +
Update : General Case = Ar X Ac M n authors • E’ edges changed • Involves n’ authors, m’ confs. • Observation ~ m Conferences
Update : General Case n authors • Observation: • the rank of update is small! • Real Example (DBLP Post) • 1258 time steps • E’ up to ~20,000! • min(n’,m’) <=132 • Our Algorithm m Conferences 31
Roadmap Motivation Prox. On Static Graphs Prox. On Time-Evolving Graphs Experimental Results Conclusion
Philip S. Yu’s Top-5 conferences up to each year DBLP: (Au. x Conf.) - 400k aus, - 3.5k confs - 20 yrs Databases Performance Distributed Sys. Databases Data Mining
KDD’s Rank wrt. VLDB over years Prox. Rank Data Mining and Databases are more and more relavant! Year
10 most influential authors in NIPS community up to each year T. Sejnowski M. Jordan Author-paper bipartite graph from NIPS 1987-1999. 3k. 1740 papers, 2037 authors, spreading over 13 years
Fast-Single-Update log(Time) (Seconds) 176x speedup 40x speedup Our method Our method Datasets
Fast-Batch-Update Time (Seconds) Time (Seconds) Our method Our method E’ Min (n’, m’) 15x speed-up on average!
Conclusion • Trends Analysis on Graph Level • pTrack/cTrack • Scalable for evolving graphs g r a p h Trends
Thank you! www.cs.cmu.edu/~htong