본문 바로가기
인공지능/랭체인

(궁금) 페이지 랭크(PageRank) 알고리즘에 대해서 알아보자!

by 으노으뇨 2025. 4. 2.
728x90
반응형
SMALL

1. PageRank란?

PageRank는 구글(Google)의 검색 엔진이 웹 페이지의 중요도를 평가하는 알고리즘으로, 링크 분석(Link Analysis) 기법을 활용하여 웹 페이지의 상대적인 가치를 결정한다.

1996년 래리 페이지(Larry Page)와 세르게이 브린(Sergey Brin)이 스탠퍼드 대학에서 연구한 논문 *"The Anatomy of a Large-Scale Hypertextual Web Search Engine"*에서 처음 제안되었으며, 이후 구글 검색 엔진의 핵심 요소로 발전했다.


2. PageRank의 기본 개념

(1) 링크 기반 중요도 평가

  • 웹 페이지는 서로 하이퍼링크(🔗)로 연결되어 있다.
  • A 페이지가 B 페이지에 링크를 건다면, A 페이지는 B 페이지에 추천(Vote)을 준 것으로 해석할 수 있다.
  • 많은 추천을 받은 페이지일수록 중요한 페이지로 간주한다.

(2) 직관적 이해

  • 유명한 학술 논문은 많은 논문에서 인용된다.
  • 인기 있는 웹사이트는 많은 사이트에서 링크를 건다.
  • 링크를 많이 받는 웹사이트는 신뢰도가 높고 중요한 페이지일 가능성이 크다.

이를 수학적으로 모델링하면 페이지의 중요도는 그 페이지를 가리키는 링크 수와 링크를 건 페이지의 중요도에 의해 결정된다는 결론을 얻을 수 있다.


3. PageRank의 수학적 공식 유도

PageRank는 확률 모델(Probability Model)을 기반으로 한다.

(1) 기본적인 PageRank 식

웹페이지 i의 PageRank 값 PR(i)는 해당 페이지로 들어오는 링크를 통해 계산된다.

여기서,

  • PR(i) = 페이지 i의 PageRank 값
  • d= 감쇄 계수(Damping Factor, 일반적으로 0.85 사용)
  • M(i) = 페이지 i를 가리키는 페이지들의 집합
  • L(j) = 페이지 j가 가진 총 링크 개수
  • PR(j) = 페이지 j에서 i로 전달되는 PageRank 값

(2) 수식의 해석

이 식은 두 가지 요소로 구성된다.

  1. (1−d) : 일정한 확률로 랜덤한 페이지를 방문하는 사용자 모델
  2. d∑j∈M(i)  PR(j) / L(j): 링크를 통해 페이지를 방문할 확률

즉, 사용자가

  • (1−d) 확률로 랜덤한 웹페이지를 방문하거나
  • d확률로 현재 페이지에서 링크를 따라가며 페이지를 방문한다고 가정한 확률 모델이다.

4. PageRank 알고리즘의 가설 및 증명

PageRank는 다음과 같은 핵심 가설(Hypothesis)을 기반으로 한다.

📌 가설 1: 중요한 페이지는 많이 링크될 가능성이 높다.

  • 논문 인용 수가 많을수록 논문이 중요하다고 간주하는 것과 동일한 원리.
  • 수학적으로는 **마르코프 체인(Markov Chain)과 확률 분포(Probability Distribution)**를 사용하여 이를 모델링한다.

📌 가설 2: 웹 서핑 사용자는 무작위로 이동하거나 링크를 따라간다.

  • 사용자는 특정 확률(1−d)로 랜덤 페이지를 방문하고, 나머지 확률(d)로 링크를 따라가며 탐색한다.
  • 이 확률 모델은 유한 상태 마르코프 체인(Finite-State Markov Chain)의 개념을 따른다.

📌 가설 3: 웹 그래프는 거대한 확률 네트워크다.

  • PageRank는 웹을 확률 그래프(Probabilistic Graph)로 모델링하며, 특정 페이지를 방문할 확률을 계산하는 과정이다.
  • 수학적으로는 고유 벡터(Eigenvector)와 고유값(Eigenvalue) 문제를 푸는 방식과 유사하다.

5. PageRank의 계산 방법

실제 PageRank 값은 행렬 연산(Matrix Computation)을 통해 반복적으로 수렴(Convergence)하는 방식으로 구해진다.

(1) 행렬 표현 (Matrix Representation)

웹을 확률 행렬(Probability Transition Matrix) P로 변환한다.

  • 행렬 P의 각 원소 Pij는 페이지 j에서 i로 이동할 확률을 나타냄.

(2) 반복적인 계산 (Iterative Computation)

초기 PageRank 벡터 PR(0)를 설정한 후 다음 식을 반복하여 수렴할 때까지 계산한다.

  • 수렴(convergence)이 발생하면 최종 PageRank 값이 결정됨.
  • 이 방식은 고유값 문제(Eigenvalue Problem)로 해석할 수 있으며, 행렬의 고유 벡터를 구하는 방식과 유사하다.

6. PageRank의 현실 응용 사례

(1) 검색 엔진 (Google Search)

  • 구글 검색 결과의 순위를 결정하는 핵심 요소 중 하나.
  • 현재는 머신러닝과 결합하여 더 정교한 방식으로 발전됨.

(2) 추천 시스템 (Recommendation Systems)

  • 유튜브, 넷플릭스에서 사용자 클릭 패턴을 분석하여 추천 알고리즘에 응용.

(3) SNS 네트워크 분석 (Social Network Analysis)

  • 트위터, 페이스북에서 영향력 있는 사용자를 찾는 데 활용.

(4) 학술 논문 인용 분석 (Citation Analysis)

  • 구글 스칼라(Google Scholar)나 SCOPUS 등에서 논문의 중요도를 평가하는 데 사용.

7. PageRank의 한계와 발전 가능성

📌 한계점

  • 스팸 링크(Spam Link)에 취약하여 페이지 랭크 조작 가능.
  • 현재는 머신러닝 및 자연어 처리(NLP)를 결합하여 더욱 정교한 랭킹 모델 사용.

📌 발전 가능성

  • AI 기반 검색 랭킹: PageRank를 기반으로 한 기계학습 기반 검색 랭킹 기술 발전
  • 지식 그래프(Knowledge Graph): 문서 간 관계를 학습하여 검색 결과의 정확도 향상
  • 멀티모달 검색: 텍스트뿐만 아니라 이미지, 음성 검색과 결합하여 더욱 정밀한 검색 제공

8. 결론

PageRank는 단순한 웹페이지 랭킹을 넘어서 네트워크 분석과 확률 모델의 대표적인 사례로 자리 잡았다. 현재 머신러닝, 딥러닝과 결합하여 더욱 발전하고 있으며, 미래에는 지식 그래프, AI 기반 검색 엔진, 소셜 네트워크 분석, 추천 시스템 등 다양한 분야에서 응용될 것이다. 🚀

📌 핵심 요약:

  • PageRank는 링크를 기반으로 페이지의 중요도를 결정하는 알고리즘이다.
  • 확률 모델(Markov Chain)과 행렬 연산(Eigenvector Computation)을 기반으로 한다.
  • 검색 엔진, SNS, 추천 시스템, 학술 분석 등 다양한 분야에서 활용된다.
  • AI, 머신러닝과 결합하여 더욱 발전 가능성이 크다.
728x90
반응형
LIST

댓글