Analysis and Computation of Google s PageRank



Similar documents
The Mathematics Behind Google s PageRank

Google s PageRank: The Math Behind the Search Engine

Monte Carlo methods in PageRank computation: When one iteration is sufficient

Enhancing the Ranking of a Web Page in the Ocean of Data

THE $25,000,000,000 EIGENVECTOR THE LINEAR ALGEBRA BEHIND GOOGLE

Search engines: ranking algorithms

A Uniform Approach to Accelerated PageRank Computation

The world s largest matrix computation. (This chapter is out of date and needs a major overhaul.)

Part 1: Link Analysis & Page Rank

The PageRank Citation Ranking: Bring Order to the Web

Perron vector Optimization applied to search engines

An Improved Page Rank Algorithm based on Optimized Normalization Technique

Link Analysis. Chapter PageRank

Big Data Technology Motivating NoSQL Databases: Computing Page Importance Metrics at Crawl Time

DATA ANALYSIS II. Matrix Algorithms

UNCOUPLING THE PERRON EIGENVECTOR PROBLEM

Numerical Methods I Solving Linear Systems: Sparse Matrices, Iterative Methods and Non-Square Systems

Social Media Mining. Network Measures

CS224W Project Report: Finding Top UI/UX Design Talent on Adobe Behance

Similarity and Diagonalization. Similar Matrices

arxiv: v3 [math.na] 1 Oct 2012

Walk-Based Centrality and Communicability Measures for Network Analysis

CS3220 Lecture Notes: QR factorization and orthogonal transformations

LABEL PROPAGATION ON GRAPHS. SEMI-SUPERVISED LEARNING. ----Changsheng Liu

Vector and Matrix Norms

7 Gaussian Elimination and LU Factorization

International Journal of Engineering Research-Online A Peer Reviewed International Journal Articles are freely available online:

Yousef Saad University of Minnesota Computer Science and Engineering. CRM Montreal - April 30, 2008

Manifold Learning Examples PCA, LLE and ISOMAP

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

Modern Optimization Methods for Big Data Problems MATH11146 The University of Edinburgh

Graph Algorithms and Graph Databases. Dr. Daisy Zhe Wang CISE Department University of Florida August 27th 2014

APPM4720/5720: Fast algorithms for big data. Gunnar Martinsson The University of Colorado at Boulder

Elementary Matrices and The LU Factorization

Asking Hard Graph Questions. Paul Burkhardt. February 3, 2014

RANKING WEB PAGES RELEVANT TO SEARCH KEYWORDS

Probabilistic Models for Big Data. Alex Davies and Roger Frigola University of Cambridge 13th February 2014

Common Patterns and Pitfalls for Implementing Algorithms in Spark. Hossein

Parallel Data Selection Based on Neurodynamic Optimization in the Era of Big Data

MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors. Jordan canonical form (continued).

Combating Web Spam with TrustRank

Practical Graph Mining with R. 5. Link Analysis

7. LU factorization. factor-solve method. LU factorization. solving Ax = b with A nonsingular. the inverse of a nonsingular matrix

General Framework for an Iterative Solution of Ax b. Jacobi s Method

Performance of Dynamic Load Balancing Algorithms for Unstructured Mesh Calculations

Linear Algebra Review. Vectors

Matrix Multiplication

USING SPECTRAL RADIUS RATIO FOR NODE DEGREE TO ANALYZE THE EVOLUTION OF SCALE- FREE NETWORKS AND SMALL-WORLD NETWORKS

AN INTERFACE STRIP PRECONDITIONER FOR DOMAIN DECOMPOSITION METHODS

Lecture 3: Finding integer solutions to systems of linear equations

P164 Tomographic Velocity Model Building Using Iterative Eigendecomposition

Notes on Symmetric Matrices

The Perron-Frobenius theorem.

ALGEBRAIC EIGENVALUE PROBLEM

Applications to Data Smoothing and Image Processing I

