[연구 노트]PageRank 알고리즘

참고: 세상을 바꾼 Google의 PageRank 알고리즘

Pagerank 알고리즘은 노드 중요도를 계산하는 데 사용됩니다.

생각

웹페이지는 인차(참조)가 많을수록 더 중요합니다.
중요한 웹사이트에 인용되는 것이 일반 웹사이트에 인용되는 것보다 더 중요합니다.
따라서 웹사이트가 중요한지 여부를 고려하려면 해당 웹사이트를 참조하는 웹사이트가 중요한지 살펴봐야 합니다. 이는 반복적인 질문이 됩니다.

페이지랭크의 5가지 관점 이해

선형 방정식 시스템을 반복적으로 풀기

여기에 이미지 설명을 삽입하세요.

여기에 이미지 설명을 삽입하세요.

3개의 방정식과 3개의 미지수가 있는 것처럼 보이지만 실제로는 2개의 방정식만 있습니다.
가우스 소거법은 풀 수 있지만 확장성이 좋지 않습니다.
노드 j의 순위 값 rj r_j아르 자형jjj 에게 모든 것을 고려하는 것입니다노드 j 의 순위 값을 out-degree로 나누어 합산합니다.

반복적인 솔루션

여기에 이미지 설명을 삽입하세요.

왼쪽 곱셈 M 행렬 반복

반복 과정은 행렬로 표현됩니다: ( 왼쪽 행렬의 i행과 j열 Aij는 0이 아닌 값을 가지며 A_{ij}는 0이 아닌 값을 갖습니다.ij0이 아닌 값은 j번째 노드에서 i번째 노드로 향하는 간선이 있음을 나타냅니다.)
여기에 이미지 설명을 삽입하세요.

왼쪽의 행렬을 열 확률 행렬(열 전달 행렬/열 대체 행렬, 열 확률 행렬)이라고 하고
오른쪽의 벡터를 페이지랭크 벡터라고 합니다.
여기에 이미지 설명을 삽입하세요.

행렬의 고유벡터

반복 공식:
r = M ⋅ rr=M \cdot r아르 자형=r은 실제로
1 ⋅ r = M ⋅ r 1 \cdot r=M \cdot r1아르 자형=r
이러한 관점에서 페이지 순위 벡터는 고유값이 1인 M 행렬의 고유 벡터입니다.
여기에 이미지 설명을 삽입하세요.

Column Stochastic 행렬의 경우 Perreon-Frobenius 정리에 따라 가장 큰 고유값이 1이고 고유한 주 고유벡터(고유값 1에 해당하는 고유벡터)가 있으며 벡터의 모든 요소의 합은 1입니다.
거듭제곱 반복을 통해 페이지랭크 벡터를 빠르게 해결할 수 있습니다.

무작위 걷기

랜덤 워크 -> 카운트 합산 -> 확률로 정규화, 결과는 페이지 순위 벡터입니다.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

마르코프 체인

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

페이지랭크 해결

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

융합분석

여기에 이미지 설명을 삽입하세요.

1. 수렴할지 여부 - 수렴, 같은 결과로 수렴

에르고딕 정리

에르고딕 정리(Ergodic Theorem)에 따르면, 환원 불가능하고 비주기적인 마르코프 체인에 대해:
1. 고유하고 안정적인 마르코프 분포가 있습니다
. 2. 그리고 모든 초기 분포는 동일한 분포로 수렴됩니다.

환원성 마르코프 체인과 환원불가능한 마르코프 체인

환원가능(reducible)은 고립된 상태가 있다는 뜻이고
, 환원불가능(irreducible)은 모든 상태에 도달할 수 있다는 뜻이다.
여기에 이미지 설명을 삽입하세요.

주기적 마르코프 체인과 비주기적 마르코프 체인

여기에 이미지 설명을 삽입하세요.

2. 결과가 중요성을 나타내는가 - 두 가지 질문 유형

거미 함정 문제

모든 외부 차수 모서리가 그룹에 포함되어 있어 이 그룹이 모든 중요도를 흡수하게 됩니다.
여기에 이미지 설명을 삽입하세요.

막다른 골목 문제

out-degree가 없으면 최종적으로 중요도는 0이 됩니다.
여기에 이미지 설명을 삽입하세요.
이 두 경우에는 수렴하더라도 합리적인 네트워크 중요도가 아닙니다.

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

해결책

거미덫 문제에 대한 해결책

여기에 이미지 설명을 삽입하세요.

막다른 골목에 대한 해결책

여기에 이미지 설명을 삽입하세요.

마지막 해결책

여기에 이미지 설명을 삽입하세요.
여기에 이미지 설명을 삽입하세요.

Pagerank 업그레이드-맵리듀스 작업

여기에 이미지 설명을 삽입하세요.

페이지랭크 알고리즘은 노드 유사성을 계산하는 데 사용되며 추천 시스템에 사용됩니다.

주어진: 사용자와 제품 간의 상호작용을 표현하기 위해 이분 그래프를 사용합니다
목표: 지정된 노드와 가장 유사한 노드를 찾습니다
가정: 동일한 사용자가 방문한 노드는 유사할 가능성이 더 높습니다.

Random Walk 관점에서 영감을 받은 pagerank

페이지랭크에 대한 한 가지 설명은 네트워크의 임의 노드에 무작위로 전송될 확률이 있는 랜덤 워크이며 계속해서 진행됩니다. 주제별 페이지
랭크(개인화된 페이지랭크라고도 함): 전송될 확률이 있는 랜덤 워크입니다. 지정된 수의 노드로 노드, 계속 걷기
무작위 걷기 재시작: 무작위 걷기, 지정된 노드로 전송, 계속 걷기

무작위 걷기 방문 횟수 - 유사성 척도

노드 세트 query_nodes가 주어지면 무작위 보행을 시뮬레이션합니다.

  • 방문 기록
  • 확률 α \alphaα 아래에서 query_nodes에서 걷기를 다시 시작합니다.
  • 액세스 시간이 높은 노드는 query_nodes의 포인트와 유사성이 높습니다.

의사코드

여기에 이미지 설명을 삽입하세요.

이점

여기에 이미지 설명을 삽입하세요.

코드 연습

참조: https://www.bilibili.com/video/BV1Wg411H7Ep/?p=16&spm_id_from=pageDriver

Supongo que te gusta

Origin blog.csdn.net/zhangyifeng_1995/article/details/132802525
Recomendado
Clasificación