GNN
[GNN] Lecture 1 : 그래프 소개
Ojungii
2024. 9. 29. 00:05
그래프 모델링
- 복잡한 시스템을 표현할 수 있는 범용적인 자료구조
- 시스템을 분석하고 이해할 수 있는 수학적 기초 제공
- 노드(node): 객체의 집합
- 링크(link): 객체들 간의 상호 작용
그래프 (Graph)
- 𝐺 = (𝑉, 𝐸) 로 표현
- 노드의 집합 𝑉
- 링크의 집합 𝐸 = {(𝑢, 𝑣) |𝑢 ∈ 𝑉, 𝑣 ∈ 𝑉}
단순 그래프 (Simple Graph)
- 두 노드 사이의 링크는 최대 1개
- 같은 노드를 연결하는 링크는 없음
- 모든 링크는 방향성이 없음(undirected), 즉 (𝑢, 𝑣 )∈ 𝐸 ↔( 𝑣, 𝑢) ∈ 𝐸
인접 행렬 (Adjacency Matrix)
- 그래프를 표현하는 편리한 방법
- $𝑨 ∈ ℝ^{ |𝑉| × |𝑉|}$ 로 표현
- 모든 노드를 행(row)과 열(row)에 대응하여 링크 표현
- 𝑨[ 𝑢, 𝑣 ]= 1 if (𝑢, 𝑣) ∈ 𝐸 and 𝑨[ 𝑢, 𝑣] = 0 otherwise
- 방향성이 없으면 A는 대칭행렬
- 가중치가 있으면 A의 성분은 {0,1} 대신 실수값
다중-관계 그래프 (Multi-relational Graph)
- 그래프 내에서 다양한 관계 유형(relational type)의 링크를 고려하는 경우
- 링크에 유형을 추가하여 표현: (𝑢, 𝜏, 𝑣) ∈ 𝐸
- 각 관계 유형 별 인접행렬 정의: $𝑨_𝜏$
- 관계의 집합: 𝑅
- 전체 그래프를 요약하는 인접텐서(adjacency tensor) 정의: $𝑨 ∈ ℝ^{ |𝑉|×| 𝑅| × |𝑉|}$
- 종류 : 이종 그래프(heterogeneous graph), 다중 그래프(multiplex graph)
이종 그래프 (Heterogeneous Graph)
- 노드에도 유형(type)이 있는 경우
- 특정 링크는 특정 유형의 노드들 사이에서만 연결
- 예제: Biomedical Graph
- 단백질, 약물, 질병을 나타내는 노드 유형이 가능
- “치료” 링크: 약물 노드와 질병 노드 사이의 연결
- “부작용” 링크: 두 약물 노드 사이의 연결
예제: Multipartite Graph
- 다분 그래프: 서로 다른 유형의 노드끼리만 연결이 가능한 그래프
- 이분 그래프(bipartite graph): 노드 유형이 2개인 다분 그래프
다중 그래프 (Multiplex Graph)
- 그래프가 𝑘개의 레이어로 분해가 가능한 경우
- 각 노드는 모든 레이어에 속함
- 각 레이어는 하나의 관계와 연관, 해당 유형의 링크를 포함
- 서로 다른 레이어를 연결하는 링크가 존재한다고 가정할 수 있음
- 예제: Transportation Network
- 각 노드는 도시, 각 레이어는 서로 다른 교통 수단을 표현
- Intra-layer 링크는 교동 수단으로 연결된 도시들을 표현
- Inter-layer 링크는 도시 내에서 교통 수단을 바꾸는 가능성
속성 (Attribute)
- 속성 또는 특징(feature): 그래프와 관련된 정보
- 이종 그래프: 각 노드 유형이 고유의 속성을 가진다고 가정할 수 있음
- 경우에 따라 링크-레벨 속성을 고려하기도 함
그래프 기계학습
- 노드 분류(node classification)
- 관계 예측(relation prediction)
- 군집화와 커뮤니티 검출(clustering and community detection)
- 그래프 분류, 회귀, 군집화(graph classification, regression, and clustering)
노드 분류 vs 지도학습
- 노드 분류는 지도학습의 단순 변형이 아님
- 구조에 대한 정보를 가지고 있기 때문에 접근법이 달라짐.
- 노드 분류는 독립적이지 않은 (종속성을 지닌) 분포를 따른다는 차이점
- 지도학습은 기본적으로 독립적으로 생각하고, 노드 분류는 시작부터 구조적 종속을 가지고 있음.
- 노드 분류 접근법
- 동질성(homophily): 인접 노드와 유사한 레이블을 가지는 경향
- 구조적 동등성(structural equivalence): 비슷한 로컬 구조를 가진 노드와 유사한 레이블을 가지는 경향
관계예측
- 목표: 불완전한 링크 집합에서 속하는 링크를 추론하는 것
- 링크 예측(link prediction), 행렬 채우기(matrix completion) 문제와 연관
- 연결성이 끊어진 그래프에 걸쳐 일반화를 요구하기도 함
- 예제: Relation Prediction
- 소셜 플랫폼의 컨텐츠 추천
- 약물 부작용 예측
- 관계형 데이터베이스 지식 추론
군집화와 커뮤니티 검출
- 커뮤니티 검출
- 목표: 그래프가 주어졌을 때, 잠재 커뮤니티를 추론하는 것
- 노드 분류, 관계 예측과 달리 완전한 비지도 학습의 그래프 버전
- 예제: Community Detection
- 인용 및 공저자 네트워크에서 밀집 연결 그룹 발견
- 유전자 상호작용 네트워크에서 기능 모듈 발견
- 금융 거래 네트워크에서 부정 사용자 그룹 발견
그래프 분류, 회귀, 군집화
- 목표: 전체 그래프를 활용하는 분류, 회귀, 군집화
- 그래프 내의 개별 노드, 링크 대신 각 그래프에 대한 독립적인 예측 분석 수행
- 예제: Graph Classification, Regression and Clustering
- 컴퓨터 프로그램의 구문과 데이터 흐름에 대한 그래프에서 악성 프로그램 감지하는 분류 모델
- 분자 구조 그래프에서 분자의 독성 또는 용해도 예측하는 회귀 모델
- 단일 그래프의 노드, 링크에 대한 예측 대신
출처 :
- William L. Hamilton. (2020). Graph Representation Learning.
- 충남대학교 임성수 교수님 그래프 기계학습 강의