시작하기무료로 시작하기

PageRank의 변화

PageRank 공식 \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) 는 반복적으로 풀 수 있습니다. 각 반복에서 현재의 \(\vec{PR}\) 값을 사용해 실제 값에 더 가까운 새 값을 계산합니다. 이는 매 반복마다 두 연속된 \(\vec{PR}\) 간의 차이가 점점 작아져서, $\vec{PR}$이 실제 값으로 수렴하면 그 차이가 (거의) 0이 됨을 의미합니다. 이 연습 문제에서는 PageRank 알고리즘이 어떻게 수렴하는지 살펴보겠습니다.

이 연습은 강의의 일부입니다

R로 배우는 네트워크 데이터 기반 Predictive Analytics

강의 보기

연습 안내

  • network를 사용해 page.rank()로 PageRank 알고리즘을 한 번 반복(niter=1)해 보세요. 벡터 속성을 추출해 iter1에 할당하세요.
  • 방금 단계를 niter=2로 반복해 iter2에 할당하세요.
  • 벡터 iter1iter2의 절대 차이의 합을 계산하세요.
  • 우리는 iter1iter2와 같은 방식으로 iter9iter10도 계산해 두었습니다. 이 두 반복 사이의 차이는 1번과 2번 반복 사이의 차이보다 작나요?

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Compute one iteration of PageRank 
iter1 <- page.rank(___, algo = 'power', options = list(niter = ___))$vector

# Compute two iterations of PageRank 
iter2 <- ___(___, algo = 'power', options = list(niter = ___))$vector

# Inspect the change between one and two iterations
sum(abs(___ - ___))

# Inspect the change between nine and ten iterations
sum(___(___ - ___))
코드 편집 및 실행