Graphs over Time Densification Laws, Shrinking Diameters and Possible Explanations

SALEM COMMUNITY COLLEGE Carneys Point, New Jersey COURSE SYLLABUS COVER SHEET. Action Taken (Please Check One) New Course Initiated

Soft Clustering with Projections: PCA, ICA, and Laplacian

Buying and Selling Traffic: The Internet as an Advertising Medium

Inner Product Spaces and Orthogonality

Nonlinear Iterative Partial Least Squares Method

MapReduce and Distributed Data Analysis. Sergei Vassilvitskii Google Research

Introduction to the Finite Element Method

6. Cholesky factorization

MAT 242 Test 2 SOLUTIONS, FORM T

Examination paper for TMA4205 Numerical Linear Algebra

Lecture Notes to Accompany. Scientific Computing An Introductory Survey. by Michael T. Heath. Chapter 10

NEW VERSION OF DECISION SUPPORT SYSTEM FOR EVALUATING TAKEOVER BIDS IN PRIVATIZATION OF THE PUBLIC ENTERPRISES AND SERVICES

Computational Optical Imaging - Optique Numerique. -- Deconvolution --

Iterative Methods for Solving Linear Systems

TD(0) Leads to Better Policies than Approximate Value Iteration

Rank one SVD: un algorithm pour la visualisation d une matrice non négative

Integer Factorization using the Quadratic Sieve

Reputation Management in P2P Networks: The EigenTrust Algorithm

Distributed R for Big Data

Lecture 5: Singular Value Decomposition SVD (1)

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

Structure of the Root Spaces for Simple Lie Algebras

Transcription:

Analysis and Computation of Google s PageRank Ilse Ipsen North Carolina State University Joint work with Rebecca M. Wills IMACS p.1

Overview Goal: Compute (citation) importance of a web page Simple Web Model Google Matrix Stability of PageRank Eigenvalue Problem: Power Method Linear System: Jacobi Method Dangling Nodes IMACS p.2

Simple Web Model Construct matrix S Page i has d 1 outgoing links: If page i has link to page j then s ij = 1/d else s ij = 0 Page i has 0 outgoing links: s ij = 1/n (dangling node) s ij : probability that surfer moves from page i to page j IMACS p.3

Matrix S S is stochastic: 0 s ij 1 S1 = 1 Left eigenvector: ω T S = ω T ω 0 ω 1 = 1 Ranking: ω i is probability that surfer visits page i But: S does not model surfing behaviour properly Rank sinks, and pages with zero rank Several eigenvalues with magnitude 1 power method does not converge Remedy: Change the matrix IMACS p.4

Google Matrix Convex combination G = αs + (1 α)1v T Stochastic matrix S Damping factor 0 < α < 1, e.g. α =.85 Personalization vector v > 0 v 1 = 1 Properties of G: stochastic G has eigenvalue 1 primitive spectral radius 1 unique IMACS p.5

Page Rank Unique left eigenvector: π T G = π T π > 0 π 1 = 1 Power method converges to π ith entry of π: PageRank of page i PageRank. = largest left eigenvector of G IMACS p.6

Stability of PageRank How sensitive is PageRank π to Round off errors Changes in damping factor α Changes in personalization vector v Addition/deletion of links IMACS p.7

Perturbation Theory For Markov chains Schweizer 1968, Meyer 1980 Haviv & van Heyden 1984 Funderlic & Meyer 1986 Seneta 1988, 1991 Ipsen & Meyer 1994 Kirkland, Neumann & Shader 1998 Cho & Meyer 2000, 2001 Kirkland 2003, 2004 IMACS p.8

Perturbation Theory For Google matrix Chien, Dwork, Kumar & Sivakumar 2001 Ng, Zheng & Jordan 2001 Bianchini, Gori & Scarselli 2003 Boldi, Santini & Vigna 2004 Langville & Meyer 2004 Golub & Greif 2004 Kirkland 2005 IMACS p.9

