cartel

1
Instituto Politécnico Nacional Escuela Superior de Física y Matemáticas El PageRank de Google Frente a los enormes volúmenes de información que hoy en día fluyen por Internet, los buscadores se enfrentan a la necesidad de ordenar la información que se maneja. Google ha sido durante los últimos casi veinte años el buscador preferido de la mayoría y en parte su éxito se debe a cómo ha logrado ordenar la web, que, entre otras cosas, comprende el PageRank: un método en el que a cada página se le asigna una puntuación según las páginas que la citen, esto es que tengan un link que conduzcan a ella. Construyendo el PageRank Dada una red de internet que consista de páginas (identificáremos a cada página con un índice entre 1 y ), definamos {1, … , } como el conjunto de las páginas que tienen un link hacia y denotemos por al número de links de (supongamos por ahora que todas las páginas contienen al menos un link). Buscamos asignarle una puntuación a todas las páginas de la red según su relación con las otras páginas. Denotemos la puntuación de la página por y definamos de manera recursiva: = Ecuación 1 La página distribuye su importancia (puntuación) de igual manera a todas las páginas con las que conecta. Figura 1 Por ejemplo, si tenemos una red de 4 páginas, representada por la gráfica de arriba de tal modo que los vértices representan las páginas y las aristas (flechas dirigidas) representan los links hacia donde conducen, tendríamos que 1 = 3 + 4 2 , 2 = 1 3 , 3 = 1 3 + 2 2 + 4 2 y por último 4 = 1 3 + 2 2 . Si definimos = 1 , 2 , 3 , 4 , podemos ver que = , donde: = 0 0 1 1 2 1 3 0 0 0 1 3 1 2 0 1 2 1 3 1 2 0 0 Es decir, encontrar el vector de puntuación de la red implica encontrar un vector asociado al valor propio 1 de la matriz (a la cual llamaremos la matriz de links de la red). En este caso, efectivamente hay vectores propios asociados a 1: todos los múltiplos de = 2, 1 3 , 3 2 ,1 . Aplicando una escala a este vector propio de tal modo que la suma de sus entradas sea 1, tenemos = 1 31 12, 4 , 9, 6 ; denominemos a este vector el vector de puntuación. De donde podemos ver que la página más importante (la de mayor importancia) es la 1( 1 = 12 32 ≈ 0.4138). De manera general, la matriz de links de una red de páginas se define tal que: , = 1/ si tiene un link a 0 en otro caso Las entradas de son todas positivas y en caso de que todas las páginas tengan links la suma de las entradas de cualquier columna de es 1. A las matrices que cumplen estas dos condiciones se les llama matrices estocásticas. Proposición 1. Toda matriz estocástica tiene al 1 como valor propio. Demostración . Sea una matriz estocástica de tamaño ×. Los valores propios de la matriz son los mimos que los de su transpuesta, , que por ser transpuesta de una estocástica cumple que la suma de las entradas de cualquiera de sus renglones es igual con 1. Sea el vector de longitud cuyas entradas son todas 1, tenemos entonces que = y por lo tanto es un vector propio asociado al valor propio 1. Probemos ahora que la forma de indizar las páginas no afecta a sus puntuaciones. Proposición 2. Sea una red de páginas y la red que resulta de trasponer las páginas y de . Si y son las matrices de links asociadas a y respectivamente, entonces si es un vector propio de asociado a , = es un vector propio de asociado a , donde es la matriz elemental que resulta de trasponer los renglones y . Demostración . Dado que es la misma red que salvo los índices y que fueron traspuestos, podemos ver que si es la trasposición que cambia al elemento por el elemento y viceversa: ℎ, = ℎ , ∀ℎ, ∈ {1, … , } Recordemos ahora que ℎ, = ℎ , para toda ℎ, ∈ {1, … , }, donde ℎ, es la delta de Kronecker y que = para toda {1, … , }. Luego: ℎ, = =1 ℎ, , = =1 ℎ, =1 , , = =1 ℎ, =1 , , Por la definición de la delta de Kronecker el único elemento que aporta en la suma es tal que =, y por lo dicho anteriormente implica que = (), y así: ℎ, = =1 ℎ, , = =1 ℎ , , = ℎ , = ℎ, De donde se sigue que = ′. Recordando que 2 = (intercambiar dos veces los mismos renglones los regresa a su posición original), entonces si es un vector propio de tal que = , entonces para = : = = = = = con lo que queda demostrada la proposición. Esto significa que al renombrar la página por la página y viceversa, la puntuación se vuelve la puntuación de y viceversa, como era de esperarse. Dado que la posible numeración de una red de páginas es una permutación y éstas son la composición finita de trasposiciones, por la proposición anterior concluimos que la numeración no afecta la puntuación de las páginas. Si pudiéramos garantizar que toda matriz de links es una matriz estocástica (y por lo tanto 1 es un valor propio de ella) y que el vector de puntuación es único, tendríamos una forma de calificar a todas las páginas de la red. Es decir, que la ecuación: = Ecuación 2 siempre tiene solución y es único (salvo los múltiplos escalares). Sin embargo, existen dos dificultades: las redes con páginas sin links y las redes disconexas. Páginas sin links Supongamos ahora una red de tres páginas representada por la gráfica 2. Su matriz de links es = 0 0 0 0 0 0 1 1 0 . Podemos ver que ya representa un problema, porque no es matriz estocástica y, de hecho, 1 no es un valor propio, por lo que no podríamos encontrar el vector de puntuación que satisfaga la ecuación 2. En general, una red con páginas sin links de salida (dangling nodes) sufrirá este problema. Para sortear esta dificultad se han desarrollado varias formas, desde omitir las páginas sin links hasta autoreferenciarlas [Berkhin, 05]. La más común, sin embargo, es sustituir la columna de la página sin links (que es una columna de ceros por definición) con un vector de igual puntuación en cada entrada. Siguiendo esta idea, modificaremos la matriz de links de una red con páginas (algunas de ellas sin links) de la siguiente manera: Figura 2 =+ Ecuación 3 donde , = ,0 . En el ejemplo que elegimos: = 0 0 0 0 0 0 1 1 0 + 0 0 1/3 0 0 1/3 0 0 1/3 = 0 0 1/3 0 0 1/3 1 1 1/3 La matriz es estocástica y por lo tanto tiene a 1 como valor propio, de donde se sigue que el vector de puntuación es 1 5 , 1 5 , 2 5 . La página 3, al ser la única referencia de 1 y 2, hereda la importancia de éstas. Es claro que si la red no tiene páginas sin links = ( es diferente de 0 para toda y por lo tanto =0). Redes disconexas Ahora supongamos una red representada por la gráfica de la figura 3. Figura 3 Su matriz de links asociada es: = 0 1 0 0 0 1 0 0 0 0 0 0 0 1 1/2 0 0 1 0 1/2 0 0 0 0 0 Si bien es una matriz estocástica y por lo tanto tiene al 1 como valor propio, tenemos que 1 = 1 2 , 1 2 , 0, 0, 0 y 2 = 0, 0, 1 2 , 1 2 ,0 son vectores de puntuación que además son linealmente independientes. No sólo eso, sino que 1 le asigna una importancia 0 a la página 3 y 2 le asigna una importancia positiva; en ambos casos, la importancia de 5 es 0, pese a que se podría accesar al menos a dos páginas desde ella. Esto es dado que la red es una gráfica disconexa y por lo tanto su matriz de links es una matriz de bloques, todos ellos con 1 como valor propio, por lo que existen al menos tantos vectores propios de 1 linealmente independientes como bloques en la matriz de links. Para garantizar la unicidad del vector de puntuación, tendríamos que garantizar que si 1 () es el subespacio propio asociado al valor propio 1 de , dim 1 =1. Además, como hemos visto, los vectores de puntuación son vectores con todas sus entradas positivas. El teorema de Perron-Frobenius [Axelsson, 94] nos garantiza que dada una matriz positiva (esto es que todas sus entradas son mayores que 0), existe un valor propio mayor que todos los demás (un valor propio de Perron) y además dim =1 y que los vectores propios asociados a tienen todas las entradas positivas o todas las entradas negativas; por último, garantiza que =1 , para toda (en particular, si es estocástica, ≥1 y la igualdad se cumple dado que 1 es valor propio de ). Si modificáramos la matriz de links por una matriz estocástica positiva garantizaríamos la unicidad del vector de puntuación, pues 1 sería el valor propio de Perron de . Para hacer dicha modificación introduzcamos un factor de amortiguamiento (damping factor) ∈ (0,1). Dada una red de paginas con matriz de links , tomemos la matriz tal que , = 1 y definamos: = 1− + Ecuación 4 donde es como en la ecuación 3. A la matriz también se le llama la matriz de Google. El valor se interpreta de manera intuitiva como un salto entre las páginas: hasta ahora hemos supuesto siempre un recorrido a través de los links, pero si en algún momento el usuario pasara de una página a otra sin que entre ellas haya un link (como en el caso de una red disconexa en el que pasa de una componente a otra) o si el usuario en algún momento se aburriera y diera un sato aleatorio hacia cualquier otra página, el factor de amortiguamiento compensa este falso link [Page, 98]. Donde la matriz tiene valores 0, tiene valores / (la página conecta con todas las demás aleatoriamente y con una importancia ), mientras que en donde no es 0, es 1− + (la página conecta aleatoriamente a todas las páginas salvo hacia las que tiene un link). El valor que usualmente se toma para = 0.15 [Brin, Page, 98]. Tomando dicho valor y para nuestro ejemplo tendríamos que la matriz de Google para nuestra red es: = 0.85 + .15 = 0.03 0.88 0.03 0.03 0.03 0.88 0.03 0.03 0.03 0.03 0.03 0.03 0.03 0.88 0.455 0.03 0.03 0.88 0.03 0.455 0.03 0.03 0.03 0.03 0.03 Es una matriz estocástica, tiene por un valor propio al 1 y efectivamente el vector de puntuación es único: = 0.2, 0.2, 0.285, 0.285, 0.03 . Notemos que al sólo analizar la página 5 no tenía relevancia, mientras que con sí la tiene (aunque sigue siendo muy baja por no ser referencia de alguna otra). Las páginas 1 y 2 y las páginas 3 y 4 tiene la misma importancia respectivamente aunque 3 y 4 tiene más importancia que 1 y 2 por ser referencia de una página más (la 5). Es decir, si bien 5 no es referencia de ninguna página, tiene importancia por el mero hecho de existir en la red, que además hereda a sus referencias. En general, la matriz es positiva (tiene entradas mayores o iguales a 0, es positiva y 1− es positivo) y estocástica, pues lo es (recordemos que las columnas de iguales a 0 fueron sustituidas por vectores con entradas 1/)y también lo es, luego la suma de las entradas de alguna columna de es la suma de la misma columna de (que es 1) multiplicada por 1− más la suma de la columna de (que es 1) por , y por lo tanto es estocástica. Por el teorema de Perron-Frobenius, concluimos entonces que 1 es el valor propio de Perron de , dim 1 =1 y los vectores en 1 () tienen todas sus entradas positivas o todas sus entradas negativas. Por lo tanto, existe un único vector 1 () tal que =1 =1. Definición. Dada una red de páginas, definimos el vector PageRank como el único vector de entradas positivas tal que si es la matriz de Google de , = y ∥∥ 1 =1. Nota: se puede probar que el PageRank de una matriz de Google existe sin usar el teorema de Perron-Frobenius, usando sólo elementos de álgebra lineal [Bryan, Leise, 06]. Calculando el PageRank Entre los métodos iterativos para calcular vectores propios el método de la potencia [Watkins, 10] es uno de los más conocidos y dice lo siguiente: Dada una matriz de tamaño × sobre los complejos y dado un vector , si tiene un valor propio dominante 1 (es decir, 1 tiene multiplicidad algebraica 1 y es mayor que todos los demás valores propios de la matriz), entonces se cumple que: lim →∞ = Ecuación 5 donde 1 (). En la práctica, 1 es un valor que no se conoce de antemano y el método de la potencia requiere ajustes. Además, en general, para matrices grandes el método de la potencia suele converger muy lentamente y requiere muchas operaciones. Sin embargo, para la matriz de Google, sabemos que 1 =1 y se sabe que el radio de convergencia para la sucesión es 0.85, por lo que es plausible usar el método de la potencia para encontrar el PageRank, donde si es como en la ecuación 5, el PageRank será = =1 . Otra cosa interesante es que el número de iteraciones para lograr una diferencia menor que respecto al límite es ≈ log()/log(0.85) y esto es independiente de la red que se tome [Berkhin, 05] Por ejemplo, para la red de la figura 1: = 0.0375 0.0375 0.8875 0.4625 0.320833 0.0375 0.0375 0.0375 0.320833 0.4625 0.0375 0.4625 0.320833 0.4625 0.0375 0.0375 Sea = 1, 1, 1, 1 , si en cada paso redefinimos a = , entonces (en las siguiente matrices, cada columna es el vector siendo redefinido a cada paso): 1 1.42500 1.60562 1.40092 1.48792 1.47867 1.46558 1.47560 1.47228 1 0.43333 0.55375 0.60493 0.54693 0.57158 0.56896 0.57158 0.56809 1 1.28333 1.10271 1.15389 1.16114 1.14573 1.15359 1.14573 1.15131 1 0.85833 0.73792 0.84027 0.80402 0.80402 0.81188 0.80705 0.80832 1.47215 1.47295 1.47249 1.47260 1.47263 1.47259 1.47261 1.47260 1.47260 0.56715 0.56711 0.56734 0.56721 0.56724 0.56725 0.56723 0.56724 0.56724 1.15212 1.15180 1.15182 1.15187 1.15184 1.15185 1.15185 1.15185 1.15185 0.80858 0.80815 0.80836 0.80832 0.80830 0.80832 0.80831 0.80831 0.80831 De donde se sigue que el PageRank es = 0.36815, 0.14181, 0.28196, 0.20208 . [Axelsson, 94] Owe Axelsson. Iterative Solution Methods. New York: Cambridge University Press, 1994. [Berkhin, 05] Pavel Berkhin, “A Survey on PageRank computing”. En Internet Mathematics Vol. 2, No. 1 (2005), pp. 73-120. [Brin, Page, 98] Sergey Brin y Lawrence Page. “The Anatomy of a Large-Scale Hypertextual Web Search Engine”. En Computer Networks and ISDN Systems 33 (1998), pp. 107-117. [Bryan, Leise, 06] Kurt Bryan y Tania Leise “The $25,000,000,000 eigenvector. The lineal algebra behind Google”. En SIAM Review, 48 (3), 569-81, 2006. [Page, 98] Lawrence Page, Sergey Brin, Rajeev Mowani y Terry Winograd. “The PageRank citation Ranking: Bringing Order to the Web”. Reporte técnico, Stanford University, 1998. [Watkins, 10] David S. Watkins. Fundamentals of Matrix Computations, Wiley, 2010. Referencias

