cadenas de markov y algoritmo pagerank

18
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

Upload: edgar-sucar

Post on 22-Oct-2015

229 views

Category:

Documents


0 download

DESCRIPTION

Cadenas de Markov yalgoritmo PageRank

TRANSCRIPT

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>.