link analysis는 노드들의 연결과 관계를 분석하는데 사용되는 분석 기법이다.
웹 서칭시 어떤 페이지를 신뢰할 수 있는지(더 중요한지) 등을 판단하는데 도움을 줌.(모든 페이지들은 각기 다른 중요도를 가짐)
앞으로 말할 link는 Web 상의 링크(하이퍼링크)를 의미
link를 vote로 생각 (당연히 vote 값은 페이지의 rank에 비례함)
링크 구조에서 페이지들의 순위를 정하는 기법으로 해당 노드로 들어오는(in-going) 링크가 많을 수록 순위가 높아짐.
모든 in-going link들을 동일하게 여기지는 않으며, 중요한 페이지/Rank가 높은 페이지에서 들어오는 링크들을 높게 쳐줌
page rank를 계산하기 위해서는 반복적인 작업이 필요
A -> B -> C 의 그래프가 있다고 가정하면 C의 rank를 계산하기 위해서는 B의 rank를 계산해야하고 마찬가지로 B의 rank를 계산하기 위해서는 A의 rank 값이 필요하다
어떤 페이지 , 그 페이지의 rank 값 , 그리고 페이지의 out-going link가 개 있다면 각 링크가 가지는 vote 값은 다음과 같다
위의 정보들을 종합하면 한 페이지의 rank값을 계산할 수 있다.
ex)
위 그림에서 각 노드의 page rank는 다음과 같다.
Stochastic adjacency matrix
Power Iteration Method
initialize:
iterate:
untill
L2 norm등 다른 vetor norm을 사용해도 상관없음
Random Walk Interpretation
어떤 시간 에서, 탐색자가 특정 페이지 에 있다고 생각하면 에 탐색자는 outgoing link를 타고 다른 노드로 이동할 것 그렇다면 t에서 각 페이지에 탐색자가 존재할 확률을 고 정의 해보면 다음과 같은 식이 성립한다.
만일 여기서 라면 수렴한 상태로 볼 수 있고, 는 stationary distribution이다. 이는 우리가 위에서 사용한 과 동일한 형태이며 또한 Random walk의 stationary distribution이다.
Markrov processes에 따르면 특정조건(no-cycle, 모든 노드끼리의 길이 있음)을 만족하면 unique한 stationary distribution이 있음이 알려져있다.
Reference
https://en.wikipedia.org/wiki/Link_analysis
http://mmds.org/