cadenas de markov y algoritmo pagerank
DESCRIPTION
Cadenas de Markov yalgoritmo PageRankTRANSCRIPT
UNIVERSIDAD DE GUANAJUATO
Cadenas de Markov y algoritmo PageRank
Elementos de Probabilidad y Estadística
Ricardo López – Omar Urquidez – Edgar Sucar –Yair Hernández
12/06/2013
2
Índice
Introducción ..................................................................................... 3
1.Cadenas de Markov ....................................................................... 4
1.1.Matriz de Transición de Probabilidades: .................................. 5
1.2.Clasificación de cadenas de Markov. ........................................ 7
2.Vectores y valores propios. ............................................................ 8
3.PageRank ....................................................................................... 9
3.1.Formalización del algoritmo ................................................... 10
3.1.1.La Fórmula Original para PageRank .................................. 10
3.1.2.Representación matricial de Sumas ................................. 12
3.1.3.Problemas con el proceso iterativo .................................. 13
3.2.Aplicación de la teoría de Markov .......................................... 13
3.2.1.Ajustando el modelo original ............................................ 14
Conclusión ...................................................................................... 17
Referencias ..................................................................................... 18
3
Introduccio n
En este trabajo se describirá un poco de las matemáticas aplicadas en el algoritmo
PageRank, creado por Sergey Brin y Lawrence Page, con un enfoque hacia los elementos
de la teoría de probabilidad utilizados.
Para ello primero se dará una introducción a la teoría de cadenas de Markov,
dando las definiciones y resultados esenciales. Después se enlistan unas pocas
definiciones de vectores propios, (muy brevemente, pues esto corresponde a álgebra
lineal) a manera de complemento para el contenido.
Posteriormente se describe el algoritmo PageRank en base a la teoría definida en
las 2 secciones anteriores.
4
1.Cadenas de Markov
Definición 1.1: Dado es una sucesión de variables aleatorias que toma
valores en un conjunto numerable llamado el espacio de estados, si para toda y
para todos los posibles valores de nosotros tenemos que:
( | = ( | = ( |
Entonces se dice que es una cadena de Markov o tenemos la propiedad de Markov,
nosotros escribimos
( | ( |
Donde | es llamada la matriz de transición de probabilidades de la cadena.
Observaciones:
Las variables aleatorias están sobre el mismo espacio de probabilidad.
Una Interpretación de esto es que decimos que para una cadena de Markov el
futuro es condicionalmente independiente del pasado, dado el presente.
Si es un conjunto finito se dice que es una cadena de Markov finita.
Ejemplo (Problema del camino aleatorio):
Un caminante se encuentra sobre la recta numérica Z (originalmente en 0) y tiene una moneda con probabilidad de cara igual a En cada unidad de tiempo la revolea; si sale cara se mueve una unidad en el sentido positivo si sale cruz con probabilidad se mueve en sentido negativo sea la posición en el instante se tiene que es una cadena de Markov y la matriz de transición de probabilidades esta dada por: ( | es igual a si , si y en otro caso
Es decir su matriz de transición es:
(
Notación: Se escribe ( | = ( | . Si
nosotros deseamos especificar el valor inicial de escribimos
( | ( |
5
Propiedad 1.1: Si es una cadena de Markov entonces:
( |
(
| Para .
Propiedad 1.2: Dada una cadena de Markov, la sucesión es una cadena de
Markov para todo
Demostración: Si es una cadena de Markov utilizando la anterior propiedad para
Entonces,
( | ( |
Luego,
( | ( |
Y así,
( | ( | ( |
Demostrando lo pedido.
Propiedad 1.3: SI es una cadena de Markov con un espacio de estados entonces
( para todo es una cadena de Markov.
Demostración: El espacio de estados de es una colección de pares ordenados de
estados de , es decir,
( |
Ahora,
( ( | ( |
( |
Ya que es una cadena de Markov. Entonces,
( ( | ( | ( ( |
Demostrando lo pedido.
1.1.Matriz de Transición de Probabilidades:
Definición 1.2: Dada una cadena de Markov con espacio de estados finito con
cardinalidad la matriz de X ( es la matriz de transición de probabilidades con
6
( | ( |
Denotada por , claramente como es medida de probabilidad
para toda , y
∑ ∑ ( | ∑ (
( Como
∑ (
( ⋃
Este último hecho no es difícil de demostrar ya que para | | , si son todos
elementos distintos entre sí.
( ( (
(
Pues pues
son elementos de , si la cardinalidad de es infinita numerable entonces el argumento
es análogo, finalmente
∑ (
(
( ⋃
(
(
(
(
(
Demostrando lo pedido.
Definición 1.3: Cualquier Matriz que cumpla el par de propiedades citadas anteriormente
se le llama matriz estocástica.
Definición 1.4: Además, si cumple que
∑
se le llama matriz doblemente estocástica.
Definición 1.5: Si para toda , y además
∑
se le denota como matriz subestocástica.
Proposición 1.1: El producto de 2 matrices estocásticas es una matriz estocástica.
7
Demostración: Sean
(
) de dimensión X y
(
) de dimensión X
Entonces sea con ∑ ( .
Demostraremos que ∑ para toda
∑
∑∑
∑∑
∑ ∑
∑ ∑
Pero ∑ para toda , pues es matriz estocástica, entonces:
∑ ∑
∑
Finalmente como es una matriz estocástica ∑ para toda , entonces
∑
Entonces es matriz estocástica y demostramos lo pedido.
Designamos ( ( | , denotando a la matiz con índices en cuyas
posiciones son es ( .
Proposición 1.2: ( ( Para todo
1.2.Clasificación de cadenas de Markov.
Definición 1.6: Sea una cadena de Markov si para algún se tiene que
( para toda
entonces la cadena se dice que es regular.
Definición 1.7: Una cadena de Markov es irreducible si para y en , si existe un
tal que (
8
Definición 1.8: Se dice que un estado es persistente donde es la cadena de
Markov y es el espacio de estados si | ( |
Definición 1.9: Dados decimos que se comunica con , si existe tal que
( , es decir, si la cadena visita (con probabilidad positiva) habiendo empezado .
Definición 1.10: El periodo de un estado , denotado por ( , es el máximo común
divisor de todos los enteros positivos tales que el retorno de a en pasos tiene
probabilidad positiva:
( | (
Definición 1.11:Si para toda , ( , se define ( , si ( , se
dice que es aperiódico, si es persistente y aperiódico, se dice que es ergodico.
Definición 1.12: Si es una cadena de Markov y su espacio de estados se dice que es
aperiódica si todos sus estados son aperiódicos.
Definición 1.13: Si es una cadena de Markov y su espacio de estados se dice que es
ergodica si es irreducible y todos sus estados son persistentes y aperiódicos.
2.Vectores y valores propios.
Definición 2.1: Dada una matriz , definimos los valores y vectores propios como
los escalares λ y los vectores respectivamente que satisfacen .
Definición 2.2: Un vector fila es un vector propio izquierdo si .
Definición 2.3:Definimos el “espectro de A” como el conjunto de los distintos valores
propios de A, y se denota por σ(A). El radio espectral se define como (
( | |. El círculo en el plano complejo de radio ( se llama “círculo espectral” y
se puede verificar que si ||A|| es una norma de matrices, entonces ( || ||.
Los valores propios son las raíces del polinomio característico ( ( Vemos
entonces que el grado de dicho polinomio es n, y tiene por lo tanto, n raíces complejas.
Sin embargo, puede que no tenga valores propios en los reales.
Definición 2.4: La “multiplicidad algebraica” de un valor propio λ (denotada por
( ) es la multiplicidad de λ como raíz del polinomio característico.
9
Definición 2.5: La “multiplicidad geométrica” de λ ( ( ) es el número de
vectores linealmente independientes asociados a λ, i.e. ( (
.
Definición 2.6: El índice de un valor propio λ de A es el mínimo entero positivo k que
cumple (( (( .
Definición 2.7 (Método de la potencia): Comenzamos con un vector arbitrario .
Haciendo (
. Entonces ,
donde .
3.PageRank
Con el fin de describir el algoritmo de PageRank necesitamos visualizar la internet como
un grafo. La estructura formada por hipervínculos de la red define un grafo dirigido
masivo. Los nodos en el grafo representan páginas web y las aristas dirigidas representan
los hipervínculos.
Figura 3.1 Mapas de Munzner y Hyun de subconjuntos de la internet
Antes de 1998, el grafo de la internet fue en gran medida una fuente no explotada de
información. Mientras investigadores como Kleinberg, Bring y Page reconocían el
potencial de estos grafos, la mayoría de las personas se preguntaban qué relación habría
entre sus algoritmos de búsqueda y el grafo de la web.
10
La conexión recae en visualizar cada hipervínculo como una recomendación. Es decir, un
vínculo de mi página a otra representa una aprobación a ésta. Por lo tanto, una página con
un gran número de recomendaciones debería ser de mayor importancia a una con pocas.
Sin embargo, de manera similar a otros sistemas como citas bibliográficas o cartas de
referencias, el estatus de quien recomienda también es importante.
Por ejemplo, una carta de Donald Trump probablemente haga más por fortalecer un
solicitud de empleo que veinte anotaciones de veinte profesores y colegas desconocidos.
Por otro lado, si un entrevistador descubre que Donald Trump es increíblemente generoso
con sus alabanzas a los empleados y ha escrito alrededor de cuarenta mil
recomendaciones en su vida, su recomendación cae repentinamente en peso. Así pues, el
peso significativo del estatus de peso de cada anotación debe reducirse para las fuentes
con un bajo o pobre criterio de discriminación.
En realidad, ésta es la manera exacta en la que el algoritmo de PageRank de Google
trabaja. El algoritmo ha adquirido gran popularidad desde su primer aplicación. Miles de
libros y escritos han sido escritos con el fin de analizar y exponer la importancia del
mismo. De acuerdo con el sitio de Google
(http://www.google.com/technology/index.html) “el corazón del software de Google es el
PageRank [...] que continúa proporcionando la base de todas nuestras herramientas de
búsqueda”.
Más adelante procederemos a formalizarlo, pero de manera breve podemos decir que la
tesis del PageRank es que una página web es importante si es señalada por otras páginas
importantes. A pesar de resultar un tanto redundante, veremos que esto puede ser
formalizado, de una manera bella y simple, en una fórmula matemática.
3.1.Formalización del algoritmo
Ahora es tiempo de traducir aquellas palabras en ecuaciones matemáticas. Dicha
transcripción revela que las puntuaciones de importancia por PageRank son en realidad
los valores estacionarios de una enorme cadena de Markov, y consecuentemente la teoría
de Markov explica numerosas propiedades interesantes de la simple elegancia del modelo
de PageRank de Google.
3.1.1.La Fórmula Original para PageRank
Brin y Page, los inventores del PageRank, comenzaron con una simple suma, cuya raíz en
realidad deriva de investigación bibliométricas, el análisis de la estructura de citación
entre papeles académicos.
11
Se denomina como ( al PageRank de la página , como la suma de los PageRank de
todas las páginas que apuntan a Pi.
( ∑ (
| | (3.1.1)
donde es el conjunto de páginas que apuntan a Pi, y |Pj| es el número de link a
externos de la página Pj. Notemos entonces que el PageRank de los vínculos a Pj está
regulado por el número de recomendaciones hechas por Pj. El problema con la ecuación
anterior es que los valores de ( son desconocidos. Para evitar este problema, los
creadores utilizaron un proceso iterativo.
Ellos asumieron que, en un principio, todas las páginas tienen un mismo PageRank (de
,
donde n es el número de páginas en el índice de la web de Google). Ahora la regla en la
ecuación se aplica sucesivamente, sustituyendo los valores de la anterior iteración r (Pj).
Para definir este proceso iterativo, introducimos la siguiente notación. Sea ( el
PageRank de la página Pi, en la iteración k+1. Luego,
( ∑ (
| | (3.1.2)
Este proceso inicia con (
para toda página Pi y se repite con la esperanza de que
el puntaje PageRank a la larga convergerá a valores finales estables. Veamos el siguiente
ejemplo, aplicando la ecuación 3.1.2 a la figura 3.2, provee la siguiente tabla después de
unas pocas iteraciones.
Iteración 0 Iteración 1 Iteración 2 Prio. 2da Iter.
( ( ( 5
( ( ( 4
( ( ( 5
( ( ( 1
( ( ( 3
Figura 3.2
12
( ( ( 2
3.1.2.Representación matricial de Sumas
Las ecuaciones provistas anteriormente calculan el PageRank una página a la vez. Usando
matrices podemos reemplazar el tedioso símbolo y, en cada iteración, computar un
vector de PageRank, el cual usa un único vector de 1xn para mantener los valores del
PageRank para todas las páginas indexadas. En orden para hacer esto, introducimos una
matriz H de nxn y un vector . La matriz H es un matriz de hipervínculos normalizada por
columnas con
| | si existe una liga del nodo i al j, y 0 en caso contrario. Aquellos
elementos no cero son probabilidades. Consideremos nuevamente el pequeño grafo de de
la figura 3.1. La matriz H para este grafo es
(
)
Los elementos no cero de la fila i corresponde a las ligas salientes de la página i, mientras
que los elementos no cero de la columna i, a las ligas entrantes a la página i. Ahora
introducimos el vector de columna ( , que será el vector de PageRank en la k-ésima
iteración. Usando esta notación de matriz, la ecuación (3.1.2) puede escribirse de manera
compacta como
( ( (3.1.3)
La ecuación matricial de (3.1.3) provee algunas observaciones inmediatas.
1. Cada iteración de la ecuación involucra una multiplicación de vector y matriz, la
cual generalmente requiere una computación de O(n2), donde n es el tamaño de la
matriz H.
2. H es una matriz muy escasa (una gran proporción de sus elementos son 0) porque
la mayoría de las páginas tienen ligas sólo a aquellas páginas que puedan
resultarles útiles. Las matrices dispersas son bienvenidas por múltiples razones. En
primer lugar, se requiere un mínimo de almacenamiento, ya que los regímenes de
almacenamiento dispersos, que almacenan sólo los elementos no nulos de la
matriz y su ubicación, existen. Así también la multiplicación de un vector por una
13
matriz que envuelve una matriz dispersa requiere un esfuerzo mucho menor que
una computación de O(n2).
3. El proceso iterativo de la ecuación es un proceso estacionario lineal simple. De
hecho, es el clásico método de la potencia, aplicado a H.
4. H se asemeja bastante a una matriz de probabilidad de transición para una cadena
de Markov. Los nodos colgantes de la malla (aquellos sin nodos salientes), crean
filas nulas en la matriz. Todas las otras columnas, correspondientes a puntos no-
colgantes,, crean filas estocásticas. Así, H es llamada subestocástica.
3.1.3.Problemas con el proceso iterativo
La ecuación (3.1.3) podría causar al lector varias preguntas. Por ejemplo,
¿Este proceso iterativo continuará indefinidamente o convergerá?
¿Bajo qué circunstancias o propiedades tenemos la certeza de que H convergerá?
¿Convergerá a algo que tenga sentido para el contexto del problema de PageRank?
¿Convergerá a un único vector o a varios?
¿La convergencia dependerá del vector inicial ( ?
Si a la larga converge, ¿qué tan larga es la espera?¿cuántas iteraciones hemos de
esperar para su convergencia?
3.2.Aplicación de la teoría de Markov
Ya que hemos introducido un poco de teoría de cadenas de Markov, podemos ver que en
las observaciones 3 y 4 notamos que la ecuación (3.1.3) parecía el método de la potencia
aplicado a una cadena de Markov con una matriz de probabilidad de transición H. Estas
observaciones resultan provechosas ya que la teoría de Markov está muy bien
desarrollada y resulta aplicable al problema de PageRank. Ahora, con la teoría de Markov
podemos hacer ajustes a la ecuación (3.1.3) que aseguren resultados deseables,
propiedades de convergencia y alentadoras respuestas a las preguntas de la sección
anterior. En particular, ahora sabemos que para cualquier vector inicial, el método de la
potencia aplicado a una matriz de Markov P, converge a un único vector positivo llamado
estacionario, siempre que P sea estocástico, irreducible y aperiódico (lo que nos implica
que sea ergódica). Por lo tanto, los problemas de convergencia del PageRank, causado por
sumideros y ciclos pueden ser superados si H es ligeramente modificada para convertirse
en una matriz de Markov con estas propiedades deseadas.
14
3.2.1.Ajustando el modelo original
Esto fue precisamente lo que hicieron Brin y Page. Es interesante mencionar que ellos no
usaron Cadenas de Markov para describir su algoritmo. Esto fue hecho después
especialistas en Cadenas de Markov, encontrando así una de sus aplicaciones más
importantes.
En lugar de usar Cadenas de Markov para describir los ajustes que hicieron, usaron la
noción de un usuario aleatorio. El cual es un usuario de la web que navega en esta de
forma aleatoria siguiendo su estructura de hipervínculos. Es decir cuando llega a una
página continúa de forma aleatoria a la página de uno de sus hipervínculos y continúa este
proceso de forma indefinida. En el largo plazo el tiempo relativo que pasa el usuario en
una página dada es una medida de la importancia relativa de dicha página. Si pasa una
gran proporción de tiempo en una página entonces debe haber llegado a ella a través de
diferentes hipervínculos, seleccionándolos en otras páginas de forma aleatoria. Por lo que
páginas que volvió deben ser importantes ya que deben ser apuntadas por otras páginas
importantes. Desafortunadamente el usuario se encuentra en un problema cuando llega a
un nodo colgante, de los cuales hay muchos en la web, por ejemplo archivos pdf,
imágenes, etc. Para arreglar esto, Brin y Page definen su primer ajuste, el cual se llama
Ajuste Estocástico porque las filas 0T de H se remplazan con 1/neT donde eT es el vector
fila de puros 1’s. Como resultado el usuario aleatorio después de entrar a un nodo
colgante puede tomar un hipervínculo a cualquier página al azar. Para la web de 6 nodos
de la Figura X, la matriz estocástica es:
(
)
Esta Matriz Estocástica muestra que S se obtiene por una actualización de rango uno a H,
es decir
(
Donde αi = 1 si la página i es un nodo colgante y 0 de lo contrario. El vector binario a se
llama el vector de nodos colgantes. S es una combinación de la matriz original de
hipervínculos H y la matriz de rango un .
El ajuste garantiza que S es estocástica y por lo tanto es una matriz de transición de
probabilidad de una cadena de Markov. Sin embargo no garantiza los resultados de
convergencia buscados. Para esto Page y Brin hicieron el ajuste primitivo. Con este ajuste
15
se garantiza que la matriz es estocástica y ergódica. Una matriz ergódica es aperiódica e
irreducible. Por lo tanto el vector estacionario de la matriz (en este caso es el vector
PageRank) existe es único y se puede encontrar por el Método de las Potencias. Brin y
Page describieron esto usando el argumento del usuario aleatorio de la siguiente manera:
Mientras el usuario está navegando por los hipervínculos, en un momento dado se aburre
y decide visitar cualquier página aleatoria, de donde continúa su navegación. Para
modelar esto, ellos hicieron la siguiente matriz:
(
Donde es un escalar entre 0 y 1. G se llama la matriz Google. En este modelo es un
parámetro que controla la proporción de tiempo que el usuario navega y no visita una
página de manera aleatoria. Es decir si el usuario pasa 60% del tiempo
navegando y 40% del tiempo selecciona una página la visita. La página que visita es
aleatoria ya que la matriz para la visita aleatoria E=
es uniforme, es decir que el
usuario puede visitar cualquier página cuando deja de navegar con la misma probabilidad.
Las consecuencias del ajuste primitivo son las siguientes:
G es estocástica pues es la combinación convexa de las matrices estocásticas S y E.
G es irreducible ya que cada página está conectada a todas las páginas.
G es aperiódica ya que para todo i.
G es ergódica ya que para algún k, en especial k=1. Esto implica la
existencia de un único πT positivo, y el método de las potencias aplicado a G
converge a este vector.
G es completamente densa. Lo que es malo computacionalmente, pero se puede
escribir G como una actualización de rango uno a H.
En resumen el método PageRank de Google es:
( (
Lo que es aplicar el método de la potencia a G.
El problema en si puede ser reducido a resolver el problema de vectores propios para
donde el objetivo es encontrar el vector propio izquierdo de G normalizado,
correspondiente al valor propio dominante (Teorema de Perron-Frobenius).
16
Otra opción resolver el siguiente sistema lineal homogéneo para
(
donde hay que encontrar el vector nulo normalizado izquierdo de I-G. En ambos casos
está incluida la ecuación de normalización , que asegura que sea un vector de
probabiliad.
Para matrices pequeñas se pueden utilizar fórmulas; sin embargo, dichos métodos
incluyen matrices de un orden máximo de 4. Sin embargo para matrices de orden 5 ó más
no es posible, pues el polinomio característico es de grado al menos 5. Como las matrices
de Google claramente son de orden superior a 5, para resolver ambos sistemas es
necesario utilizar métodos computacionales eficientes. Uno de ellos es el método de la
potencia, que es el más utilizado y que da una buena aproximación a lo que se pide. Este
método aproxima el valor y vector propios dominantes de una matriz. Es el método
sugerido por Brin y Page en su artículo original.
17
Conclusio n
El algoritmo de PageRank es una idea revolucionaria, que cambió la
forma de organizar y priorizar las páginas en la web para tener así un
mejor método de búsqueda.
La idea principal es la de ver a un usuario
aleatorio que va navegando la red, seleccionando los vínculos de forma
aleatoria. De esta forma se va considerar de mayor importancia las
páginas en las que pase más tiempo, por lo que su probabilidad de caer
en una de estas es mayor.
Debido a los problemas en este modelo, como
páginas sin salidas, se tuvieron que realizar diversos ajustes.
Herramientas de probabilidad como Cadenas de Markov hicieron esto
posible. Esto se hizo al modelar la web como una cadena de Markov en
donde las páginas son estados.
El gran desarrollo de esta teoría (el
conocimiento de sus diversas propiedades) permitió modificar este
modelo para librar las dificultades de la implementación del
algoritmo, en particular la matriz de transición de la cadena de
Markov fue de gran utilidad, de hecho esta es la que permite calcular
las calificaciones (PageRank) de las páginas, usando un método
iterativo de Algebra Lineal llamado Método de las Potencias.
En conclusión el trabajo demuestra como la formalidad y profundidad de
las matemáticas en este caso de probabilidad, hicieron posible la
implementación de un modelo revolucionario de organizar la web, que
mejoró radicalmente la búsqueda en esta. Aunque la visión original de
los autores del algoritmo no fue completamente desde un punto de
Probabilidad, la inclusión de esta permitió avances significativos en
el algoritmo.
18
Referencias
Kemeny, John G. y J. Laurie Snell. Finite Markov Chains. Berlin: Springer-Verlag, 1976.
Langville, Amy N. y Carl D. Meyer. Google's PageRank and Beyond: The Science of Search Engine
Rankings. Princeton, New Jersey: Princeton University Press, 2006.
Stirzaker, David. Elementary Probability. Cambridge, Gran Bretaña: Cambridge University Press,
1994.
Wills, Rebecca S. «Google's PageRank: The Math Behind the Search Engine.» 1 de mayo de 2006.
University of Vermont: Mathematical Models and Their Analysis. 10 de junio de 2013
<http://www.cems.uvm.edu/~tlakoba/AppliedUGMath/other_Google/Wills.pdf>.
Yazlle, Jorge. «Cadenas de Markov.» 3 de diciembre de 2010. Universidad Nacional de Salta: Curso
de Matemática Discreta. 6 de junio de 2012
<http://www.unsa.edu.ar/~hibbard/discreta/markov.pdf>.