Upload: eduardo-camps-moreno

Post on 20-Feb-2016

10 views

Category:

Documents


1 download

DESCRIPTION

Cartel

TRANSCRIPT

Page 1: Cartel

Instituto Politécnico NacionalEscuela Superior de Física y Matemáticas

El PageRank de Google

Frente a los enormes volúmenes de información que hoy en día fluyen por Internet, los buscadores se enfrentan a la necesidad de

ordenar la información que se maneja. Google ha sido durante los últimos casi veinte años el buscador preferido de la mayoría y en parte

su éxito se debe a cómo ha logrado ordenar la web, que, entre otras cosas, comprende el PageRank: un método en el que a cada página se

le asigna una puntuación según las páginas que la citen, esto es que tengan un link que conduzcan a ella.

Construyendo el PageRank

Dada una red de internet que consista de 𝑛 páginas (identificáremos a cada página con un índice entre 1 y 𝑛), definamos 𝐿𝑘 ⊂{1,… , 𝑛} como el conjunto de las páginas que tienen un link hacia 𝑘 y denotemos por 𝑛𝑗 al número de links de 𝑗 (supongamos por ahora

que todas las páginas contienen al menos un link).Buscamos asignarle una puntuación a todas las páginas de la red según su relación con las otras páginas. Denotemos la puntuación de

