Applications. Nonnegative Matrices: Ranking

Similar documents
1998: enter Link Analysis

Rank and Rating Aggregation. Amy Langville Mathematics Department College of Charleston

How does Google rank webpages?

Link Analysis. Leonid E. Zhukov

Clustering. SVD and NMF

Updating PageRank. Amy Langville Carl Meyer

Calculating Web Page Authority Using the PageRank Algorithm

Uncertainty and Randomization

PageRank. Ryan Tibshirani /36-662: Data Mining. January Optional reading: ESL 14.10

CS224W: Social and Information Network Analysis Jure Leskovec, Stanford University

A Note on Google s PageRank

Ranking using Matrices.

Introduction to Search Engine Technology Introduction to Link Structure Analysis. Ronny Lempel Yahoo Labs, Haifa

Link Mining PageRank. From Stanford C246

CS246: Mining Massive Datasets Jure Leskovec, Stanford University

Lecture 7 Mathematics behind Internet Search

MultiRank and HAR for Ranking Multi-relational Data, Transition Probability Tensors, and Multi-Stochastic Tensors

Nonnegative Matrix Factorization. Data Mining

CS 277: Data Mining. Mining Web Link Structure. CS 277: Data Mining Lectures Analyzing Web Link Structure Padhraic Smyth, UC Irvine

Online Social Networks and Media. Link Analysis and Web Search

Data Mining Recitation Notes Week 3

Link Analysis Ranking

Google PageRank. Francesco Ricci Faculty of Computer Science Free University of Bozen-Bolzano

Graph Models The PageRank Algorithm

Link Analysis Information Retrieval and Data Mining. Prof. Matteo Matteucci

DATA MINING LECTURE 13. Link Analysis Ranking PageRank -- Random walks HITS

How works. or How linear algebra powers the search engine. M. Ram Murty, FRSC Queen s Research Chair Queen s University

Link Analysis. Stony Brook University CSE545, Fall 2016

Google Page Rank Project Linear Algebra Summer 2012

Node Centrality and Ranking on Networks

Slide source: Mining of Massive Datasets Jure Leskovec, Anand Rajaraman, Jeff Ullman Stanford University.

ECEN 689 Special Topics in Data Science for Communications Networks

Lab 8: Measuring Graph Centrality - PageRank. Monday, November 5 CompSci 531, Fall 2018

IR: Information Retrieval

Online Social Networks and Media. Link Analysis and Web Search

Data Mining and Matrices

Page rank computation HPC course project a.y

Slides based on those in:

CS246: Mining Massive Datasets Jure Leskovec, Stanford University.

Computing PageRank using Power Extrapolation

Math 304 Handout: Linear algebra, graphs, and networks.

CS6220: DATA MINING TECHNIQUES

Data and Algorithms of the Web

Data Mining Techniques

PageRank algorithm Hubs and Authorities. Data mining. Web Data Mining PageRank, Hubs and Authorities. University of Szeged.

CS249: ADVANCED DATA MINING

Thanks to Jure Leskovec, Stanford and Panayiotis Tsaparas, Univ. of Ioannina for slides

Chapter 10. Finite-State Markov Chains. Introductory Example: Googling Markov Chains

Thanks to Jure Leskovec, Stanford and Panayiotis Tsaparas, Univ. of Ioannina for slides

Application. Stochastic Matrices and PageRank

6.207/14.15: Networks Lecture 7: Search on Networks: Navigation and Web Search

Inf 2B: Ranking Queries on the WWW

Web Ranking. Classification (manual, automatic) Link Analysis (today s lesson)

Link Analysis. Reference: Introduction to Information Retrieval by C. Manning, P. Raghavan, H. Schutze

CS6220: DATA MINING TECHNIQUES

eigenvalues, markov matrices, and the power method

MATH36001 Perron Frobenius Theory 2015

Pseudocode for calculating Eigenfactor TM Score and Article Influence TM Score using data from Thomson-Reuters Journal Citations Reports

