Graph 04 - 군집 탐색
BoostCamp AI Tech
Graph
Community Detection
군집 탐색
Configuration Model
배치 모형
Modularity
군집성
Girvan-Newman Algorithm
Louvain Algorithm
betweenness centrality
매개중심성
02/24/2021
본 정리 내용은 Naver BoostCamp AI Tech의 edwith에서 학습한 내용을 정리한 것입니다.
사실과 다른 부분이 있거나, 수정이 필요한 사항은 댓글로 남겨주세요.
군집탐색
실제 그래프에서의 군집 사례
- 온라인 소셜 네트워크
- 사회적 무리, 부정행위와 연관된 계정들, 분열된 조직체
- 키워드-광고주 그래프
- 동일 주제 키워드
- 뉴런간 연결 그래프
- 뇌의 기능적 구성 단위
그래프를 여러 군집으로 '잘'나누는 문제를 군집 탐색(Community Detection)
이라고 한다.
군집 구조의 통계적 유의성과 군집성
배치모형
군집 탐색이 성공적이었는지에 대한 판단 기준으로 배치모형(Configuration Model)
을 사용한다.
주어진 그래프에 대한 배치 모형은,
- 각 정점의 연결성(Degree)을 보존한 상태에서
- 간선들을 무작위로 재배치하여
얻은 그래프를 의미한다.
배치 모형에서 임의의 두 점 와 사이에 간선이 존재할 확률은 연결성에 비례한다.
군집성의 정의
배치모형이 주어지면, 군집탐색의 성공 여부를 판단하기 위해 그래프와 배치모형의 군집성(Modularity)
을 확인한다.
- 배치모형에서 기댓값을 사용하는 이유는, 배치모형의 간선의 수는 무작위이기 때문이다.
이 때, 배치모형과 비교하여 그래프에서 군집 내부 간선의 수가 월등히 많을수록 성공한 군집 탐색이다.
- 무작위로 연결된 배치모형과의 비교를 통해 통계적 유의성을 판단한다.
- 정규화하기 때문에 항상 -1~1 사이의 값을 갖는다.
- 군집성이 일반적으로 0.3 ~ 0.7정도의 값을 가질때 그래프에 존재하는 통계적으로 유의미한 군집을 찾아냈다고 할 수 있다.
군집 탐색 알고리즘
Girvan-Newman 알고리즘
대표적인 하향식(Top-down) 군집 탐색 알고리즘으로, 전체그래프에서 군집들이 서로 분리되도록 서로 다른 군집간의 bridge 간선을 순차적으로 제거한다.
이러한 다리 간선을 찾아내기 위하여, 간선의 매개중심성(Betweenness Centrality)
을 이용한다.
- 매개중심성이란, 해당 간선이 정점 간의 최단 경로에 놓이는 횟수를 의미한다.
정점 로부터 로의 최단 경로 수를 라고 하고, 그 중 간선 를 포함한 것을 라고 할 때, 간선 의 매개 중심성은 다음 수식으로 계산된다.
그러므로, Girvan-Newman 알고리즘은 매개중심성이 높은 간선을 순차적으로 제거하여 군집을 분리하는 방식이다.
- 간선이 제거될 때마다, 매개 중심성을 다시 계산하여 갱신한다.
- 모든 간선이 제거될때까지 반복한다.
이 때 간선의 제거 정도에 따라 다른 입도(Granularity)의 군집구조가 나타나는데, 군집성이 최대가 되는 지점까지 제거한다. 단, 현재 연결 요소들을 군집으로 가정하되 입력 그래프에서 군집성을 계산한다.
- 군집성의 변화를 기록해두었다가, 최대가 되는 지점으로 복원한다.
Louvain 알고리즘
대표적인 상향식(Bottom-up) 군집 탐색 알고리즘으로, 개별 정점에서 시작하여 군집을 합쳐가며 점점 큰 군집을 형성한다.
- 개별 정점으로 구성된 크기 1의 군집들로부터 시작한다.
- 각 정점 를 기존 혹은 새로운 군집으로 이동한다. 이 때, 군집성이 최대화되도록 군집을 결정한다.
- 더 이상 군집성이 증가하지 않을 때까지 2를 반복한다.
- 각 군집을 하나의 정점으로 하는 군집 레벨의 그래프를 얻은 뒤 3을 수행한다.
- 한개의 정점이 남을 때까지 4를 반복한다.
중첩 군집 구조
위의 Girvan-Newman 알고리즘, Louvain 알고리즘 등은 군집간의 중첩이 없다고 가정하고 있는데, 실제 그래프의 군집들은 중첩되어있는 경우가 많다. 이를 해결하기 위해 중첩 군집 모형
을 따로 정의한다.
아래와 같은 중첩 군집 모형을 가정한다.
- 각 정점은 여러 개의 군집에 속할 수 있다.
- 각 군집 에 대하여, 같은 군집에 속하는 두 정점은 확률로 간선으로 직접 연결된다.
- 두 정점이 여러 군집에 동시에 속할 경우 간선 연결 확률은 독립적이다. 예를 들어, 군집 와 에 두 정점이 동시에 속할경우, 두 정점이 간선으로 연결될 확률은 이다.
- 어느 군집에도 함께 속하지 않는 두 정점은 낮은 확률 으로 직접 연결된다.
중첩 군집 모형(각 정점들이 어떤 확률로 연결되어있는지)이 주어지면, 해당 그래프의 확률을 계산할 수 있다.
그래프의 확률은 다음 확률들의 곱이다.
- 그래프의 각 간선이 두 정점이 (모형에 의해) 직접 연결될 확률
- 그래프에서 직접 연결되지 않은 각 정점 쌍이 (모형에 의해)
그러나 현실에서, 대부분 중첩 그래프는 있지만, 중첩 군집 모형은 주어지지 않는 경우가 많다. 중첩 군집 탐색
은 역으로 주어진 그래프의 확률을 최대화하는 중첩 군집 모형을 찾는 과정이다.
- 통계 용어로는
최우도 추정치(Maximum Likelihood Estimate)
를 찾는 과정이다. - 이 때, 각 정점의 특정 군집 소속여부가 이산적(discrete)으로 결정되기 때문이다. 따라서 연속적인 값을 최적화하는데 사용하는 일반적인 경사하강법 등을 사용할 수 없다.
따라서, 중첩 군집 탐색을 용이하게 하기 위해 완화된 중첩 군집 모형
을 사용한다. 이 모형에서는 각 정점이 각 군집에 속해 있는 정도를 0(속하지 않음)과 1(속함)으로 표시하는 것이 아니라, 실숫값으로 표현한다. 중간 상태를 표현할 수 있게 된 것이다.
- 모형의 매개변수(간선 값)들이 실수 값(연속된 값)을 가지므로, 익숙한 최적화 도구(경사하강법 등)을 수행하여 탐색할 수 있다.