la página 𝑘 por 𝑥𝑘 y definamos de manera recursiva:

𝑥𝑘 =

𝑗∈𝐿𝑘

𝑥𝑗

𝑛𝑗

Ecuación 1

La página 𝑗 distribuye su importancia (puntuación) de igual manera a todas las páginas con las que conecta.

Figura 1

Por ejemplo, si tenemos una red de 4 páginas, representada por la gráfica de arriba de tal modo que los vértices representan las páginas y

las aristas (flechas dirigidas) representan los links hacia donde conducen, tendríamos que 𝑥1 = 𝑥3 +𝑥4

2, 𝑥2 =

𝑥1

3, 𝑥3 =

𝑥1

3+

𝑥2

2+

𝑥4

2y por

último 𝑥4 =𝑥1

3+

𝑥2

2. Si definimos 𝑥 = 𝑥1, 𝑥2, 𝑥3, 𝑥4

𝑇, podemos ver que 𝐴𝑥 = 𝑥, donde:

𝐴 =

0 0 1 1 2

1 3 0 0 0

1 3 1 2 0 1 2

1 3 1 2 0 0

Es decir, encontrar el vector de puntuación de la red implica encontrar un vector asociado al valor propio 1 de la matriz 𝐴 (a la cual

llamaremos la matriz de links de la red). En este caso, efectivamente hay vectores propios asociados a 1: todos los múltiplos de 𝑥 =