SUPPLEMENTARY MATERIALS TO THE PAPER: ON THE LIMITING BEHAVIOR OF PARAMETER-DEPENDENT NETWORK CENTRALITY MEASURES

Random Surfing on Multipartite Graphs

Multiple Relational Ranking in Tensor: Theory, Algorithms and Applications

1 Searching the World Wide Web

On the mathematical background of Google PageRank algorithm

Complex Social System, Elections. Introduction to Network Analysis 1

Information Retrieval and Search. Web Linkage Mining. Miłosz Kadziński

UpdatingtheStationary VectorofaMarkovChain. Amy Langville Carl Meyer

STA141C: Big Data & High Performance Statistical Computing

Pr[positive test virus] Pr[virus] Pr[positive test] = Pr[positive test] = Pr[positive test]

Lecture 12: Link Analysis for Web Retrieval

Krylov Subspace Methods to Calculate PageRank

Lesson Plan. AM 121: Introduction to Optimization Models and Methods. Lecture 17: Markov Chains. Yiling Chen SEAS. Stochastic process Markov Chains

0.1 Naive formulation of PageRank

Lecture: Local Spectral Methods (1 of 4)

Mathematical Properties & Analysis of Google s PageRank

Coding the Matrix! Divya Padmanabhan. Intelligent Systems Lab, Dept. of CSA, Indian Institute of Science, Bangalore. June 28, 2013

Updating Markov Chains Carl Meyer Amy Langville

Jeffrey D. Ullman Stanford University

Hub, Authority and Relevance Scores in Multi-Relational Data for Query Search

THEORY OF SEARCH ENGINES. CONTENTS 1. INTRODUCTION 1 2. RANKING OF PAGES 2 3. TWO EXAMPLES 4 4. CONCLUSION 5 References 5

Intelligent Data Analysis. PageRank. School of Computer Science University of Birmingham

Web Ranking. Classification (manual, automatic) Link Analysis (today s lesson)

PV211: Introduction to Information Retrieval

Introduction to Information Retrieval

How Does Google?! A journey into the wondrous mathematics behind your favorite websites. David F. Gleich! Computer Science! Purdue University!

Jeffrey D. Ullman Stanford University

Google and Biosequence searches with Markov Chains

Applications to network analysis: Eigenvector centrality indices Lecture notes

Introduction to Data Mining

Announcements: Warm-up Exercise:

arxiv:cond-mat/ v1 3 Sep 2004

How to optimize the personalization vector to combat link spamming

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

Ranking and Hillside Form

Node and Link Analysis

Analysis of Google s PageRank

Applications of The Perron-Frobenius Theorem

Markov Chains for Biosequences and Google searches

COMPSCI 514: Algorithms for Data Science

The Giving Game: Google Page Rank

MAE 298, Lecture 8 Feb 4, Web search and decentralized search on small-worlds

Transcription:

Applications of Nonnegative Matrices: Ranking and Clustering Amy Langville Mathematics Department College of Charleston Hamilton Institute 8/7/2008

Collaborators Carl Meyer, N. C. State University David Gleich, Stanford University Michael Berry, University of Tennessee-Knoxville College of Charleston (current and former students) Luke Ingram Ibai Basabe Kathryn Pedings Neil Goodson Colin Stephenson Emmie Douglas

Nonnegative Matrices Ranking webpages Ranking sports teams Recommendation systems Meta-algorithms Rank and rating aggregation Cluster aggregation

Ranking webpages

1998: enter Link Analysis uses hyperlink structure to focus the relevant set combine traditional IR score with popularity score Page and Brin 1998 Kleinberg

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections?

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections? It s huge. over 10 billion pages, average page size of 500KB 20 times size of Library of Congress print collection Deep Web - 400 X bigger than Surface Web

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections? It s huge. over 10 billion pages, average page size of 500KB 20 times size of Library of Congress print collection Deep Web - 400 X bigger than Surface Web It s dynamic. content changes: 40% of pages change in a week, 23% of.com change daily size changes: billions of pages added each year

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections? It s huge. over 10 billion pages, average page size of 500KB 20 times size of Library of Congress print collection Deep Web - 400 X bigger than Surface Web It s dynamic. content changes: 40% of pages change in a week, 23% of.com change daily size changes: billions of pages added each year It s self-organized. no standards, review process, formats errors, falsehoods, link rot, and spammers!

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections? It s huge. over 10 billion pages, average page size of 500KB 20 times size of Library of Congress print collection Deep Web - 400 X bigger than Surface Web It s dynamic. content changes: 40% of pages change in a week, 23% of.com change daily size changes: billions of pages added each year It s self-organized. no standards, review process, formats errors, falsehoods, link rot, and spammers! A Herculean Task!

