Front-end_dev

PageRank 알고리즘 본문

R/Network Science

PageRank 알고리즘

Eat2go 2018. 7. 22. 05:07

PageRank알고리즘에대해 정말 잘 설명해놓은 블로그 :  https://sungmooncho.com/2012/08/26/pagerank/


PageRank알고리즘에서 왜 EigenVector가 언급되는지 이제야 알 것 같다.

EigenVector Centrality는 네트워크에서 중요한 노드에 연결된 노드가 중요하다는 관점에서 착안된 중심성인데, PageRank 알고리즘은 높은rank값을 갖고있는 웹페이지로부터 특정링크가 노출될때와 똑같은 이야기이다.


PageRank 알고리즘의 가장 대표적인 예가 논문인용인데, 논문인용에서는 damping factor를 0.85로잡고(많은연구끝에 0.85로 수렴한듯함), 0.15를 random walk 상수값으로 두었다.


R에서의 간단한구현 

# V는 논문인용,피인용을 행렬로나타내는 인접행렬, n은 노드수

P <- V / apply(V,1,sum)

J <- matrix(1,n,n)/n

page.rank.1 <- eigen(0.85*t(P)+0.15*J)$vectors[,1]

as.numeric(page.rank.1/sum(page.rank.1))