<CS224W> Lecture 14. Traditional Generative Models for Graphs
![post-thumbnail](https://velog.velcdn.com/images/kimkj38/post/f727ada2-7833-4bf5-9928-7d4644b991c1/image.png)
1. Properties of Real-world Graphs
Degree Distribution
![](https://velog.velcdn.com/images/kimkj38/post/e71841a1-0c63-4aa6-b48b-140f8cbf63ea/image.png)
- P(k)로 나타내며 임의로 선택한 노드가 k의 degree를 가질 확률을 의미한다.
- Nk를 degree가 k인 노드의 수라 할 때 정규화된 히스토그램은 P(k)=Nk/N으로 나타낼 수 있다.
Clustering Coefficient
![](https://velog.velcdn.com/images/kimkj38/post/83cdbafc-aaed-46cd-b8ee-1ce9002dd216/image.png)
- C로 표기하며 노드 i가 이웃들과 어떻게 연결되어 있는지를 나타낸다.
- Degree가 ki인 노드 i에 대해 Ci=ki(ki−1)2ei
- ei는 노드 i의 이웃 노드들 간의 엣지의 수를 의미한다.
- C=N1∑iNCi. 모든 노드에 대한 평균값으로 C를 정의한다.
Connectivity
![](https://velog.velcdn.com/images/kimkj38/post/af848667-679c-4e2b-8f54-92fc88af741e/image.png)
- s로 표기하며 가장 큰 component의 크기를 나타낸다.
- 예를 들어, 99%의 노드들이 연결되어 있으면 s는 매우 크며 giant component라고도 부른다.
- 임의의 노드로부터 출발하며 BFS를 통해 방문한 노드를 표시한다.
- 모든 노드를 방문하면 network는 연결되어 있음을 의미하며 방문하지 않은 노드를 찾으면 BFS를 반복한다.
Path Length
- 최단경로 기준 그래프 내 노드 쌍의 최대 거리를 diameter라 한다.
- 평균 path length는 무한한 길이의 경로를 무시하기 위해 connected grpah에 대해서만 계산한다.
- hˉ=2Emax1∑i,j=ihij
- hij는 노드 i와 j의 거리를, Emax는 엣지의 최대 개수(노드 쌍의 개수)를 의미한다.
Case Study
![](https://velog.velcdn.com/images/kimkj38/post/86cb049c-5f57-4cb9-a329-0000b2a20060/image.png)
![](https://velog.velcdn.com/images/kimkj38/post/4e8ee0b3-3fab-4ddf-aeab-ad226da50995/image.png)
- 메신저 내에서 유저들의 한 달 간 활동내역에 대해 그래프로 나타낼 수 있다.
- Properties에 대한 정보를 얻을 수 있으며 이 값들이 exptected냐 surprising냐에 대해 알기 위해 모델이 필요하다.
2. Erdos-Renyi Random Graphs
- Gnp: 엣지가 독립 항등 분포(iid)의 확률 p를 가지는 노드 n에 대한 undirected graph
- Gnm: m개의 엣지가 균등한 확률로 랜덤하게 뽑히는 노드 n에 대한 undirected graph
- 우리는 Gnp에 대해서만 다룬다.
Properties of Gnp
![](https://velog.velcdn.com/images/kimkj38/post/7d9d9b1d-7307-4b7f-9c47-fd529e4b9a73/image.png)
- n,p에 의해 그래프가 unique하게 결정되지 않는다.
- Gnp는 properties로 degree distribution P(k), clustering coefficient C, path length h를 가진다.
Degree Distribution
![](https://velog.velcdn.com/images/kimkj38/post/3a368286-97a8-451b-9af9-c975c7da7c36/image.png)
- Gnp의 P(k)는 이항분포를 따른다.
- n−1개 중 선택한 k개는 엣지로 연결되고 나머지는 연결되지 않을 확률이 P(k)가 된다.
Clustering Coefficient
- Ci=ki(ki−1)2ei
- Gnp의 엣지는 p의 확률로 나타나므로 이웃 노드들 간의 엣지의 수의 기댓값 E[ei]는 p2ki(ki−1)가 된다.
- 따라서, E[Ci]==ki(ki−1)p⋅ki(ki−1)=p=n−1kˉ≈nkˉ
Connected Components
![](https://velog.velcdn.com/images/kimkj38/post/b004a4b8-65be-40f7-97ad-6939a29ca0c3/image.png)
- p=k/(n−1), average degree k=2E/n으로 k=1일 때부터 giant component가 나타난다.
- Degree k=1−ϵ: 모든 components의 크기는 Ω(logn)
- Degree k=1+ϵ: 하나의 component 크기는 Ω(n), 나머지는 Ω(logn)
Expansion
![](https://velog.velcdn.com/images/kimkj38/post/4a4409e7-c5fb-42c2-bd50-0a906523ff37/image.png)
- α=minS⊆Vmin(∣S∣,∣V\S∣)# edges leaving S
- 그래프 G(V,E)에 대해 V의 subset S를 만들기 위해 끊어주어야 하는 엣지의 비율(?)이라고 이해했다.
- 분자인 #edges leaving S는 끊어주는 엣지의 수, V∣S는 S를 뺀 나머지 subset을 의미한다.
- Expansion은 robustness의 척도가 되며 subset을 쉽게 만들 수 있는 구조면 low expansion을, 어려운 구조면 high expansion을 가진다.
![](https://velog.velcdn.com/images/kimkj38/post/8ddc8016-3686-483d-ad4d-83582cfcb587/image.png)
- Expansion이 α이고 n개의 노드를 가지는 그래프의 모든 노드 쌍에 대한 path of length는 O((logn)/α)이다.
- 즉, path length는 노드의 개수에 비례하고 expansion에 반비례한다.
- 랜덤 그래프는 expansion이 커 logn의 BFS로 모든 노드를 방문할 수 있다.
![](https://velog.velcdn.com/images/kimkj38/post/10bf4e8d-8382-4b74-95a1-2374696d972d/image.png)
- Gnp의 노드들은 적은 hops만큼 떨어져 있어 O(logn)의 shortest path를 가진다.
Real Networks vs Gnp
![](https://velog.velcdn.com/images/kimkj38/post/c65e874c-bcd3-48ab-8458-8d94d90f2457/image.png)
- 실제 그래프와 랜덤 그래프를 비교한 결과 clustering coefficient와 degree distribution이 다르다.
- 실제 그래프의 giant component는 phase transition 형태로 나타나지 않는다. (phase transition은 k=1을 기준으로 giant component가 등장하는 것을 의미)
- Clustering coefficient가 너무 작아 local한 구조가 나타나지 않는다는 단점도 있다.
3. The Small-World Model
Motivation
![](https://velog.velcdn.com/images/kimkj38/post/b40ed503-c42f-467d-a910-0818a909f9a9/image.png)
- 실제 그래프는 local한 구조를 가져 clustering coefficient가 높으면서도 낮은 diameter를 가진다.
- Gnp는 낮은 clustering coefficient를 가져 이를 제대로 반영하지 못한다.
Idea
![](https://velog.velcdn.com/images/kimkj38/post/95ffb86c-7c8e-4b45-b455-28670be53a62/image.png)
- 높은 clusering coefficient와 큰 diameter를 가지는 regular lattice graph를 interpolation 하여 그래프를 만든다.
Solution
![](https://velog.velcdn.com/images/kimkj38/post/9265b28c-8a75-4e0e-9771-249feb3d64fb/image.png)
- 이웃 노드와 2-hops인 노드를 이은 low-dimensional regular lattice를 만든다. 이 그래프는 높은 clustering coefficient와 큰 diameter를 가진다.
- 각 엣지의 endpoint를 확률 p에 따라 옮기는 rewiring 과정을 거친다. 이 그래프는 높은 clustering coefficient와 작은 diameter를 가진다.
- Small world networks는 regular network와 random network의 interpolation이라고 할 수 있다.
4. Kronecker Graph Model
Idea
![](https://velog.velcdn.com/images/kimkj38/post/58622b0a-3e75-4766-bb50-fdb666c624f5/image.png)
- Object는 자기 자신의 일부와 비슷하므로 네트워크를 재귀적으로 구성할 수 있다.
- Kronecker product를 통해 self-similar 행렬을 만든다.
- Kronecker graph는 kronecker product를 초기 행렬 K1에 반복적으로 행하여 만들 수 있다.
![](https://velog.velcdn.com/images/kimkj38/post/f6e1370e-e987-44d9-a05d-1f3f66eb5178/image.png)
Stochastic Kronecker Graphs
![](https://velog.velcdn.com/images/kimkj38/post/60fa48fb-bbde-4f64-b7f6-5583b802010a/image.png)
- N1×N1의 확률 matrix θ1을 만든다.
- kth Kronecker power θk를 계산한다.
- θk의 entry puv에 따라 엣지를 생성한다.
- 위 방식은 O(n2)의 시간복잡도를 가져 실제 적용에 어려움이 있다.
- 따라서, 재귀적인 구조를 활용한 더 빠른 방식을 이용한다.
Generation of Kronecker Graphs
![](https://velog.velcdn.com/images/kimkj38/post/8da880c4-121a-4404-be7c-2ac3b26b2bdc/image.png)
- θ로부터 normalized matrix L을 만든다.
Luv=θuv/(∑opθop)
- L의 확률에 따라 가장 큰 4분할 영역 중 한 영역을 선택한다.
- 그 영역 또한 분할되어 있다면 재귀적으로 확률에 따라 선택한다.
- 단일 cell이 나올 때까지 반복하며 최종적으로 선택되면 1을 할당하여 edge를 만든다.
- 위 과정을 기대 엣지 수 E=(a+b+c+d)m가 될 때까지 반복한다.
![](https://velog.velcdn.com/images/kimkj38/post/6bee0958-989b-4801-8fbb-89b9c0cb4cbb/image.png)
- Kronecker Graph가 실제 그래프와 유사함을 확인할 수 있다.
References