Download presentation
Presentation is loading. Please wait.
Published byEzra McCormick Modified over 9 years ago
1
Steffen Staab staab@uni-koblenz.de 1WeST Web Science & Technologies University of Koblenz ▪ Landau, Germany Network Theory and Dynamic Systems Link Prediction Steffen Staab Christoph Ringelstein Acknowledgment: Jérôme Kunegis
2
Steffen Staab staab@uni-koblenz.de 2WeST 2 The Problem: Link Prediction Motivation: Recommend connections in a social network Predict links in an undirected, unweighted network Known links (A) Links to be predicted (B)
3
Steffen Staab staab@uni-koblenz.de 3WeST Social Network PersonFriendship
4
Steffen Staab staab@uni-koblenz.de 4WeST Recommender Systems Predict who I will add as friend next Standard algorithm: find friends-of-friends me
5
Steffen Staab staab@uni-koblenz.de 5WeST Friend of a Friend 12456 3 Count the number of ways a person can be found as the friend of a friend.
6
Steffen Staab staab@uni-koblenz.de 6WeST Adjacency Matrix A ij = 1 when i and j are connected A ij = 0 when i and j are not connected A is square and symmetric 12456 3 A = 1 2 3 4 5 6 123456
7
Steffen Staab staab@uni-koblenz.de 7WeST Baseline: Friend of a Friend Model Count the number of ways a person can be found as the friend of a friend Matrix product AA = A 2 12456 3 = 2 A 2 =
8
Steffen Staab staab@uni-koblenz.de 8WeST Matrix product AA = A 2 Friend of a Friend Computation 124 3 = 2 A 2 =
9
Steffen Staab staab@uni-koblenz.de 9WeST Recommender Systems Predict who I will add as friend next Standard algorithm: find friends-of-friends → Problem: Rest of the network is ignored! :-( me
10
Steffen Staab staab@uni-koblenz.de 10WeST Friend of a Friend of a Friend 12456 3 Count the number of ways a person can be found as the friend of a friend of a friend.
11
Steffen Staab staab@uni-koblenz.de 11WeST Friend of a Friend of a Friend Compute the number of friends-of-friends-of-friends: Idea: Link recommendation by highest score Problem: A 3 is not sparse! 12456 3 123456 1 2 3 4 5 6 3 = A 3 =
12
Steffen Staab staab@uni-koblenz.de 12WeST Eigenvalue Decomposition A = UΛU -1 where U are the eigenvectors Λ are the eigenvalues Λ ij = 0 when i ≠ j Λ is also called the spectrum of A Problem: complexity of computing U -1.
13
Steffen Staab staab@uni-koblenz.de 13WeST Problem: complexity of computing U -1. Exploit U : U -1 = U T because U contains normalized eigenvectors (U is orthogonal) A = UΛU -1 = UΛU T
14
Steffen Staab staab@uni-koblenz.de 14WeST A Λ UU Eigenvalue Decomposition: Example 12456 3 EigenvectorEigenvalue U contains eigenvectors, Λ contains eigenvalues = T
15
Steffen Staab staab@uni-koblenz.de 15WeST A Λ UU Eigenvalue Decomposition: Example 12456 3 EigenvectorEigenvalue U contains eigenvectors, Λ contains eigenvalues = T
16
Steffen Staab staab@uni-koblenz.de 16WeST A Λ UU Eigenvector-Centrality 12456 3 EigenvectorEigenvalue U contains eigenvectors, Λ contains eigenvalues 0.550.560.300.13 0.48 0.23 = T
17
Steffen Staab staab@uni-koblenz.de 17WeST A Λ UU Eigenvector-Centrality 12456 3 EigenvectorEigenvalue U contains eigenvectors, Λ contains eigenvalues 0.550.560.300.13 0.48 0.23 = T
18
Steffen Staab staab@uni-koblenz.de 18WeST Computing A 3 123456 1 2 3 4 5 6 A 3 = Use the eigenvalue decomposition A = UΛU T A 3 = UΛU T UΛU T UΛU T = UΛ 3 U T
19
Steffen Staab staab@uni-koblenz.de 19WeST Computing A3 Exploit U and Λ : U -1 = U T because U contains eigenvectors U T U = I because U -1 = U T ( Λ k ) ii = Λ ii k because Λ contains eigenvalues A 3 = UΛU T UΛU T UΛU T = UΛΛΛU T = UΛ 3 U T
20
Steffen Staab staab@uni-koblenz.de 20WeST Link Prediction Prediction for node i: ( A 3 ) i * = (U Λ 3 U T ) i * = U i * Λ 3 U T A3A3 = ( ) i * = i U Λ3Λ3 UTUT U i * Λ3Λ3 UTUT i = Optional: reduction to most dominant eigenvectors fast ;)
21
Steffen Staab staab@uni-koblenz.de 21WeST Recommender Systems Predict who I will add as friend next Standard algorithm: find friends-of-friends → Problem: all paths have the same weights! :-( me
22
Steffen Staab staab@uni-koblenz.de 22WeST 22 Follow paths Number of paths of length k given by A k Nodes connected by many paths Nodes connected by short paths Weight powers of A: αA² + βA³ + γA ⁴ … with α > β > γ … [ > 0 ] Examples: Exponential graph kernel: e αA = Σ i α i /i! A i Path Counting
23
Steffen Staab staab@uni-koblenz.de 23WeST exp( A ) = I + A + 1/2 A 2 + 1/6 A 3 +... Matrix Exponential 1245 3 123456 1 2 3 4 5 6 6 exp = 7 6 7 7 0.980.760.22
24
Steffen Staab staab@uni-koblenz.de 24WeST Spectral Transformations Friend of a friend Friend of a friend of a friend Matrix exponential …are link prediction functions! A 2 = UΛ 2 U T A 3 = UΛ 3 U T exp( A ) = U exp( Λ ) U T
25
Steffen Staab staab@uni-koblenz.de 25WeST Summary - Why the Matrix Exponential A n = Number of paths of length n a A 2 + bA 3 + c A 4 +... = Number of paths, weighted by path length → New edges more likely to appear when there are many paths already → When a > b > c >... > 0, short paths are weighted higher
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.