2, 1 3 , 3

2 , 1𝑇. Aplicando una escala a este vector propio de tal modo que la suma de sus entradas sea 1, tenemos 𝑥 =

1

3112, 4 , 9, 6 𝑇;

denominemos a este vector el vector de puntuación. De donde podemos ver que la página más importante (la de mayor importancia) es la

1 (𝑥1 = 1232 ≈ 0.4138).

De manera general, la matriz de links 𝐴 de una red de 𝑛 páginas se define tal que:

𝐴𝑖,𝑗 = 1/𝑛𝑗 si 𝑗 tiene un link a 𝑖

0 en otro caso

Las entradas de 𝐴 son todas positivas y en caso de que todas las páginas tengan links la suma de las entradas de cualquier columna de 𝐴es 1. A las matrices que cumplen estas dos condiciones se les llama matrices estocásticas.

Proposición 1. Toda matriz estocástica tiene al 1 como valor propio.

Demostración. Sea 𝐴 una matriz estocástica de tamaño 𝑛 × 𝑛. Los valores propios de la matriz 𝐴 son los mimos que los de su

transpuesta, 𝐴𝑇, que por ser transpuesta de una estocástica cumple que la suma de las entradas de cualquiera de sus renglones es igual con

1. Sea 𝑣 el vector de longitud 𝑛 cuyas entradas son todas 1, tenemos entonces que 𝐴𝑇𝑣 = 𝑣 y por lo tanto 𝑣 es un vector propio asociado