Changes in the Matrix S Exact: π T G = π T G = αs + (1 α)1v T Perturbed: π T G = π T G = α(s + E) + (1 α)1v T Error: π T π T = α π T E(I αs) 1 π π 1 α 1 α E [Kirkland 2005] IMACS p.10

Changes in Damping Factor α Exact: π T G = π T G = αs + (1 α)1v T Perturbed: π T G = π T G = (α + µ)s + (1 (α + µ))1v T Error: π π 1 2 1 α µ [Langville & Meyer 2004] IMACS p.11

Changes in Vector v Exact: π T G = π T G = αs + (1 α)1v T Perturbed: π T G = π T G = αs + (1 α)1(v + f) T Error: π π 1 f 1 IMACS p.12

Sensitivity of PageRank π π T G = π T G = αs + (1 α)1v T Changes in S: condition number α/(1 α) α: condition number 2/(1 α) f: condition number 1 α =.85: condition numbers 14 α =.99: condition numbers 200 PageRank insensitive to perturbations IMACS p.13

Adding an In-Link i π i π i Adding an in-link can only increase PageRank Removing an in-link can only decrease PageRank [Chien, Dwork, Kumar, Sivakumar 2001] IMACS p.14

Adding an Out-Link 1 3 2 π 3 = 1 + α + α2 3(1 + α + α 2 /2) < π 3 = 1 + α + α2 3(1 + α) Adding an out-link may decrease PageRank IMACS p.15

PageRank Computation π T G = π T G = αs + (1 α)1v T Compute π by power method: Pick x 0 > 0, x 0 1 = 1 For k = 0, 1, 2... x T k+1 = xt k G Error in iteration k: x k π 1 α k x 0 π 1 [Bianchini, Gori & Scarselli 2003] IMACS p.16