Web Information Retrieval IR before the Web = traditional IR IR on the Web = web IR How is the Web different from other document collections? It s huge. over 10 billion pages, each about 500KB 20 times size of Library of Congress print collection Deep Web - 400 X bigger than Surface Web It s dynamic. content changes: 40% of pages change in a week, 23% of.com change daily size changes: billions of pages added each year It s self-organized. no standards, review process, formats errors, falsehoods, link rot, and spammers! Ah, but it s hyperlinked! Vannevar Bush s 1945 memex

Elements of a Web Search Engine WWW Crawler Module Page Repository User Indexing Module Results Queries query-independent Indexes Ranking Module Query Module Special-purpose indexes Content Index Structure Index

The Ranking Module (generates popularity scores) Measure the importance of each page

The Ranking Module (generates popularity scores) Measure the importance of each page The measure should be Independent of any query Primarily determined by the link structure of the Web Tempered by some content considerations

The Ranking Module (generates popularity scores) Measure the importance of each page The measure should be Independent of any query Primarily determined by the link structure of the Web Tempered by some content considerations Compute these measures off-line long before any queries are processed

The Ranking Module (generates popularity scores) Measure the importance of each page The measure should be Independent of any query Primarily determined by the link structure of the Web Tempered by some content considerations Compute these measures off-line long before any queries are processed Google s PageRank c technology distinguishes it from all competitors

The Ranking Module (generates popularity scores) Measure the importance of each page The measure should be Independent of any query Primarily determined by the link structure of the Web Tempered by some content considerations Compute these measures off-line long before any queries are processed Google s PageRank c technology distinguishes it from all competitors Google s PageRank = Google s $$$$$

Google s PageRank (Lawrence Page & Sergey Brin 1998) The Google Goals Create a PageRank r(p ) that is not query dependent Off-line calculations No query time computation Let the Web vote with in-links But not by simple link counts One link to P from Yahoo! is important Many links to P from me is not Share The Vote Yahoo! casts many votes value of vote from Y ahoo! is diluted If Yahoo! votes for n pages Then P receives only r(y )/n credit from Y

Google s PageRank (Lawrence Page & Sergey Brin 1998) The Google Goals Create a PageRank r(p ) that is not query dependent Off-line calculations No query time computation Let the Web vote with in-links But not by simple link counts One link to P from Yahoo! is important Many links to P from me is not Share The Vote Yahoo! casts many votes value of vote from Y ahoo! is diluted If Yahoo! votes for n pages Then P receives only r(y )/n credit from Y

Google s PageRank (Lawrence Page & Sergey Brin 1998) The Google Goals Create a PageRank r(p ) that is not query dependent Off-line calculations No query time computation Let the Web vote with in-links But not by simple link counts One link to P from Yahoo! is important Many links to P from me is not Share The Vote Yahoo! casts many votes value of vote from Y ahoo! is diluted If Yahoo! votes for n pages Then P receives only r(y )/n credit from Y

Google s PageRank (Lawrence Page & Sergey Brin 1998) The Google Goals Create a PageRank r(p ) that is not query dependent Off-line calculations No query time computation Let the Web vote with in-links But not by simple link counts One link to P from Yahoo! is important Many links to P from me is not Share The Vote Yahoo! casts many votes value of vote from Y ahoo! is diluted If Yahoo! votes for n pages Then P receives only r(y )/n credit from Y

