“서브그래프 유사성을 활용한 초고속 커뮤니티 탐지”
📝 Abstract
Community identification is a long-standing challenge in the modern network science, especially for very large scale networks containing millions of nodes. In this paper, we propose a new metric to quantify the structural similarity between subgraphs, based on which an algorithm for community identification is designed. Extensive empirical results on several real networks from disparate fields has demonstrated that the present algorithm can provide the same level of reliability, measure by modularity, while takes much shorter time than the well-known fast algorithm proposed by Clauset, Newman and Moore (CNM). We further propose a hybrid algorithm that can simultaneously enhance modularity and save computational time compared with the CNM algorithm.
💡 Analysis
**
1. 연구 배경 및 필요성
- 대규모 네트워크(수백만 노드)에서는 기존의 정확도 높은 방법(예: 베트위니스 기반 분할)이 계산 비용 때문에 실용적이지 않다.
- CNM 알고리즘은 O(n log² n) 복잡도로 빠르지만, 초기 단계에서 저차수 노드들을 과도하게 병합하는 경향이 있어 최적 모듈러티에 도달하기까지 시간이 많이 소요된다.
- 따라서 정확도와 속도 사이의 트레이드오프를 동시에 개선할 수 있는 새로운 접근법이 요구된다.
2. 핵심 아이디어: 서브그래프 유사도 (Subgraph Similarity)
- 두 서브그래프 (V_i, V_j) 사이의 유사도 (s_{ij})를 다음과 같이 정의한다.
\
📄 Content
arXiv:0902.2425v1 [cs.NI] 14 Feb 2009
부분 그래프 유사성을 기반으로 한 커뮤니티 구조 찾기
Biao Xiang, En‑Hong Chen, Tao Zhou
초록
커뮤니티 식별은 특히 수백만 개의 노드를 포함하는 초대규모 네트워크에서 현대 네트워크 과학이 오랫동안 직면해 온 도전 과제이다. 본 논문에서는 부분 그래프 간의 구조적 유사성을 정량화하는 새로운 지표를 제안하고, 이를 기반으로 커뮤니티 식별 알고리즘을 설계한다. 다양한 분야에서 수집한 실제 네트워크에 대한 광범위한 실험 결과는, 제안된 알고리즘이 모듈러티(modularity)로 측정한 신뢰도는 기존의 유명한 빠른 알고리즘인 Clauset‑Newman‑Moore(CNM) 알고리즘과 동등하지만, 실행 시간은 훨씬 짧다는 것을 보여준다. 또한, CNM 알고리즘에 비해 모듈러티를 동시에 향상시키고 계산 시간을 절감할 수 있는 하이브리드 알고리즘도 제안한다.
1. 서론
복잡 네트워크에 대한 연구는 현재 과학의 여러 분야에서 공통된 관심사로 자리 잡고 있다[1]. 그 중에서도 커뮤니티(community) 식별 및 분석은 점점 더 많은 주목을 받고 있는 열린 문제이다[2]. 흔히 말하는 커뮤니티는 “노드들이 내부에서는 촘촘히 연결되고, 서로 다른 커뮤니티 간에는 비교적 희박하게 연결되는” 뚜렷한 부분집합으로 정의할 수 있다[3]. 커뮤니티 구조에 대한 지식은 네트워크 진화[4]를 이해하고, 전염병 확산[5,6]이나 동기화[7,8]와 같은 네트워크 위에서 일어나는 동역학을 해석하는 데 중요한 역할을 한다. 또한, 커뮤니티를 정확히 식별하면 정보 필터링 및 추천 시스템의 정확도를 높이는 데도 도움이 된다[9].
다양한 커뮤니티 식별 알고리즘이 제안되어 왔으며, 대표적인 예로는
- 노드 유사성을 기반으로 한 병합(agglomerative) 방법[10]
- 가장 높은 매개 중심성을 가진 간선을 반복적으로 제거하는 분할(divisive) 방법[3,11]
- 최근접 이웃 노드 간의 비유사성 지수를 이용한 분할 방법[12]
- 에지 클러스터링 계수에 기반한 지역(local) 알고리즘[13]
- Potts 모델을 이용한 퍼지(fuzzy) 커뮤니티 탐지[14]
- 시뮬레이티드 어닐링[15]·극값 최적화(extremal optimization)[16]·스펙트럼 기반[17]·메시지 전달[18] 등
모듈러티(modularity)[11]로 측정되는 최적의 커뮤니티 분할을 찾는 일은 매우 어려운 문제이며[19], 대부분의 경우 근사 최적해만 얻을 수 있다. 사전 지식(예: 최대 커뮤니티 크기, 커뮤니티 수)이 없을 때, 더 높은 모듈러티를 얻는 알고리즘은 일반적으로 더 많은 계산 시간을 요구한다[20]. 따라서 초대규모 네트워크에 대해 합리적인 시간 안에 정확한 커뮤니티 분할을 제공하는 것은 현대 네트워크 과학의 큰 과제이다.
이를 해결하기 위해 Newman은 희소 네트워크에 대해 시간 복잡도가 O(n²)인 빠른 탐욕 알고리즘을 제안했으며[21], Clauset, Newman, Moore(CNM)는 이를 개선해 O(n log² n)이라는 더 낮은 복잡도를 가진 알고리즘을 설계하였다[22]. 본 논문에서는 새롭게 정의한 부분 그래프 유사성 지표를 바탕으로 병합형 커뮤니티 식별 알고리즘을 제시한다. 이 알고리즘은 CNM 알고리즘과 동일한 수준의 신뢰도를 보이면서도 일반적으로 수백 배 빠르게 동작한다. 또한, CNM 알고리즘보다 모듈러티를 높이고 계산 시간을 절감하는 하이브리드 방법도 제안한다.
본 논문의 구성은 다음과 같다. 2절에서는 새로운 부분 그래프 유사성 지표와 이를 이용한 알고리즘, 그리고 하이브리드 알고리즘을 소개한다. 3절에서는 실험에 사용된 실제 네트워크 데이터를 간략히 설명한다. 4절에서는 제안 알고리즘의 정확도와 실행 시간에 대한 실험 결과를 제시한다. 마지막으로 5절에서 논문을 정리한다.
2. 방법
2.1 부분 그래프 유사성 정의
무방향 단순 그래프 (G(V,E))를 고려한다. 여기서 (V)는 노드 집합, (E)는 간선 집합이며, 다중 간선과 자기 루프는 허용되지 않는다.
( \Gamma = {V_1, V_2, \dots , V_h}) 를 (G)의 **분할(division)**이라 하자. 즉
(V_i \cap V_j = \emptyset) ( (1 \le i \neq j \le h) )이고, (V_1 \cup V_2 \cup \dots \cup V_h = V)이다.
두 부분 그래프 (V_i)와 (V_j) 사이의 유사성을 다음과 같이 정의한다.
[ s_{ij}= \frac{e_{ij}+ \displaystyle\sum_{k=1}^{h}\frac{\sqrt{e_{ik}e_{jk}}}{|V_k|}}{\sqrt{d_i d_j}} \tag{1} ]
- (e_{ij}) : (V_i)와 (V_j)에 각각 속한 두 끝점을 갖는 간선의 개수 ( (i=j) 인 경우 0)
- (|V_k|) : 부분 그래프 (V_k)에 포함된 노드 수
- (d_i = \sum_{x\in V_i} k_x) : (V_i)에 속한 모든 노드의 차수 합, 여기서 (k_x)는 노드 (x)의 차수
위 식은 두 부분 그래프가 서로 많이 연결되어 있거나, 동시에 다른 여러 부분 그래프와 강하게 연결될수록 유사성이 높아진다고 해석할 수 있다. 분모의 (\sqrt{d_i d_j})는 부분 그래프 크기의 불균형에 의해 발생할 수 있는 편향을 보정한다.
특히, 각 부분 그래프가 단일 노드만 포함하는 경우((V_i={v_i})) 위 식은 잘 알려진 Salton 지수(코사인 유사도)[23]와 동일하게 축소된다.
2.2 알고리즘 흐름
초기에는 각 노드를 하나의 부분 그래프(즉, (n)-분할 (\Gamma_0={ {v_1},\dots,{v_n}})) 로 시작한다. 이후 다음 과정을 반복한다.
가장 유사한 부분 그래프 찾기
각 부분 그래프 (V_i)에 대해,
[ \mathcal{N}(V_i)={V_j \mid s_{ij}= \max_{k}s_{ik}} ]
와 같이 가장 높은 유사성을 보이는 부분 그래프 집합을 찾는다.연결된 컴포넌트 병합
단계 1에서 형성된 “부분 그래프 네트워크”의 각 연결 성분을 하나의 새로운 부분 그래프로 병합한다. 이것이 다음 분할이 된다.반복
단계 2에서 얻은 새로운 분할에 대해 다시 1‑2 과정을 수행한다. 전체 그래프가 하나의 부분 그래프가 될 때까지 반복한다.
각 단계마다 현재 분할에 대한 모듈러티를 계산하고, 가장 큰 모듈러티를 보인 분할을 최종 결과로 기록한다.
예시
다음은 6개의 부분 그래프에 대한 유사성 행렬 (S)이다.
[ S= \begin{pmatrix} 0 & 2 & 2 & 1 & 0 & 1\ 2 & 0 & 1 & 3 & 1 & 1\ 2 & 1 & 0 & 1 & 0 & 1\ 1 & 3 & 1 & 0 & 2 & 0\ 0 & 1 & 0 & 2 & 0 & 3\ 1 & 1 & 1 & 0 & 3 & 0 \end{pmatrix} \tag{2} ]
1단계 후, 각 행에서 가장 큰 값을 갖는 열을 향해 방향성 간선을 만든다(그림 1 참고). 이때 방향성을 무시하고 무방향 간선으로 처리해도 된다. 이후 연결된 두 컴포넌트 ({V_1,V_2,V_3,V_4})와 ({V_5,V_6}) 로 병합한다. 이렇게 하면 두 번째 단계에서 분할이 ({V_1\cup V_2\cup V_3\cup V_4,; V_5\cup V_6}) 로 바뀐다.
알고리즘은 **결정적(deterministic)**이며, 시작점에 따라 결과가 달라지지 않는다.
2.3 하이브리드 알고리즘
CNM 알고리즘은 초기 단계에서 저차수 노드들을 과도하게 병합하는 경향이 있다(참조 [21]의 식 (2) 참고). 이는 초기 단계에서 큰 오류를 일으키고, 이후에 수정하기 어렵다. 이를 보완하기 위해 다음과 같은 하이브리드 방식을 제안한다.
한 라운드 병합
초기 (n)-분할에서 위에서 설명한 부분 그래프 유사성 기반 병합을 한 번 수행한다. 이때 두 노드 사이의 유사성은
[ s_{xy}= a_{xy}+ \frac{n_{xy}}{\sqrt{k_x k_y}} \tag{3} ]
로 정의한다. 여기서 (n_{xy})는 공통 이웃 수, (a_{xy}=1)이면 두 노드가 직접 연결, 그렇지 않으면 0이다. 이 라운드가 끝나면 모든 부분 그래프는 최소 두 개 이상의 노드를 포함한다.CNM 적용
위 라운드 이후에 CNM 알고리즘을 그대로 적용해 전체가 하나의 커뮤니티가 될 때까지 진행한다.
이렇게 하면 초기 단계에서 발생할 수 있는 저차수 노드의 과도한 병합을 방지하면서, CNM이 제공하는 높은 모듈러티도 유지할 수 있다.
3. 데이터
본 연구에서는 다섯 개의 실제 네트워크를 사용하였다. 각각은 서로 다른 분야에서 수집된 데이터이다.
| 번호 | 네트워크 | 설명 |
|---|---|---|
| (i) | Football | 2000년 가을 시즌에 미국 대학 풋볼 팀 간 경기 관계를 나타낸 네트워크. 노드는 팀, 간선은 정규 시즌 경기[3]. |
| (ii) | Yeast PPI | 효모(yeast) 단백질‑단백질 상호작용 네트워크[24,25]. |
| (iii) | Cond‑Mat | 1995‑2005년 사이 Condensed Matter 전자 프린트 아카이브에 논문을 올린 연구자들의 공동 저자 관계[26]. |
| (iv) |
이 글은 AI가 자동 번역 및 요약한 내용입니다.