community detection algorithms
1. member 특성기반 detection (Member-based Community Detection)
(아래 community analysis1참고)
https://sarah0518.tistory.com/133
community analysis 1
community를 분석하는 이유? 글로벌한 관점에서 볼때 특정 행동을 파악할수있음 (개인별로는 안 나타날 수 있음) SNS상에서의 community formation: 1. 하나의 community가 생성되기위해서는 적어도 2개의 node
sarah0518.tistory.com
2. 그룹속성 기반 detection
이번에는 2번째인 그룹속성 기반 detection에 대해서 알아 볼 것임
Group-Based Community Detection
group property를 가지고 있는 것을 파악 하는 것
Group Properties:
I. Balanced: Spectral clustering
II. Robust: k-connected graphs
III. Modular: Modularity Maximization
IV. Dense: Quasi-cliques
V. Hierarchical: Hierarchical clustering
I. Balanced Communities
- graph clustering을 사용
- 그래프의 clustering을 만들기위해서 cutting을 하는데
여기서 the size of the cut은 cut이 가지고 있는 edge의 개수를 말함
- min-cut problem: min-cut은 imblanaced partition을 나타내는데 활용 됨
(max-flow를 구하면 min-cut을 바로 구할 수 있음)
max-flow를 구하면 min-cut을 바로 구할 수 있음- 노란색 라인
너무 극단적으로 쪼개짐.
이것 보다 더 좋은 방법이 ratio cut, normalized cut임(balance를 맞춰서 cut을 할 수 있음)
example) 아래내용 꼭 풀어보기!
normalized cut은 edge의 개수를 반영하고, ratio cut은 단순히 node의 개수만을 반영함
spectral culstering
더 효과적으로 cutting하는 방법으로 spectral clustering 이 있음
ratio cut의 최소값을 찾기위해 활용됨
X matrix: 행은 노드, 컬럼은 community에 대한 멤버십을 의미
각 노드가 특정 community에 속하면 1, 아니면 0임
(실제 알아내려고 하는 것임, 어느노드가 어느 community에 속했는지 알기위함)
D matrix: 각노드의 degree를 대각요소에 가지고 있는 대각행렬
A matrix: adjacency matrix(인접행렬) 노드끼리의 연결 표시
X(t)AX: 는 community에 속한 노드의끼리의 연결 edge의 총 개수가 대각요소값에 들어있음
X(t)DX: 아래그림에서 파란색선 + 노란색 그룹안에있는 edge 총합(=X(t)AX)
X(t)(D-A)X: 는 community에 속한 노드가 다른 community와 연결되는 edge 개수( =cut(Pi, bar(Pi) )
(아래그림에서 파란색 선)
위의 빨간그룹 기준으로 X(t)(D-A)X의 대각원소 값은 2임 (노란색 선=2개)
ratio cut의 최소값을 찾기위해 활용됨 (아래 수식)
위의식을 아래와같이 더 간단히 표현할 수 있음
여기서 trace matrix의 총합이 최소가 되게 하는 X를 찾는것이 spectral clustering하는 목적임
2개의 그룹으로 쪼개고 싶다면, 2번째의 igenvector를 가지고 음수인 부분/양수인 부분으로 쪼개면 됨
3개의 그룹으로 쪼개고 싶다면, 3번째의 ingenvector로 k-means의 k=3으로 놓고 돌리면 됨
'IT > SNS분석' 카테고리의 다른 글
community evolution & evaluation (0) | 2022.06.07 |
---|---|
community analysis 3 (0) | 2022.05.31 |
community analysis 1 (0) | 2022.05.17 |
Classification with Network Information (0) | 2022.05.10 |
Network models 2 - 3가지 network 모델 종류 (0) | 2022.05.03 |