The Definition r(p )= r(p ) P P B P PageRank B P = {all pages pointing to P } P = number of out links from P

The Definition r(p )= r(p ) P P B P PageRank B P = {all pages pointing to P } P = number of out links from P Successive Refinement Start with r 0 (P i )=1/n for all pages P 1,P 2,...,P n

The Definition r(p )= r(p ) P P B P Successive Refinement Start with r 0 (P i )=1/n PageRank B P = {all pages pointing to P } P = number of out links from P for all pages P 1,P 2,...,P n Iteratively refine rankings for each page r 1 (P i )= r 0 (P ) P P B Pi

The Definition r(p )= r(p ) P P B P Successive Refinement Start with r 0 (P i )=1/n PageRank B P = {all pages pointing to P } P = number of out links from P for all pages P 1,P 2,...,P n Iteratively refine rankings for each page r 1 (P i )= r 0 (P ) P P B Pi r 2 (P i )= r 1 (P ) P P B Pi

The Definition r(p )= r(p ) P P B P Successive Refinement Start with r 0 (P i )=1/n PageRank B P = {all pages pointing to P } P = number of out links from P for all pages P 1,P 2,...,P n Iteratively refine rankings for each page r 1 (P i )= r 0 (P ) P P B Pi r 2 (P i )= r 1 (P ) P P B Pi... r j+1 (P i )= r j (P ) P P B Pi

In Matrix Notation After Step k π T k = [r k(p 1 ),r k (P 2 ),...,r k (P n )]

In Matrix Notation After Step k π T k = [r k(p 1 ),r k (P 2 ),...,r k (P n )] π T k+1 = πt k H where h ij = { 1/ Pi if i j 0 otherwise

In Matrix Notation After Step k π T k = [r k(p 1 ),r k (P 2 ),...,r k (P n )] π T k+1 = πt k H where h ij = { 1/ Pi if i j 0 otherwise PageRank vector = π T = lim k π T k = eigenvector for H Provided that the limit exists

Tiny Web 1 2 P 1 P 2 P 3 P 4 P 5 P 6 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 4

1 2 3 6 5 H = Tiny Web P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 P 3 P 4 P 5 P 6 4

1 2 3 6 5 H = Tiny Web P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 P 4 P 5 P 6 4

1 2 3 6 5 H = Tiny Web P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 P 5 P 6 4

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 P 6 4

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 4

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 4

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 4 A random walk on the Web Graph

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 4 A random walk on the Web Graph PageRank = π i = amount of time spent at P i

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 Markov chain 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 3 6 5 4

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 page 2 is a dangling node 3 6 5 4

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 4 A random walk on the Web Graph PageRank = π i = amount of time spent at P i Dead end page (nothing to click on) a dangling node

Tiny Web 1 2 3 6 5 H = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 0 0 0 0 0 0 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 4 A random walk on the Web Graph PageRank = π i = amount of time spent at P i Dead end page (nothing to click on) a dangling node π T =(0, 1, 0, 0, 0, 0) = e-vector = Page P 2 is a rank sink

The Fix Allow Web Surfers To Make Random Jumps

Ranking with a Random Surfer Rank each page corresponding to a search term by number and quality of votes cast for that page. Hyperlink as vote 2 surfer teleports 3 6 5 4

The Fix Allow Web Surfers To Make Random Jumps ( 1 Replace zero rows with et n = n, 1 n,..., 1 ) n S = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 1/6 1/6 1/6 1/6 1/6 1/6 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0

The Fix Allow Web Surfers To Make Random Jumps ( 1 Replace zero rows with et n = n, 1 n,..., 1 ) n S = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 1/6 1/6 1/6 1/6 1/6 1/6 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 S = H + aet 6 is now row stochastic = ρ(s) = 1

The Fix Allow Web Surfers To Make Random Jumps ( 1 Replace zero rows with et n = n, 1 n,..., 1 ) n S = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 1/6 1/6 1/6 1/6 1/6 1/6 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 S = H + aet 6 is now row stochastic = ρ(s) = 1 Perron says π T 0 s.t. π T = π T S with i π i = 1

Nasty Problem The Web Is Not Strongly Connected

Nasty Problem The Web Is Not Strongly Connected S is reducible S = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 1/6 1/6 1/6 1/6 1/6 1/6 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0

Nasty Problem The Web Is Not Strongly Connected S is reducible S = P 1 P 2 P 3 P 4 P 5 P 6 P 1 0 1/2 1/2 0 0 0 P 2 1/6 1/6 1/6 1/6 1/6 1/6 P 3 1/3 1/3 0 0 1/3 0 P 4 0 0 0 0 1/2 1/2 P 5 0 0 0 1/2 0 1/2 P 6 0 0 0 1 0 0 Reducible = PageRank vector is not well defined Frobenius says S needs to be irreducible to ensure a unique π T > 0 s.t. π T = π T S with i π i = 1

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i )

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i ) The powers S k fail to converge

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i ) The powers S k fail to converge π T k+1 = πt k S fails to convergence

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i ) The powers S k fail to converge π T k+1 = πt k S fails to convergence Convergence Requirement Perron Frobenius requires S to be primitive

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i ) The powers S k fail to converge π T k+1 = πt k S fails to convergence Convergence Requirement Perron Frobenius requires S to be primitive No eigenvalues other than λ = 1 on unit circle

