Contents
Lecture 1.3에서는 Graph Representation를 고르는 방법에 대해서 다룬다. 먼저 Graph Representation을 알기 전 Graph의 구성에 대해서 먼저 알아보자. 그래프는 Nodes, Vertice로 불리는 Objects와 Links, Edges로 불리는 Interactions, 그리고 Network, Graph로 불리는 System로 구성되어 있다. Node로 표현할 경우

Graph는 일반적으로 사용자와 사용자 간의 관계를 표현할 때 사용하거나 프로틴(Protein)과 같은 분자 구조를 표현할 때도 사용된다. Graph는 한 분야에서만 사용되는 것이 아니라 다양한 분야에서 사용되기 때문에 분야에 맞는 Graph Representation을 선택하는 것이 매우 중요하다. 데이터가 주어졌을 때 우리는 그래프로 어떻게 디자인할 것인지 결정해야 한다. 이때 가장 좋은 성능을 발휘할 수 있는 Graph Representation을 어떻게 선택할 수 있을까? 어떤 경우에서는 unique하고 unambiguous representation이 존재한다. 다른 경우에는 unique한 representation이 존재하지 않을 수도 있다.
Directed vs Undirected Graph
내가 Edge를 할당하는 방식에 따라 어떤 방식으로 접근해야 되는지 결정된다. Edge는 방향성이 존재하지 않는 Undirected Edge(Symmetrical, reciprocal)와 방향성이 존재하는 Directed Edge(arcs)가 존재한다. Collaboration, Frendship on Facebook과 같은 경우가 Undirected에 속하고, Phone Call, Following과 같은 경우가 Directed에 속한다.

Node Degrees
Degree는 차수를 의미하며, Undirected에서는 Node에 인접(adjacent)해 있는 Edge의 수를 의미한다. 만약 노드
Edge는 Node와 Node를 이어주는 역할을 한다. 즉, 하나의 Edge는 2개의 Node와 접해있는 것이다. 따라서, Degree를 연산할 때

이때
Bipartite Graph
Bipartite Graph는 매우 자주 접하는 Graph의 종류일 것이다. Node를

Folded/Projected Graph
Folded or Projected Graph는 Bipartite Graph의 Node Group을 분할한 Graph라고 한다. 하나의 side(left or right)의 두 Node가 적어도 하나의 공통된 neighbor를 공유할 경우에 Edge를 연결하는 형태로 Folded/Projected Bipartitle Graph를 그릴 수 있다. 위에서 언급한 Bipartite Graph는

Adjacency Matrix
Adjacency Matrix는

Adjacency Matrix의 각 행과 열은 Node들을 의미하며, Node가 4개인 경우

Adjacency를 list 형태로 생성하게 되면 Node가 주어졌을 때 인접한 Node를 검색하는 속도가 매우 빨라지게 된다. Undirected인 경우에는 양쪽 Node를 저장하면 되고, Directed 인 경우에는 incoming과 outcoming을 나누어서 list에 저장해주어야 한다.
Node and Edge Attributes
Weight
Weight는 Edge에 관련된 속성 중 하나이며, 얼마나 관련되어 있는지를 나타낸다. Undirected Graph의 경우 Weight가 높을수록 굵은 Edge로 표현하며, Weight에 따라 Adjacency의 Entity가 변경된다.

Self-Edges, Multigraph
지금까지의 Graph는 직선 Edge에 대해서만 다루었다. 그러나 실제 Field에서는

Multigraph는 실제 Field에서 주로 볼 수 있는 Graph 중 하나이다. 예를 들어, 친구 사이의 전화 통화나 사용자의 구매 기록 등과 같은 데이터를 이용할 때에는 하나의 Edge가 아니라 여러 개의 Edge가 존재하기 때문이다.
Connected, Unconnected
지금까지 다룬 Graph는 모두 Connected Graph다. Unconnected Graph는 Node가 서로 떨어져 있는 Node가 존재하는 Graph를 의미하며, Node에 연결된 Edge가 하나도 없는 Node는 Isolated Node라고 부른다. 이때 Edge가 가장 많이 연결된 Graph는 Giant Component라 부른다.

오른쪽 그림을 예로 들면,

Summary
- Choice of a graph representation
- Directed, Undirected
- Bipartite
- Weighted
- Adjacency Matrix
- Connected, UnConnected
- Strongly Connected, Weakly Connected
'Deep Learning > CS224W' 카테고리의 다른 글
[CS224W] Node Embeddings (0) | 2022.07.05 |
---|---|
[CS224W] Traditional feature-based methods: Graph-level features (0) | 2022.07.04 |
[CS224W] Traditional feature-based methods: Link-level features (2) | 2022.07.03 |
[CS224W] Traditional feature-based methods: Node-level features (0) | 2022.05.17 |
[CS224W] Application of Graph ML (0) | 2022.05.16 |