al valor propio 1. ■

Probemos ahora que la forma de indizar las páginas no afecta a sus puntuaciones.

Proposición 2. Sea 𝑊 una red de 𝑛 páginas y 𝑊′ la red que resulta de trasponer las páginas 𝑖 y 𝑗 de 𝑊. Si 𝐴 y 𝐴′ son las matrices de

links asociadas a 𝑊 y 𝑊′ respectivamente, entonces si 𝑥 es un vector propio de 𝐴 asociado a 𝜆, 𝑦 = 𝑃𝑥 es un vector propio de 𝐴′ asociado

a 𝜆, donde 𝑃 es la matriz elemental que resulta de trasponer los renglones 𝑖 y 𝑗.Demostración. Dado que 𝑊′ es la misma red que 𝑊 salvo los índices 𝑖 y 𝑗 que fueron traspuestos, podemos ver que si 𝜑 es la

trasposición que cambia al elemento 𝑖 por el elemento 𝑗 y viceversa:

𝐴ℎ,𝑘′ = 𝐴𝜑 ℎ ,𝜑 𝑘 ∀ℎ, 𝑘 ∈ {1,… , 𝑛}

Recordemos ahora que 𝑃ℎ,𝑘 = 𝛿𝜑 ℎ ,𝑘 para toda ℎ, 𝑘 ∈ {1,… , 𝑛}, donde 𝛿ℎ,𝑘 es la delta de Kronecker y que 𝜑 𝜑 𝑘 = 𝑘 para toda 𝑘 ∈

{1,… , 𝑛}. Luego:

𝑃𝐴𝑃 ℎ,𝑘 =

𝑙=1

𝑛

𝑃ℎ,𝑙 𝐴𝑃 𝑙,𝑘 =

𝑙=1

𝑛

𝑃ℎ,𝑙

𝑚=1

𝑛

𝐴𝑙,𝑚𝑃𝑚,𝑘 =

𝑙=1

𝑛

𝑃ℎ,𝑙

𝑚=1

𝑛

𝐴𝑙,𝑚𝛿𝜑 𝑚 ,𝑘

Por la definición de la delta de Kronecker el único elemento que aporta en la suma es 𝑚 tal que 𝜑 𝑚 = 𝑘, y por lo dicho anteriormente

implica que 𝑚 = 𝜑(𝑘), y así:

𝑃𝐴𝑃 ℎ,𝑘 =

𝑙=1

𝑛

𝑃ℎ,𝑙 𝐴𝑙,𝜑 𝑘 =

𝑙=1

𝑛

𝛿𝜑 ℎ ,𝑘𝐴𝑙,𝜑 𝑘 = 𝐴𝜑 ℎ ,𝜑 𝑘 = 𝐴ℎ,𝑘′

De donde se sigue que 𝑃𝐴𝑃 = 𝐴′.Recordando que 𝑃2 = 𝐼 (intercambiar dos veces los mismos renglones los regresa a su posición original), entonces si 𝑥 es un vector