Irreducibility Is Not Enough Could Get Trapped Into A Cycle (P i P j P i ) The powers S k fail to converge π T k+1 = πt k S fails to convergence Convergence Requirement Perron Frobenius requires S to be primitive No eigenvalues other than λ = 1 on unit circle Frobenius proved S is primitive S k > 0 for some k

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n PageRank vector π T = left-hand Perron vector of G

Ranking with a Random Surfer If a page is important, it gets lots of votes from other important pages, which means the random surfer visits it often. Simply count the number of times, or proportion of time, the surfer spends on each page to create ranking of webpages.

Ranking with a Random Surfer If a page is important, it gets lots of votes from other important pages, which means the random surfer visits it often. Simply count the number of times, or proportion of time, the surfer spends on each page to create ranking of webpages. Proportion of Time Page 1 =.04 Page 2 =.05 Page 3 =.04 Page 4 =.38 Page 5 =.20 Page 6 =.29 2 3 6 5 4 Ranked List of Pages Page 4 Page 6 Page 5 Page 2 Page 1 Page 3

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n PageRank vector π T = left-hand Perron vector of G Some Happy Accidents x T G = αx T H + βv T Sparse computations with the original link structure

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n PageRank vector π T = left-hand Perron vector of G Some Happy Accidents x T G = αx T H + βv T Sparse computations with the original link structure λ 2 (G) =α Convergence rate controllable by Google engineers

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n PageRank vector π T = left-hand Perron vector of G Some Happy Accidents x T G = αx T H + βv T Sparse computations with the original link structure λ 2 (G) =α Convergence rate controllable by Google engineers v T can be any positive probability vector in G = αh + uv T

The Google Fix Allow A Random Jump From Any Page G = αs +(1 α)e > 0, E = ee T /n, 0 <α<1 G = αh + uv T > 0 u = αa +(1 α)e, v T = e T /n PageRank vector π T = left-hand Perron vector of G Some Happy Accidents x T G = αx T H + βv T Sparse computations with the original link structure λ 2 (G) =α Convergence rate controllable by Google engineers v T can be any positive probability vector in G = αh + uv T The choice of v T allows for personalization

Google matrix G > 0 Perron-Frobenius guarantees existence of π uniqueness of π convergence of algorithm rate of convergence: 2 (G) = α

Ranking Sports Teams

PageRank applied to Sports (joint work with Carl Meyer) webpages vote with hyperlinks losing teams vote with point differentials 45 Duke 45 Miami 20 VT 18 3 27 31 38 8 UNC 2 UVA not as successful at ranking and predicting winners as mhits