Why is Power Method Cheap? Google matrix G = αs + (1 α)1v T S = H + dw T }{{} dangling nodes w 0 w 1 = 1 Matrix H: models webgraph substochastic dimension: several billion very sparse IMACS p.17

Matrix Vector Multiplication Vector x > 0 x 1 = 1 x T G = x T [ α(h + dw T ) + (1 α)1v T] = α x T H + α x T d }{{} scalar Cost: # non-zeros in H w T + (1 α)v T IMACS p.18

Stopping Criterion Residual x T k G x k = x T k+1 x T k Currently: stop when x k+1 x k 1 τ where τ 10 4, 10 6, 10 8 Better: stop when x k+1 x k 1 nτ where n is dimension of G IMACS p.19

Comparison n its (τ) its (nτ) Agrees Disagrees 2293 86 39 2257 36 2947 85 37 2977 20 3468 90 41 3462 6 5757 90 39 5735 22 Its (nτ): Agrees: # iterations with bound nτ # pages with same ranking for both bounds τ = 10 8 IMACS p.20

Stopping Criterion Old: x k+1 x k 1 τ Bound becomes more stringent as n grows New: x k+1 x k 1 nτ Reduces iteration count by 50% Disagreements in ranking 1.5% IMACS p.21

Properties of Power Method Converges to unique vector Convergence rate α Vectorizes Storage for only a single vector Matrix vector multiplication with very sparse matrix Accurate (no subtractions) Simple (few decisions) But: can be slow IMACS p.22

PageRank Computation Power method Page, Brin, Motwani & Winograd 1999 Acceleration of power method Brezinski & Redivo-Zaglia 2004 Kamvar, Haveliwala, Manning & Golub 2003 Haveliwala, Kamvar, Klein, Manning & Golub 2003 Aggregation/Disaggregation Langville & Meyer 2002, 2003, 2004 Ipsen & Kirkland 2004 IMACS p.23

PageRank Computation Methods that adapt to web graph Broder, Lempel, Maghoul & Pedersen 2004 Kamvar, Haveliwala & Golub 2004 Haveliwala, Kamvar, Manning & Golub 2003 Lee, Golub & Zenios 2003 Lu, Zhang, Xi, Chen, Liu, Lyu & Ma 2004 Krylov methods Golub & Greif 2004 IMACS p.24

PageRank from Linear System Eigenvector problem: π T (αs + (1 α)1v T ) = π T π 0 π 1 = 1 Linear system: π T (I αs) = (1 α)v T I αs nonsingular M-matrix [Arasu, Novak, Tomkins & Tomlin 2002] [Bianchini, Gori & Scarselli 2003] IMACS p.25

Stationary Iterative Methods π T (I αs) = (1 α)v T Can be faster than power method Can be faster than Krylov space methods Predictable, monotonic convergence Can converge even for α 1 No failure due to "memory overload" (unlike Krylov space methods) Accurate (no subtractions) [Gleich, Zhulov & Berkhin 2005] IMACS p.26

Example [Gleich, Zhukov & Berkhin 2005] Web graph: 1.4 billion nodes 6.6 billion edges Beowulf cluster with 140 processors Stopping criterion: residual norm 10 7 BiCGSTAB: 28.2 minutes (preconditioner?) Power method: 35.5 minutes IMACS p.27

Jacobi Method Assume no page has a link to itself π T (I αs) = (1 α)v T I αs = D O x T k+1 = xt k OD 1 + (1 α)v T D 1 I αs is M-matrix Jacobi converges No dangling nodes: D = I O = αs Jacobi method = power method IMACS p.28

Dangling Nodes S = H + dw T is dense What to do about dangling nodes? Remove [Brin, Page, Motwani & Winograd 1998] No PageRank for dangling nodes Biased PageRank for other nodes Lump into single state [Lee, Golub & Zenios 2003] As above Remove dw T [Langville & Meyer 2004] H is not stochastic What is being computed? IMACS p.29

Use v for Dangling Nodes π T (I αs) = (1 α)v T S = H + dw T Choose w = v Solve π T (I αh) = (1 α + απ T d) v T }{{} multiple of v T δ T (I αh) = multiple of v T Then δ is multiple of π [Arasu, Novak, Tomkins & Tomlin 2002] IMACS p.30

Extension to Arbitrary w π T (I αs) = (1 α)v T S = H + dw T Rank-one update: I αs = (I αh) αdw T 1. Solve δ T = (1 α)v T (I αh) 1 2. Update π T = δ T + stuff This requires only two sparse solves IMACS p.31

1. Solve: δ T = (1 α)v T (I αh) 1 After similarity permutation: ( ) H1 H H = 2 0 0 ( ) ( ) δ T 1 δ2 T I αh 1 αh 2 0 I = (1 α) ( v T 1 v T 2 ) 1. Sparse solve δ T 1 = (1 α)v T 1 (I αh 1 ) 1 2. Set δ T 2 = α δ T 1 H 2 + (1 α)v T 2 IMACS p.32

2. Update: π T = δ T + stuff H = ( ) H1 H 2 0 0 dw T = ( ) 0 (w T 1 w2 T 1 ) 1. Sparse solve z T = αw T 1 (I αh 1 ) 1 2. Set y T = α(w T 2 +z T H 2 ) 3. Update π T = δ T + δ 2 1 1 y 1 ( z T y T) }{{} stuff IMACS p.33

PageRank via Linear System π T (I αs) = (1 α)v T S = ( ) H1 H 2 + 0 0 ( ) 0 1 w T Arbitrary dangling node vector w, w 0, w 1 = 1 Cost: Two sparse solves with I αh 1 via Jacobi Two matrix vector multiplications with H 2 Inner products and vector additions IMACS p.34

Summary Google Matrix G = αs + (1 α)ev T PageRank = left eigenvector of G PageRank insensitive to perturbations in G Adding in-links can only increase PageRank Adding out-links may decrease PageRank Improved stopping criterion Compute PageRank from linear system Jacobi can be competitive with Krylov methods Efficient treatment of dangling nodes IMACS p.35