[Study] Random Walk and Pagerank
๊ทธ๋ํ ๋ฐ์ดํฐ $G = (V, E)$ ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ ์ง๋ฌธ์ ๋ตํ๊ณ ์ถ์ต๋๋ค.
- ๊ทธ๋ํ์์ ์ค์ํ ๋ ธ๋๊ฐ ์ด๋์ธ๊ฐ?
- ๊ทธ๋ํ์ ํน์ ํ ์ ์ $u$ ์ ์ ์ฅ์์ ๋ณผ ๋, ๊ฐ์ฅ ์ฐ๊ด์ด ๊น์ ๋ ธ๋๋ ์ด๋์ธ๊ฐ?
์ ์์ ์ง๋ฌธ์ ๋ตํ๋ ๊ฐ์ฅ ๋ณดํธ์ ์ธ ๋ฐฉ๋ฒ์ด Pagerank, ํ์์ ์ง๋ฌธ์ ๋ตํ๋ ๋ณดํธ์ ์ธ ๋ฐฉ๋ฒ์ด RWR์
๋๋ค. ์ด๋ฒ ํฌ์คํ
์์๋ ์ด ๋๊ฐ๋ฅผ ๊ฐ์ด ๊ฐ๋จํ๊ฒ ์์๋ณด๋ ค๊ณ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ Directed graph๋ฅผ ๊ธฐ๋ณธ ๋ชจ๋ธ๋ก ์๊ฐํ๊ฒ ์ต๋๋ค.
PageRank
Pagerank๋ Google์ด ๊ฒ์ ๊ฒฐ๊ณผ๋ฅผ ์ ๋ฆฌํ๊ธฐ ์ํด ๊ฐ๋ฐํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก, ์นํ์ด์ง์ ์์ (rank) ๋ฅผ ์ ํ๊ธฐ ์ํด ๊ณ ์๋์์ต๋๋ค.
Motivation
๋๋ต์ ์ธ motivation์ ์๋ ๋ ๊ฐ์ง์ ๋๋ค.
- ๋ง์ ํ์ด์ง๋ก๋ถํฐ ์ธ์ฉ๋ (๋งํฌ๊ฐ ๊ฑธ๋ฆฐ) ํ์ด์ง๋ ์ค์ํ๋ค
- ์ค์ํ ํ์ด์ง๋ก๋ถํฐ ๋งํฌ๊ฐ ๊ฑธ๋ฆฐ ํ์ด์ง๋ ์ค์ํ๋ค
๊ต์ฅํ ์ง๊ด์ ์ผ๋ก ๋ง์ด ๋๋ ์์น์ ๋๋ค.
Algorithm
๊ธฐ๋ณธ์ ์ผ๋ก Pagerank๋ stochasticํ๊ฒ ๋งค๊ฒจ์ง๋๋ค. ์ฆ, ์ด๋ค ๋ ธ๋ $i$์ pagerank๊ฐ $r_i$๋ $i$๋ฟ ์๋๋ผ ์คํ ์ $j$ (์๊ฐ์ด๋ผ๊ณ ๋ฐ์๋ค์ด๋ฉด ๋ฉ๋๋ค) ์ ์ํฅ์ ๋ฐ์ผ๋ฉฐ, $r_{i, j}$ ๋ $r_{-, j-1}$ ๋ค์ ์ํด ๊ณ์ฐ๋๋ค๋ ๋ป์ ๋๋ค.
- ๊ฐ ๋ ธ๋์ ์ต์ด ์ค์๋ $r_{i, 0}$ ์ ํธ์์ $1/N$ ์ผ๋ก ์ ํฉ๋๋ค. ($N$์ ๋น์ฐํ ๋ ธ๋ ๊ฐ์)
- ์ด์ , ์ ๋ฐ์ดํธ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. $N(i)$ ๋ ์๋ neighbor๋ฅผ ์๋ฏธํ์ง๋ง, ์ ์ โincoming neighborsโ ๋ง ์๊ฐํ๊ธฐ๋ก ํ๊ฒ ์ต๋๋ค. ์ฆ $N(i)$๋ $i$๋ก ๋ค์ด์ค๋ edge๋ฅผ ๊ฐ๋ ๋ ธ๋์ ์งํฉ์ ์๋ฏธํฉ๋๋ค. ๋์ , ๋ฐ๋๋ก $i$๊ฐ ์ธ์ฉํ๋ ๋ ธ๋์ ์งํฉ์ $L(i)$ ๋ผ๊ณ ์ฐ๊ฒ ์ต๋๋ค. \(r_{i, t} = \frac{1-d}{N} + d \sum_{c \in N(i)} \frac{r_{c, t-1}}{\abs{L(c)}}\)
- ๋๋จธ์ง ๊ฐ๋ค์ ๋์ถฉ ์๋ช ํฉ๋๋ค. $d$๋ Damping factor๋ผ ํด์, ์ผ๋ง๋ ๋น ๋ฅด๊ฒ ์๋ ดํ ์ง๋ฅผ ์ ํ๋ ์์๊ฐ์ ๋๋ค. ํต์ 0.85 ์ ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
- ๊ฐ์ฅ ์์ฐ์ค๋ฌ์ด ์ธ์ด๋ก ์ค๋ช ํ์๋ฉด, ์์ ๋๋คํ๊ฒ ํ์ดํผ๋งํฌ๋ฅผ ํด๋ฆญํ๋ ๊ฐ์์ surfer๊ฐ ์์ ๋, $t$์๊ฐ์ด ์ง๋ ํ ์ด surfer๊ฐ ์ด๋์ ์์นํ ์ง์ ํ๋ฅ ๋ถํฌ๋ฅผ ๊ณ์ฐํ๋ ๋ฐฉ์์ ๋๋ค. Damping์ ์ฌ๊ธฐ์, ํด๋ฆญ์ ๋ฉ์ถ๊ณ ํ์ฌ ๋ ธ๋์ ์ ์ฐฉํ ํ๋ฅ ์ ์ ๊ณตํฉ๋๋ค.
Linear Algebra PoV
์ง๊ธ๊น์ง์ ๋ ผ์๋ฅผ ์ ํ๋์ํ์ ์ธ์ด๋ก ๋ค์ ์จ ๋ณด๊ฒ ์ต๋๋ค.
- ๋จผ์ , ์ธ์ ํ๋ ฌ $A$์ ๋ํด, $A$๋ฅผ Normalizeํด์ ๊ฐ ์ด์ ํฉ์ 1๋ก ๊ณ ์ ํฉ๋๋ค. ์ด๋ฅผ Markov matrix๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- Markov matrix๋ ๋ง๋ฅด์ฝํ ์ฒด์ธ์ ๋ํ๋ด๋ ํ๋ ฌ์ด๋ผ๋ ๋ป์ธ๋ฐ, ์ด๋ฌ๊ธฐ ์ํด์๋ Dangling node๊ฐ ์์ด์๋ ์ ๋ฉ๋๋ค. ์ construction์ ์ด๋ฅผ ๋ณด์ฅํ์ง ์๊ธฐ ๋๋ฌธ์, ์ ์ฒด๋ฅผ connected component๋ก ์ด์ด์ฃผ๊ธฐ ์ํด \(S = A + \frac{1}{N}\mathbb{1}e^T\) ์ด๋ฐ ํ๋ ฌ์ ์๋ก์ด ๊ณ์ฐํฉ๋๋ค. ์ฌ๊ธฐ์ $\mathbb{1}$ ์ ๋ชจ๋ ํญ์ด 1์ธ ์ด๋ฒกํฐ์ด๊ณ , $e$๋ ์ด์ ๊ฐ์ด 0์ธ dangling $j$์ ๋ํด์๋ง 1์ธ ๋ฒกํฐ์ ๋๋ค.
- Damping factor๋ฅผ ๊ณ ๋ คํด์ ์ต์ข ์ ์ธ Google Matrix (์ค์ ๋ก ์ด๋ฐ ์ด๋ฆ์ด ๋ถ์์ต๋๋ค) ๋ฅผ ์๋์ ๊ฐ์ด ๋ง๋ญ๋๋ค. \(G = \frac{1-d}{N} \mathbb{11^T} + d S\)
- ์ ํ๋์ํ์ Perron-Frobenius ์ ๋ฆฌ์ ์ํ๋ฉด irreducible markov matrix๋ ์์์ $x_0$์ ์๊ด์์ด, $x_i = G x_{i-1}$ ์ฐ์ฐ์ ๋ฐ๋ณตํ๋ฉด ์ด๋๊ฐ๋ก ์๋ ดํจ์ด ์๋ ค์ ธ ์์ต๋๋ค.
- ์ ํ๋์ํ์ ์ผ๋ก, ์ด ํ๋ ฌ์ $0 < d < 1$ ์ ๋ํด Unique Maximal Eigenvalue $\lambda = 1$ ์ ๊ฐ์ง๋๋ค. ์ด Eigenvalue์ ๋์ํ๋ eigenvector๊ฐ ๋ฐ๋ก pagerank vector์ ๋๋ค.
- Iteration $x_{i} = G x_{i-1}$ ์ ๋น ๋ฅด๊ฒ ์๋ ด์ํค๋ ๋ฐฉ๋ฒ์ numerical linear algebra์ ์์ญ์ด๋ฉฐ, $G$ํ๋ ฌ์ ์ผ๋ฐ์ ์ผ๋ก ์์ฒญ๋๊ฒ ํฌ์ง๋ง ๋์ sparseํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฅ ๊ทธ๋๋ก ๋๊ณ iteration์ ๋ฐ๋ณตํด๋ ์๊ฐ๋ณด๋ค ๋น ๋ฅด๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค.
Random Walk with Restart
Pagerank๊ฐ globalํ ๋ ธ๋์ ์ค์๋๋ฅผ ๊ณ์ฐํด ์ฃผ๋๋ฐ ๋ฐํด, Random Walk (with Restart) ๋ Localํ ๊ด์ ์์์ ์ค์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ค ๋ ธ๋ $u$์ ๋ํด, ๊ฐ ๋ ธ๋ $i$ ์ ์ค์๋ ๋ฒกํฐ $r_i = C_{u, i}$๋ฅผ ๊ณ์ฐํ๋ค๊ณ ์๊ฐํ๋ฉด ๋๊ฒ ์ต๋๋ค. ๊ธฐ๋ณธ์ ์ธ ๊ด์ (random-surfer) ์ด Pagerank์ ๋๊ฐ๊ธฐ ๋๋ฌธ์, Personalized Pagerank ๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ถ๋ฆฌ๊ธฐ๋ ํฉ๋๋ค. 1
Motivation
๋ ธ๋ ๊ฐ์ ์ด๋ค ์ฐ๊ด์ฑ์ ์ฐพ๋ ๋ฐฉ๋ฒ์ ๋ณดํต ๋๊ฐ์ง๋ฅผ ์๊ฐํด ๋ณผ ์ ์์ ๊ฒ์ ๋๋ค.
- Path์ ๊ธธ์ด ๊ธฐ๋ฐ : Shortest path ๋ฑ์ metric์ ๊ธฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ค
- Flow ๊ธฐ๋ฐ : Flow network๋ฅผ ๋ง๋ค์ด์ Flow๊ฐ ์ผ๋ง๋ ํ๋ฅผ ์ ์๋์ง์ ๊ธฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ค
์ด ๋ ๋ฐฉ๋ฒ ๋ชจ๋, ๋ช
ํํ ํ๊ณ๊ฐ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด SNS ๊ทธ๋ํ์์ ๋๋ฅผ ๊ธฐ์ค์ผ๋ก, A๋ฅผ ํตํด B๋ก, C๋ฅผ ํตํด D๋ก ๊ฐ ์ ์๋ค๊ณ ํ๊ฒ ์ต๋๋ค.
์ด๋, A๊ฐ ์๋ง์ ์ฌ๋์ ์๊ณ ์๋ ์ ๋ช
์ธ์ด๊ณ , C๊ฐ ์ผ๋ฐ์ ์ธ ์น๊ตฌ๋ผ๋ฉด, ๋๋ B๋ณด๋ค๋ D์ ๋ ๊ฐ๊น์ด ์ฌ์ด๋ผ๊ณ ํ๋จํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ ๋ ๋ฐฉ๋ฒ๋ค์ ์ด๋ฌํ ์ฐจ์ด๋ฅผ ์ก์๋ด์ง ๋ชปํฉ๋๋ค. ์ด๋ฐ ์ ์์ Random walk๋ A์์ ๊ฐ์์๋ ๋
ธ๋๊ฐ ๋ง๋ค๋ ์ ์ Penalizeํ๊ธฐ ๋๋ฌธ์ ๋ณด๋ค ์ ์ ํ๋ค๊ณ ํ ์ ์์ต๋๋ค.
Algorithm
์ Pagerank์ ๋๊ฐ์ง๋ง, ํ ๋
ธ๋ $u$์์๋ง ์์ํ๊ธฐ๋ก ํฉ๋๋ค. Notation์ ํธ์๋ฅผ ์ํด Adjacent matrix๋ฅผ $A$๋ก, ์ด๋ฅผ normalizeํด์ ์ป์ Weight matrix๋ฅผ $W$ ๋ก ์ฐ๊ฒ ์ต๋๋ค.
RWR-vector๋ ๋ค์ ์์ ํตํด ๊ณ์ฐ๋ฉ๋๋ค.
\(r_{i} = dWr_{i-1} + (1-d) e_u\)
์ฌ๊ธฐ์ $e_u$๋ ์์๋
ธ๋ $u$๋ง 1์ธ standard basis vector์
๋๋ค.
์ด ์์ด ๋ฒกํฐ $r$๋ก ์๋ ดํ๋ค๊ณ ํ๋ฉด, $r = dWr + (1-d) e_u$์ด๋ฏ๋ก, ์ด๋ฅผ ์กฐ๊ธ ์ ๋ฆฌํ๋ฉด $(I - dW)r = (1-d) e_u$์์,
\(r = (1 - d) (I - dW)^{-1} e_u\)
์ด๋ ๊ฒ ๊ณ์ฐํ ์ ์์ต๋๋ค.
Fast Computation
์ด ์๊ณ ๋ฆฌ์ฆ์ ์ค์ ๋ก ์ฐ๊ธฐ์๋ ์๋นํ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ (ํ๋ ฌ๊ณฑ์ ์ฐ์ฐ์ด ๋๋ฆฌ๋ฏ๋กโฆ) ๋ค์ํ ๋ฐฉ๋ฒ๋ค์ด ๊ฐ๋ฐ๋์ด ์์ต๋๋ค. ํนํ, Pagerank๋ ํ๋ฒ ๋๋ฆฌ๋ฉด ๋ชจ๋ ๋ ธ๋์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ผ๋ฏ๋ก ๊ทธ cost๊ฐ amortize๋์ง๋ง, RWR์ ์ฟผ๋ฆฌ๋ ธ๋๊ฐ ๋ฐ๋๋ฉด ์ฒ์๋ถํฐ ๋ค์ ํด์ผํ๋ค๋ ์ ์์, ์ฟผ๋ฆฌ๋น ๋ณต์ก๋๊ฐ ๋งค์ฐ ๋์ต๋๋ค. ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ค์ ๋ํด์๋ ๋ณ๋ ํฌ์คํ ์ผ๋ก ๋ค๋ฃฐ ์์ ์ ๋๋ค.
-
๊ณต์์ ์ผ๋ก ๋ฐํ๋ ๋ ผ๋ฌธ์์๋ ์์ฃผ ์ฝ๊ฐ์ ์ฐจ์ด๊ฐ ์์ผ๋, ์ ์ ๋ฆฌ์ ๋ฌธ์ ์ด๊ณ ์ค์ ๋ก๋ identicalํฉ๋๋ค.ย โฉ