mhits each team i gets both offensive rating o i and defensive rating d i mhits Thesis: A team is a good defensive team (i.e., deserves a high defensive rating d j ) when it holds its opponents (particularly strong offensive teams) to low scores. A team is a good offensive team (i.e., deserves a high offensive rating o i ) when it scores many points against its opponents (particularly opponents with high defensive ratings). Miami 17 UNC Duke 38 25 7 VT 14 52 7 UVA P= Duke Miami UNC UVA VT Duke 0 7 21 7 0 Miami 52 0 34 25 27 UNC 24 16 0 7 3 UVA 38 17 5 0 14 VT 45 7 30 52 0 5 Graph Point Matrix P 0

Summation Notation mhits Equations d j = X i I j p ij 1 o i and o i = X j L i p ij 1 d j Matrix Notation: iterative procedure d (k) = P T 1 o (k) and o (k) = P 1 d (k 1) related to the Sinkhorn-Knopp algorithm for matrix balancing (uses successive row and column scaling to transform P 0 into doubly stochastic matrix S) P. Knight uses Sinkhorn-Knopp algorithm to rank webpages

mhits Results: tiny NCAA (data from Luke Ingram) Duke Miami 38 VT 17 25 7 52 14 UNC 7 UVA 5

Weighted mhits Weighted Point Matrix P 0 p ij = w ij p ij (w ij = weight of matchup between teams i and j) possible weightings w ij w Linear w Logarithmic t 0 tf t t 0 tf t w Exponential w Step Function t 0 tf t t 0 t s tf t

mhits Results: full NCAA (image from Neil Goodson and Colin Stephenson)

mhits Results: full NCAA weightings can easily be applied to all ranking methods interesting possibilities for weighted webpage ranking

mhits Point Matrix P 0 Perron-Frobenius guarantees (for irreducible P with total support) existence of o and d uniqueness of o and d convergence of mhits algorithm rate of convergence of mhits algorithm σ2 2 (S), where S = D (1/o) P D (1/d)

Recommendation Systems

Recommendation Systems A 0 purchase history matrix A = Item 1 1 5... 0 Item 2 0 0... 1......... Item m 0 1... 2 User 1 User 2... User n Find similar users Find similar items Cluster users into classes EX: use NMF so that A m n W m k H k n

NMF Algorithm: Lee and Seung 2000 Mean Squared Error objective function min ka WHk 2 F s.t. W, H 0 W = abs(randn(m,k)); H = abs(randn(k,n)); for i = 1 : maxiter H = H.* (W T A)./ (W T WH + 10 9 ); W = W.* (AH T )./ (WHH T + 10 9 ); end Many parameters affect performance (k, obj. function, sparsity constraints, algorithm, etc.). NMF is not unique! (proof of convergence to fixed point based on E-M convergence proof)

Interpretation with NMF columns of W are the underlying basis vectors, i.e., each of the n columns of A m n can be built from k columns of W m k. columns of H give the weights associated with each basis vector.... A 2 = A 1 WH 1 = item 1 5 item 2 0 item 3 0 item 4 11 item 5 1 w 1. WH 1 = h 11 + 1.4 0 0 2.4 0 w 2. h 21 +... +.7 + 0 3.2 5.1 0 0 w k. h k1.003 +... + 0 0 0 4.4 2.8.2 W, H 0 immediate interpretation (additive parts-based rep.)

user rating matrix A = Netflix 17770 movies,.5 million users movie 1 1 5... 0 movie 2 0 0... 1......... movie m 0 1... 2 User 1 User 2... User n Find similar users Find similar movies Cluster users and movies into classes Rank users Rank movies

(vismatrix tool - David Gleich) Clustering Netflix (movie-movie matrix; 17770 x 17770)

user rating matrix A = Netflix 17770 movies,.5 million users movie 1 1 5... 0 movie 2 0 0... 1......... movie m 0 1... 2 User 1 User 2... User n Find similar users Find similar movies Cluster users and movies into classes Rank users Rank movies

