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에 할당하세요. - 벡터
iter1과iter2의 절대 차이의 합을 계산하세요. - 우리는
iter1과iter2와 같은 방식으로iter9와iter10도 계산해 두었습니다. 이 두 반복 사이의 차이는 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(___(___ - ___))