propio de 𝐴 tal que 𝐴𝑥 = 𝜆𝑥, entonces para 𝑦 = 𝑃𝑥:

𝐴′𝑦 = 𝑃𝐴𝑃 𝑃𝑥 = 𝑃𝐴 𝑥 = 𝑃 𝜆𝑥 = 𝜆 𝑃𝑥 = 𝜆𝑦con lo que queda demostrada la proposición. ■

Esto significa que al renombrar la página 𝑖 por la página 𝑗 y viceversa, la puntuación 𝑖 se vuelve la puntuación de 𝑗 y viceversa, como era

de esperarse.

Dado que la posible numeración de una red de 𝑛 páginas es una permutación y éstas son la composición finita de trasposiciones, por la

proposición anterior concluimos que la numeración no afecta la puntuación de las páginas.

Si pudiéramos garantizar que toda matriz de links es una matriz estocástica (y por lo tanto 1 es un valor propio de ella) y que el vector de

puntuación es único, tendríamos una forma de calificar a todas las páginas de la red. Es decir, que la ecuación:

𝐴𝑥 = 𝑥Ecuación 2

siempre tiene solución y es único (salvo los múltiplos escalares). Sin embargo, existen dos dificultades: las redes con páginas sin links y

las redes disconexas.

Páginas sin links

Supongamos ahora una red de tres páginas representada por la gráfica 2. Su matriz de links es 𝐴 =0 0 00 0 01 1 0

. Podemos ver que ya

representa un problema, porque no es matriz estocástica y, de hecho, 1 no es un valor propio, por lo que no podríamos encontrar el vector

de puntuación que satisfaga la ecuación 2. En general, una red con páginas sin links de salida (dangling nodes) sufrirá este problema. Para

sortear esta dificultad se han desarrollado varias formas, desde omitir las páginas sin links hasta autoreferenciarlas [Berkhin, 05]. La más

común, sin embargo, es sustituir la columna de la página sin links (que es una columna de ceros por definición) con un vector de igual

puntuación en cada entrada. Siguiendo esta idea, modificaremos la matriz de links 𝐴 de una red con 𝑛 páginas (algunas de ellas sin links)

de la siguiente manera:

Figura 2

𝐴′ = 𝐴 + 𝐸Ecuación 3

donde 𝐸𝑖,𝑗 = 𝛿𝑛𝑖,0 𝑛. En el ejemplo que elegimos:

𝐴′ =0 0 00 0 01 1 0

+

0 0 1/30 0 1/30 0 1/3

=

0 0 1/30 0 1/31 1 1/3

La matriz 𝐴′ es estocástica y por lo tanto tiene a 1 como valor propio, de donde se sigue que el vector de puntuación es1

5,1

5,2

5

𝑇. La

página 3, al ser la única referencia de 1 y 2, hereda la importancia de éstas.

Es claro que si la red no tiene páginas sin links 𝐴′ = 𝐴 (𝑛𝑖 es diferente de 0 para toda 𝑖 y por lo tanto 𝐸 = 0).

Redes disconexas

Ahora supongamos una red representada por la gráfica de la figura 3.

Figura 3

Su matriz de links asociada es:

𝐴 =

0 1 0 0 01 0 0 0 00 0 0 1 1/20 0 1 0 1/20 0 0 0 0

Si bien es una matriz estocástica y por lo tanto tiene al 1 como valor propio, tenemos que 𝑤1 =1

2,1

2, 0, 0, 0

𝑇y 𝑤2 = 0, 0,

1

2,1

2, 0

𝑇son

vectores de puntuación que además son linealmente independientes. No sólo eso, sino que 𝑤1 le asigna una importancia 0 a la página 3 y

𝑤2 le asigna una importancia positiva; en ambos casos, la importancia de 5 es 0, pese a que se podría accesar al menos a dos páginas desde

ella. Esto es dado que la red es una gráfica disconexa y por lo tanto su matriz de links es una matriz de bloques, todos ellos con 1 como

valor propio, por lo que existen al menos tantos vectores propios de 1 linealmente independientes como bloques en la matriz de links.

Para garantizar la unicidad del vector de puntuación, tendríamos que garantizar que si 𝑉1(𝐴) es el subespacio propio asociado al valor

propio 1 de 𝐴, dim 𝑉1 𝐴 = 1. Además, como hemos visto, los vectores de puntuación son vectores con todas sus entradas positivas. El