mhits on Netflix each movie i gets a rating m i and each user gets a rating u j mhits Thesis: A movie is a good (i.e., deserves a high rating m i ) if it gets high ratings from good (i.e., discriminating) users. A user is good (i.e., deserves a high rating u j ) when his or her ratings match the true rating of a movie. mhits Netflix Algorithm u = e; for i = 1 : maxiter m = A u; m = 5(m min(m)) max(m) min(m) ; u = 1 ((R (R>0). (em T )). 2 )e ; end

Netflix mhits results subset: 1500 super users 1 st Raiders of the Lost Ark 2 nd Silence of the Lambs 3 rd The Sixth Sense 4 th Shawshank Redemption 5 th LOR: Fellowship of the Ring 6 th The Matrix 7 th LOR: The Two Towers 8 th Pulp Fiction 9 th LOR: The Return of the King 10 th Forrest Gump 11 th The Usual Suspects 12 th American Beauty (rate 1000 movies) 13 th Pirates of the Carribbean: Black Pearl 14 th The Godfather 15 th Braveheart

The Enron Email Dataset (data from Mike Berry) PRIVATE email collection of 150 Enron employees during 2001 92,000 terms and 65,000 messages Term-by-Message Matrix f astow1 f astow2 skilling1.......... subpoena 2 0 1... dynegy 0 3 0..........

Text Mining Applications Data compression Find similar terms Find similar documents Cluster documents Cluster terms Topic detection and tracking

Unclustered Enron A

NMF-clustered Enron A

Clustering the Enron Email Dataset (image from Mike Berry)

Tracking Enron clusters over time (image from Mike Berry)

Meta-Algorithms

Rank Aggregation

Rank Aggregation average rank Borda count simulated data graph theory

Average Rank

Borda Count for each ranked list, each item receives a score equal to the number of items it outranks.

Simulated Data 3 ranked lists mhits VT beats Miami by 1 point, UVA by 2 points,... Miami beats UVA by 1 point, UNC by 2 points,... UVA beats UNC by 1 point, Duke by 2 points UNC beats Duke by 1 point repeat for each ranked list generates game scores for teams Simulated Game Data

Simulated Data

Graph Theory more voting ranked lists are used to form weighted graph possible weights * w ij = # of ranked lists having i below j * w ij = sum of rank differences of lists having i below j run algorithm (e.g., Markov, PageRank, HITS) to determine most important nodes

Aggregation Rating Aggregation

Rating Aggregation rating vectors form rating differential matrix R for each rating vector

Rating Aggregation rating differential matrices R 0 differing scales normalize

Rating Aggregation rating differential matrices

Rating Aggregation rating differential matrices combine into one matrix average

Rating Aggregation rating differential matrices combine into one matrix average

Rating Aggregation average rating differential matrix R average 0 run ranking method * Markov method on R T average * row sums of R average / col sums of R average * Perron vector of R average

Rating Aggregation average rating differential matrix R average 0 run ranking method * Markov method on R T average * row sums of R average / col sums of R average * Perron vector of R average

Cluster Aggregation many clustering algorithms = many clustering results Can we combine many results to make one super result? Cluster Aggregation Algorithm 1. Create aggregation matrix F 0 f ij = # of methods having items i and j in the same cluster 2. Run favorite clustering method on F

Cluster Aggregation Example Method 1 Method 2 Method 3 item cluster assignment 1 1 2 3 3 2 4 1 5 1 6 2 1 4 5 item cluster assignment 1 3 2 1 3 2 4 3 5 1 6 2 1 4 item cluster assignment 1 1 2 2 3 2 4 1 5 3 6 2 1 4 Cluster Aggregated Graph 1 2 3 1 3 1 1 3 3 3 6 2 3 6 2 5 2 3 6 5 4 5 6 1 Cluster Aggregated Results Fiedler using just one eigenvector 1 4 5 2 3 6 Fiedler using two eigenvectors 1 4 3 6 5 2

Conclusions Applied problems often have nonnegative data. This nonnegativity is exploitable structure. proofs for convergence and rates of convergence proofs for existence and uniqueness Nonnegativity is easily interpretable. Often it pays to maintain nonnegativity throughout the modeling process. nonnegative matrix factorizations nonnegative rating vectors