The Linear Algebra behind Google's PageRank (Spanish)

1,079 views
934 views

Published on

Presentation about Google's PageRank algorithm. Based on paper "The $25,000,000,000 Eigenvector: The Linear Algebra Behind Google", by Kurt Bryan and Tanya Leise; but also relying on related material, including original paper about PageRank Citation Ranking.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,079
On SlideShare
0
From Embeds
0
Number of Embeds
80
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

The Linear Algebra behind Google's PageRank (Spanish)

  1. 1. Universidad de Costa Rica Maestría en Computación Recuperación de Información PF-3394El Vector Propio de los $25.000.000.000 El Álgebra Lineal Detrás de Google * Aníbal Gómez Estrada A46272 Fernando Saborío Quirós 962703 * Kurt Bryan, Rose-Hulman Institute of Technology Julio 2008 * Tanya Leise, Amherst College
  2. 2. Motivación•  Motor de búsqueda moderno usa un proceso de dos pasos para recuperar las páginas relacionadas con una consulta: •  Paso 1: Modelo de RI con Índice Invertido (Vectorial) •  Paso 2: Depuración de resultados a partir de algún escalafón de las páginas (ranking)•  El “puntaje” obtenido en ambos pasos se combina para producir el escalafón final•  Para Paso 2, PageRank es: •  Usado por Google •  Independiente de la consulta e “inmune” a spamming•  Sus detalles, intrínsecamente matemáticos (necesarios para programarlo), se discuten en esta exposición J Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  3. 3. Acerca de la Exposición•  “The PageRank Citation Ranking: Bringing Order to the Web” por Sergey Brin y Larry Page (1998), introduce el método•  “Deeper Inside PageRank” por Amy Langville y Carl Meyer (2004), profundiza matemáticamente en el algoritmo (y sus propiedades) y lo describe como un problema de Cadenas de Markov•  “The $25.000.000.000 Eigenvector: The Linear Algebra Behind Google” (2006), es la base de nuestra exposición pero se incorporan elementos de los artículos anteriores Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  4. 4. Introducción•  PageRank produce un escalafón basado en la estructura de enlaces del web: •  Calcula el grado de “importancia” de una página web •  Puntaje de cada página es un número real no negativo•  Si u es una página web: •  Fu = conjunto de páginas a las Bc = {A, B} que apunta u (forward-links) A y B son •  Bu = conjunto de páginas que back-links de C apuntan a u (back-links) •  El puntaje de cada página u se calcula a partir de las v páginas que apuntan a la página u (que tienen enlace a u) Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  5. 5. Introducción (2)•  Una alternativa ingenua para asignar una puntuación xu a cada página u es: xu = |Bu| •  x1 = 2 •  x2 = 1 •  x3 = 3 •  x4 = 2•  La página 3 sería la “más importante” y la página 2 la “menos importante. Peeeeero, NO se toma en cuenta: •  El voto de una página “importante” debe “valer más” •  Una página sólo debe emitir un “voto” Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  6. 6. PageRank•  El web es una “democracia” donde las páginas “votan” por la importancia de las otras páginas (a través de enlaces)•  “El voto de una página importante debe valer más”: •  x1 = x3 + x4 •  x2 = x1 •  x3 = x1 + x2 + x4 •  x4 = x1 + x2•  “Una página sólo debe emitir un voto”: •  x1 = (x3/1) + (x4/2) •  x2 = (x1/3) •  x3 = (x1/3) + (x2/2) + (x4/2) •  x4 = (x1/3) + (x2/2) Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  7. 7. PageRank (2)Motivación | Introducción | PageRank | Vector Propio | Algoritmo | ConclusiónUniversidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  8. 8. PageRank (3)•  Representa el web como matriz cuadrada de orden n (n es la cantidad de páginas). En el primer ejemplo: •  x1 = (x3/1) + (x4/2) •  x2 = (x1/3) •  x3 = (x1/3) + (x2/2) + (x4/2) •  x4 = (x1/3) + (x2/2)•  La celda Pu,v representa la probabilidad de moverse a la página u a través del enlace que está en la página v: •  Una página no puede votar por ella misma (diagonal 0)•  La matriz es sub-estocástica pues la suma a nivel de columnas es menor o igual a uno: •  “Columnas de ceros”: asociadas a páginas sin enlaces Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  9. 9. PageRank (4)•  Los valores X=[x1, x2, x3, x4], P XT = XT se obtienen resolviendo el sistema de ecuaciones lineales representado por: •  P XT = XT•  Luego de resolver el sistema: X= [x1, x2, x3, x4] = [12, 4, 9, 6]•  Vector X es el escalafón: tiene el PageRank de cada página•  Vector X se “escala” para que sus componentes sumen 1: X= [12/31, 4/31, 9/31, 6/31] Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  10. 10. PageRank (5)•  Simplificadamente, Brin y Page definen PageRank como: Peso de llegar aleatoriamente Peso de llegar a a la página u a través de la la página u estructura del web directamente•  Donde: (por páginas que apuntan a u) (probabilidad) •  α es un factor que pondera dos “medidas” •  n es la cantidad total de páginas del web•  Pero, ¿Porqué NO sólo basarse en la estructura del web? •  La respuesta tiene raíces meramente matemáticas… Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  11. 11. El Vector Propio•  Resolver el sistema de ecuaciones lineales denotado por P XT = XT corresponde a encontrar el espacio propio de la matriz cuadrada P compuesto por vectores v tal que: Av= λ v v es un vector propio de A asociado al valor propio λ•  Un espacio propio es el conjunto de vectores propios con valor propio común. Con “A = P” y “v = XT”, PageRank del web requiere: •  El valor propio λ=1 exista •  El espacio propio de P asociado a λ=1 sólo esté compuesto por un único vector propio XT. De lo contrario, sería “confuso” tener varios escalafones! Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  12. 12. El Vector Propio (2)•  “Una matriz estocástica tiene λ=1 como valor propio”. Una matriz es estocástica si sus celdas son no-negativas y si todas las celdas de cada columna suman 1. Peeeero: ⇒ Donde:•  Brin y Page… Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  13. 13. El Vector Propio (3)•  “Una matriz irreducible garantiza la existencia de un único vector propio”. Una matriz es irreducible si su grafo permite que todo nodo sea alcanzable desde cualquier otro nodo. Peeeero: ⇒⇒ con: α=0.9 Donde: Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  14. 14. El Vector Propio (4)•  Recapitulando, la matriz sub-estocástica inicial P se convierte en estocástica y irreducible a partir de:•  Así, sólo existe un único vector propio (escalafón) con valor propio λ=1 asociado a•  Pero: ¿Cómo se calcula el vector propio de ? Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  15. 15. El Vector Propio (5)•  La matriz de PageRank tiene un orden de varios billones (Google indexa varios billones de páginas): •  Es imposible o muy costoso calcular el vector propio XT simbólicamente a partir del polinomio característico dado por det(λI – A) = 0 •  Se debe aplicar un método numérico. Son algoritmos iterativos que convergen a una aproximación del vector propio XT, a partir de un vector inicial X(0)T•  Aunque existen métodos más eficientes, el método de las potencias es el preferido para calcular PageRank: Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  16. 16. El Vector Propio (6)•  Recapitulando, los cálculos que hace el método en cada iteración son:•  El método de las potencias aplicado a se puede implementar sobre la matriz original P! •  Dispersa: muchos ceros (páginas con pocos enlaces) •  Cada iteración sólo requiere el vector anterior Xk-1T Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  17. 17. El Algoritmo •  A través del método de las potencias, el algoritmo para calcular el PageRank del web luce así (vector propio XT):                                                                                                                                 Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  18. 18. Algoritmo (2) •  La cantidad de iteraciones para la convergencia está asociada al nivel de “tolerancia” ε. Se puede estimar con                                                                                                                                 •  Por ejemplo, con ε = 0.000001 = 10-6, α = 0.85… •  La tasa de convergencia se puede “manipular” con “α”: •  Entre más pequeño, más rápida la convergencia pero menos se usa la estructura de enlaces del web •  Con diferentes valores de “α” se pueden producir diferentes escalafones o PageRanks… Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  19. 19. Conclusión•  Estructura de enlaces del web es muy útil en tarea de RI•  PageRank es tan sólo una de las medidas empleadas por Google para retornar resultados relevantes: •  Probablemente, el motor usa muchas otras heurísticas•  PageRank modela la web como un grafo en donde grado de importancia se basa en la centralidad de sus vértices: •  Asigna una “puntuación” global a cada página, independientemente de su contenido •  Back-links proveen el mecanismo de “votación”•  PageRank “fuerza” a que la matriz de transición entre los vértices del web sea estocástica e irreducible, con el objetivo de calcular un único escalafón (vector propio) Motivación | Introducción | PageRank | Vector Propio | Algoritmo | Conclusión Universidad de Costa Rica - Maestría en Computación – Recuperación de Información – Julio 2008
  20. 20. Universidad de Costa Rica Maestría en Computación Recuperación de Información PF-3394El Vector Propio de los $25.000.000.000 El Álgebra Lineal Detrás de Google * Aníbal Gómez Estrada A46272 Fernando Saborío Quirós 962703 * Kurt Bryan, Rose-Hulman Institute of Technology Julio 2008 * Tanya Leise, Amherst College

×