teorema de Perron-Frobenius [Axelsson, 94] nos garantiza que dada una matriz positiva 𝑀 (esto es que todas sus entradas son mayores que

0), existe un valor propio 𝑟 mayor que todos los demás (un valor propio de Perron) y además dim 𝑉𝑟 𝑀 = 1 y que los vectores propios

asociados a 𝑟 tienen todas las entradas positivas o todas las entradas negativas; por último, garantiza que 𝑟 ≥ 𝑗=1𝑛 𝑀𝑖,𝑗 para toda 𝑖 (en

particular, si 𝑀 es estocástica, 𝑟 ≥ 1 y la igualdad se cumple dado que 1 es valor propio de 𝑀). Si modificáramos la matriz de links 𝐴 por

una matriz estocástica positiva garantizaríamos la unicidad del vector de puntuación, pues 1 sería el valor propio de Perron de 𝐴.

Para hacer dicha modificación introduzcamos un factor de amortiguamiento (damping factor) 𝑚 ∈ (0,1). Dada una red de 𝑛 paginas con

matriz de links 𝐴, tomemos la matriz 𝑆 tal que 𝑆𝑖,𝑗 =1

𝑛y definamos:

𝑀 = 1 −𝑚 𝐴′ +𝑚𝑆Ecuación 4

donde 𝐴′ es como en la ecuación 3. A la matriz 𝑀 también se le llama la matriz de Google.

El valor 𝑚 se interpreta de manera intuitiva como un salto entre las páginas: hasta ahora hemos supuesto siempre un recorrido a través

de los links, pero si en algún momento el usuario pasara de una página a otra sin que entre ellas haya un link (como en el caso de una red

disconexa en el que pasa de una componente a otra) o si el usuario en algún momento se aburriera y diera un sato aleatorio hacia cualquier

otra página, el factor de amortiguamiento compensa este falso link [Page, 98]. Donde la matriz 𝐴 tiene valores 0, 𝑀 tiene valores 𝑚/𝑛 (la

página conecta con todas las demás aleatoriamente y con una importancia 𝑚), mientras que en donde 𝐴 no es 0, 𝑀 es1−𝑚

𝑛𝑗+

𝑚

𝑛(la página

conecta aleatoriamente a todas las páginas salvo hacia las que tiene un link). El valor que usualmente se toma para 𝑚 = 0.15 [Brin, Page,

98].

Tomando dicho valor y para nuestro ejemplo tendríamos que la matriz de Google para nuestra red es:

𝑀 = 0.85𝐴 + .15𝑆 =

0.03 0.88 0.03 0.03 0.030.88 0.03 0.03 0.03 0.030.03 0.03 0.03 0.88 0.4550.03 0.03 0.88 0.03 0.4550.03 0.03 0.03 0.03 0.03

Es una matriz estocástica, tiene por un valor propio al 1 y efectivamente el vector de puntuación es único: 𝑥 =0.2, 0.2, 0.285, 0.285, 0.03 𝑇. Notemos que al sólo analizar 𝐴 la página 5 no tenía relevancia, mientras que con 𝑀 sí la tiene (aunque

sigue siendo muy baja por no ser referencia de alguna otra). Las páginas 1 y 2 y las páginas 3 y 4 tiene la misma importancia

respectivamente aunque 3 y 4 tiene más importancia que 1 y 2 por ser referencia de una página más (la 5). Es decir, si bien 5 no es

referencia de ninguna página, tiene importancia por el mero hecho de existir en la red, que además hereda a sus referencias.

En general, la matriz 𝑀 es positiva (𝐴′ tiene entradas mayores o iguales a 0, 𝑆 es positiva y 1 −𝑚 es positivo) y estocástica, pues 𝐴′ lo

es (recordemos que las columnas de 𝐴 iguales a 0 fueron sustituidas por vectores con entradas 1/𝑛) y 𝑆 también lo es, luego la suma de las

entradas de alguna columna de 𝑀 es la suma de la misma columna de 𝐴′ (que es 1) multiplicada por 1 − 𝑚 más la suma de la columna de

𝑆 (que es 1) por 𝑚, y por lo tanto 𝑀 es estocástica. Por el teorema de Perron-Frobenius, concluimos entonces que 1 es el valor propio de

Perron de 𝑀, dim 𝑉1 𝑀 = 1 y los vectores en 𝑉1(𝑀) tienen todas sus entradas positivas o todas sus entradas negativas. Por lo tanto,

existe un único vector 𝑥 ∈ 𝑉1(𝑀) tal que 𝑖=1𝑛 𝑥𝑖 = 1.

