PageRank Algorithm, Exercise and Demo using Neo4j NoSQL Databases #14
[음악] 페이지 랭크 알고리즘 소개
섹션 개요: 이 섹션에서는 페이지 랭크를 계산하는 방법과 그에 대해 neo4j를 사용할 것이며, 페이지 랭크 알고리즘에 대해 배웠는지, 들어봤는지, 이전 수업에서 이 알고리즘을 배웠는지 등을 다룹니다.
페이지 랭크 알고리즘 소개
- 페이지 랭크 알고리즘은 구글의 공동 창업자인 라리 페이지가 만든 알고리즘이며, 구글 검색 결과에서 사이트의 순위를 결정합니다.
- 페이지를 검색하면 일정한 순서로 페이지가 반환되는데, 어떤 웹페이지가 가장 상단에 오게 될지와 웹페이지의 순위는 어떻게 되는지에 대한 알고리즘으로 PageRank 알고리즘이 사용됩니다.
- PageRank 알고리즘은 한 웹페이지의 영향력을 결정하기 위해 해당 웹페이지를 가르키는 다른 웹페이지들의 영향력을 사용합니다.
웹페이지 점수 계산
- 각 웹페이지의 점수를 계산하기 위해 PageRank 알고리즘을 사용하며, 이것은 반복적인 과정을 통해 최종적으로 도달하는 i-32 알고리즘이다.
- PageRank 점수를 계산하기 위해서는 damping factor와 outgoing links 수 등 여러 요소들이 사용된다.
PageRank 공식 및 해석
- PageRank 공식은 각 웹페이지의 점수를 계산하는 방법으로, 해당 웹페이지로 링크되어 있는 다른 모든 웹페이지들의 PageRank 값과 해당 웹페이지로부터 나가는 하이퍼링크 수 등을 고려한다.
- PageRank 값은 각각의 하이퍼링크로부터 전달되므로 모든 연결된 페이지들 간에 상호작용이 발생한다.
정의 및 공식 설명
- PN 및 TN과 같은 용어들과 관련하여 정확한 정의와 설명이 필요하며, 그림으로 시각화하여 보여주면 좋다.
- T1부터 TN까지가 가르치기 시작하는 부모 페이지를 가르치며, C of TN 및 R of T1과 같은 용어들도 중요하다.
계산 방법 및 요소 설명
- damping factor D와 P값 등을 설정하여 실제 계산에 활용하며, 이러한 요소들은 PageRank 값을 결정하는 중요한 역할을 한다.
그래프 설명
섹션 개요: 그래프의 노드와 관계에 대한 설명
그래프 노드 및 관계
- 그래프에는 노드 A, B, C, D, E가 있으며 모든 노드에 위치라는 레이블이 정의되어 있음.
- 각 노드는 거리라는 관계로 연결되어 있으며 속성 이름은 'you'임.
페이지랭크 알고리즘 소개
섹션 개요: 페이지랭크 알고리즘을 사용하여 노드 중요도 추정
페이지랭크 알고리즘
- 페이지랭크 알고리즘은 모든 페이지가 서로 연결된 그래프를 기반으로 함.
- 알고리즘이 반복적으로 작동하며 초기 값은 0.1로 설정되어 있음.
초기 스코어 설정
섹션 개요: 초기 페이지랭크 점수 설정 방법 설명
초기 스코어 설정
- 모든 노드의 페이지랭크가 0.15로 시작됨.
- 각 노드의 클릭 확률을 고려하여 초기 스코어를 할당함.
이터레이션 1: 페이지랭크 계산
섹션 개요: 첫 번째 이터레이션에서 페이지랭크 계산 과정 설명
이터레이션 1
- 이전 이터레이션에서 계산된 값들을 사용하여 현재 이터레이션에서 각 노드의 페이지랭크를 계산함.
- 이전 이터레이션에서 계산된 값들을 바탕으로 현재 이터레이션에서 각 노드의 페이지랭크를 업데이트함.
특정 노드에 대한 페이지랭크 계산 방법
섹션 개요: 특정 노드에 대한 페이지랭크 계산 방법 상세 설명
특정 노드의 페이지랭크 계산
- 해당 노드로 들어오는 링크가 있는지 확인하고, 있다면 해당 링크의 값을 고려하여 해당 노드의 새로운 페이지랭크를 계산함.
계산 및 페이지 랭크
섹션 개요: 이 섹션에서는 페이지 랭크를 계산하는 과정과 결과에 대해 설명합니다.
페이지 랭크 값 계산
- "B"의 반복 2에서의 페이지 랭크 값은 0.1925입니다.
- 이전 노드로부터 오는 모든 incoming nodes의 합을 사용하여 C의 pH 값을 계산합니다.
- C의 pH 값을 계산할 때, 이전 방정식에서 모든 incoming nodes의 합을 고려합니다.
- D의 페이지 랭크를 찾기 위해서는 B로부터 나가는 링크 수를 고려해야 합니다.
- 반복 2에서 C에 대한 페이지 랭크는 0.3837입니다.
다음 단계: PageRank for E
섹션 개요: E에 대한 페이지 랭크를 찾기 위한 절차와 결과에 대해 다룹니다.
E에 대한 PageRank 계산
- E에 대한 페이지 랭크를 찾기 위해서는 이전 반복에서 B로부터 오는 incoming nodes를 고려해야 합니다.
- E에 대한 PageRank 값은 0.1925입니다.
- E의 PageRank 값을 찾기 위해서는 이전 iteration에서 B로부터 오는 incoming nodes와 C로부터 오는 incoming nodes를 고려해야 합니다.
알고리즘 적용 및 최종 결과 확인
섹션 개요: 알고리즘 적용과 최종 결과 확인 단계에 관한 내용을 다루고 있습니다.
알고리즘 적용 및 결과 확인
- P의 PageRank 값을 찾기 위해서는 C로부터 오는 incoming node와 B로부터 나가는 outgoing link 수를 고려해야 합니다.
- P의 최종 PageRank 값은 0.3412입니다.
반복 및 수렴 확인
섹션 개요: 여러 번의 반복 후 값이 수렴하는지 확인하는 절차에 관해 설명합니다.
반복 및 수렴 확인
- 여러 번의 반복을 통해 값이 수렴할 때까지 알고리즘을 실행하며, 초기값으로 '40'을 사용하여 결과를 검증합니다.
- Damping factor가 0.85일 때, 각 노드에 대한 PageRank 값을 얻습니다.
그래프 시각화와 추가 분석
섹션 개요: 그래프 시각화와 추가 분석 단계에 관한 내용을 다루고 있습니다.
그래프 시각화와 분석
- 그래프 시각화를 통해 각 노드별 스코어링을 확인하며, 가장 중요한 노드들을 식별합니다.
새로운 개념 소개
섹션 개요: 이 섹션에서는 PageRank 알고리즘의 새로운 개념에 대해 설명합니다.
PageRank 알고리즘 내부 계산
- "48은 내부적으로 계산하며 원하는 반복 횟수를 사용할 수 있습니다. 제가 6번 반복한다면 6번 계산하여 프로세스를 간단하게 만듭니다."
- "우리가 왜 이러한 것들을 계산해야 하는지 말씀드렸죠. 많은 영향력 있는 친구들이 당신을 가리키면 영향력 있는 사람입니다. 그래서 이 특정 창조물에서 가장 영향력 있는 사람은 누구일까요? 바로 C입니다."
다른 반복: 수분화
- "다른 반복인 수분화 - 우리는 영향력 있는 사람이 변하는지 확인할 것입니다. 동일한 지속성을 유지할까요? 일정한 수분화 후에는 스포어가 최종 페이지로 변경되지 않습니다."