PageRank as Markov Chain
tl;dr
- 페이지와 브린이 창안한 페이지랭크 알고리듬은 수학적으로 보면 마르코프 체인의 극한 분포다.
PageRank?
페이지랭크 알고리듬의 핵심이 사실 마르코프 체인이다. 페이지와 브린의 논문에 보면 “random surfer”라는 표현이 나온다. 이게 딱 확률 과정(stochastic process)을 연상시키지 않나? 문득 이런 생각이 들더라.
페이지와 브린의 논문 자체가 마르코프 프로세스를 연상시키지는 않는다. 논문을 보면 페이지랭크 스코어링을 위한 몇 가지 원칙들이 언급되어 있을 뿐이다. 더 많은 아웃바운드 링크를 지닌 웹페이지에 내 페이지가 연결되어 있을 때 내 페이지의 스코어를 계산할 때 해당 페이지의 중요성을 낮춘다. 많은 인바운드 링크를 지닌 페이지에 내 페이지가 연결되어 있다면 이 페이지의 중요성을 높인다. 대략 이런 내용들이다. 사실 페이지랭크를 계산하는 과정 자체는 재귀적인 내용을 포함하고 있기 때문에 직관적으로 이해하기는 쉽지 않다. 페이지랭크 스코어링의 함의를 추리고 그 계산 과정은 잘 돌아보지 않는다. 나도 그랬다.
페이지랭크라는 스코어, 즉 한 웹 페이지가 링크로 구성된 웹 풍경에서 지니는 중요도라는 개념이 마르코프 체인의 극한 분포(limiting distribution)와 개념적으로 연결된다. 내용을 간단히 살펴보도록 하자.
PageRank Model
일단 페이지와 브린의 논문에서 다룬 모델링의 세팅을 간단히 살펴보자.
- \(L_{ij}\): 인디케이터 함수다. \(j \to i\)의 링크가 존재하면 1, 그렇지 않으면 0이다.
- \(m_j = \sum_{k=1}^n L_{kj}\): \(j\)가 지닌 아웃바운드 링크의 합을 나타낸다.
이제 웹페이지 \(i\)의 Broken Rank \(p_i\)은 다음과 같다.
\[ p_i = \sum_{j \to i} \dfrac{p_j}{m_j} = \sum_{k=1}^{n}L_{ik}\dfrac{p_{k}}{m_k} \]
\(i\) 웹사이트의 ’Broken Rank’는 \(i\)로 연결된 페이지들의 Broken Rank에 의해 정해진다. 이를 계산하는 방법은 다음과 같다. 해당 페이지들의 Broken Rank가 높을수록 나의 랭크도 높아진다. 해당 페이지가 더 많은 링크를 가질수록 그 Broken Rank는 낮게 평가된다. \(m_j\)로 나눠진 부분이 이를 반영한다.
여기서 왜 굳이 “broken”이라는 표현을 썼는지는 잠시 후에 나오니 조금만 기다려주시라.
Broken rank as matrix
Broken rank를 매트릭스로 표현해보자.
\[ p = [p_1, \dotsc, p_n]^T \]
\[ L = \begin{bmatrix} L_{11}& \dotsc& L_{1n} \\ \vdots& \ddots& \vdots \\ L_{n1}& \dotsc& L_{nn} \end{bmatrix} \]
\[ M = \begin{bmatrix} m_{1}& \dotsc& 0 \\ \vdots& \ddots & \vdots \\ 0& \dotsc& m_{n} \end{bmatrix} \]
이를 활용하면,
\[ p = LM^{-1} p \]
\(LM^{-1} = A\)라고 두면 \(A\)가 마르코프 체인의 확률 행렬과 유사하다는 점을 쉽게 파악할 수 있다.
\[ A^T = \begin{bmatrix} \dfrac{L_{11}}{m_1}& \dotsc& \dfrac{L_{n1}}{m_1} \\ \vdots& \ddots& \vdots \\ \dfrac{L_{1n}}{m_n}& \dotsc& \dfrac{L_{nn}}{m_n} \end{bmatrix} \]
\(A^T\)를 들어다보자. 일단, 행을 더하면 1이 된다. 즉, \(i\)에서 \(i\)를 포함해서 어디론가는 가야 한다는 뜻이다. 다음으로 \(L_\cdot\)의 정의를 살펴보면 \(j \to i\)의 이행확률은 \(j\)가 \(i\)로 향하는 링크를 지닐 경우는 \(\frac{1}{m_i}\)가 되고, 그렇지 않으면 0이다. 페이지와 브린이 정의한 random surfer의 의미가 이것이다. \(m_i\)의 링크 중에서 특별히 선호하는 링크 없이 무작위로 하나를 골라서 나간다는 가정이다. 아울러 해당 링크를 선택하는 데에는 현재의 가능성 이외에 그 전의 선택은 고려되지 않는다. 이점에서 이번 기의 선택에 바로 전기만 영향을 끼치는 마르코프 프로세스의 가정과 일치한다.
한편 행 \(i\)는 \(j \to i\)로 들어오는 링크를 의미한다. \(L_{\cdot j}\)가 1이 많을수록 \(i\)로 오는 링크가 많다는 뜻이다. 즉, 이 링크는 영향력이 높은 링크를 뜻한다.
Why broken?
왜 깨진 링크인가? 눈치가 빠른 사람이라면 마르코프 체인에서 해당 체인이 수렴하는 분포를 지니기 위한 조건을 알고 있을 것이다. 극한 분포를 지니려면 마르코프 확률 행렬이 우선 irreducible 행렬이어야 한다.
이 조건을 말로 풀면 어떻게 될까? 해당 상태에서 언젠가는 다른 모든 상태로 갈 수 있어야 한다. 이를 웹사이트 간의 링크로 다시 풀어보자. A 사이트에서 B 사이트로 갈 수 없으면 안된다. 마르코프 체인에서 확률 행렬이 reducible 행렬이면 수렴하는 유일한 극한 분포를 찾을 수 없다. 다음의 예를 보자.
\[ A = \begin{bmatrix} 0 & 0 & 1 & 0 & 0 \\ 1 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 \end{bmatrix} \]
아이겐밸류 1에 해당하는 아이겐벡터는 두 개가 존재한다. 각각
\[ p = [\dfrac{1}{3}, \dfrac{1}{3} , \dfrac{1}{3} , 0, 0 ] \text{~or~} p = [0, 0, 0, \dfrac{1}{2}, \dfrac{1}{2} ] \]
확률 행렬이 기약 행렬(reducible matrix)이면, 웹 페이지에 관해서 유일한 극한 분포를 찾을 수 없다. 시작이 어디인지에 따라서 전혀 다른 극한 분포를 얻게 된다. 위의 예에서 만일 1,2,3 사이트에서 시작했다면 첫번째 극한 분포를, 4,5 사이트에서 출발했다면 두번째 극한 분포를 얻게 될 것이다.
Reference
Page, Larry, “The PageRank Citation Ranking: Bringing Order to the Web,” http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf. ↩︎
Tibshirani, Ryan, “PageRank,”
https://www.stat.cmu.edu/~ryantibs/datamining/lectures/03-pr.pdf.