Definición. Dada una red 𝑊 de 𝑛 páginas, definimos el vector PageRank como el único vector de entradas positivas tal que si 𝑀 es la

matriz de Google de 𝑊, 𝑀𝑥 = 𝑥 y ∥ 𝑥 ∥1= 1.

Nota: se puede probar que el PageRank de una matriz de Google existe sin usar el teorema de Perron-Frobenius, usando sólo elementos

de álgebra lineal [Bryan, Leise, 06].

Calculando el PageRank

Entre los métodos iterativos para calcular vectores propios el método de la potencia [Watkins, 10] es uno de los más conocidos y dice lo

siguiente:

Dada una matriz 𝐴 de tamaño 𝑛 × 𝑛 sobre los complejos y dado un vector 𝑞, si 𝐴 tiene un valor propio dominante 𝜆1 (es decir, 𝜆1 tiene

multiplicidad algebraica 1 y es mayor que todos los demás valores propios de la matriz), entonces se cumple que:

lim𝑘→∞

𝐴𝑘𝑞

𝜆𝑘= 𝑣

Ecuación 5

donde 𝑣 ∈ 𝑉1(𝐴).En la práctica, 𝜆1 es un valor que no se conoce de antemano y el método de la potencia requiere ajustes. Además, en general, para

matrices grandes el método de la potencia suele converger muy lentamente y requiere muchas operaciones. Sin embargo, para la matriz de

Google, sabemos que 𝜆1 = 1 y se sabe que el radio de convergencia para la sucesión es 0.85, por lo que es plausible usar el método de la

potencia para encontrar el PageRank, donde si 𝑣 es como en la ecuación 5, el PageRank será 𝑥 = 𝑣 𝑖=1𝑛 𝑣𝑖. Otra cosa interesante es que

el número de iteraciones para lograr una diferencia menor que 𝜖 respecto al límite es 𝑘 ≈ log(𝜖)/log(0.85) y esto es independiente de la

red que se tome [Berkhin, 05]

Por ejemplo, para la red de la figura 1:

𝑀 =

0.0375 0.0375 0.8875 0.46250.320833 0.0375 0.0375 0.03750.320833 0.4625 0.0375 0.46250.320833 0.4625 0.0375 0.0375

Sea 𝑞 = 1, 1, 1, 1 𝑇, si en cada paso redefinimos a 𝑞 = 𝑀𝑞, entonces (en las siguiente matrices, cada columna es el vector 𝑞 siendo

redefinido a cada paso):1 1.42500 1.60562 1.40092 1.48792 1.47867 1.46558 1.47560 1.472281 0.43333 0.55375 0.60493 0.54693 0.57158 0.56896 0.57158 0.568091 1.28333 1.10271 1.15389 1.16114 1.14573 1.15359 1.14573 1.151311 0.85833 0.73792 0.84027 0.80402 0.80402 0.81188 0.80705 0.80832

1.47215 1.47295 1.47249 1.47260 1.47263 1.47259 1.47261 1.47260 1.472600.56715 0.56711 0.56734 0.56721 0.56724 0.56725 0.56723 0.56724 0.567241.15212 1.15180 1.15182 1.15187 1.15184 1.15185 1.15185 1.15185 1.151850.80858 0.80815 0.80836 0.80832 0.80830 0.80832 0.80831 0.80831 0.80831

De donde se sigue que el PageRank es 𝑥 = 0.36815, 0.14181, 0.28196, 0.20208 𝑇.

[Axelsson, 94] Owe Axelsson. Iterative Solution Methods. New York: Cambridge University Press, 1994.

[Berkhin, 05] Pavel Berkhin, “A Survey on PageRank computing”. En Internet Mathematics Vol. 2, No. 1 (2005), pp.

73-120.

[Brin, Page, 98] Sergey Brin y Lawrence Page. “The Anatomy of a Large-Scale Hypertextual Web Search Engine”. En

Computer Networks and ISDN Systems 33 (1998), pp. 107-117.

[Bryan, Leise, 06] Kurt Bryan y Tania Leise “The $25,000,000,000 eigenvector. The lineal algebra behind Google”. En

SIAM Review, 48 (3), 569-81, 2006.

[Page, 98] Lawrence Page, Sergey Brin, Rajeev Mowani y Terry Winograd. “The PageRank citation Ranking:

Bringing Order to the Web”. Reporte técnico, Stanford University, 1998.

[Watkins, 10] David S. Watkins. Fundamentals of Matrix Computations, Wiley, 2010.

Referencias