Study for Data Science

CS224W - ML with Graphs 요약(1)

|

1. 왜 그래프인가?

  • 그래프는 관계와 상호작용이 있는 엔티티를 묘사하고 분석하기 위한 일반적인 언어이다.
  • 예시
    • 이벤트 그래프
    • 컴퓨터 네트워크
    • 질병 확산 경로
    • 지식 그래프
    • 소셜 네트워크
  • 다양한 도메인에서 많은 관계적 구조를 그래프로 표현 할 수 있고, 이를 통해 더 좋은 성능을 낼 수 있다.

2. 그래프란 무엇인가?

  • 그래프 \(G\) 는 노드들의 집합 \(V\) 와 노드 사이의 엣지들의 집합인 \(E\) 로 정의된다.
  • 그래프의 종류
    • undirected/directed graph
    • weighted graph
    • heterogeneous graph
    • multiplex graph
    • bipartite graph
    • etc
  • 그래프를 행렬로 표현하는 가장 간단한 방법 중 하나는 adjacency matrix로 표현하는 것이다.
  • 그래프(또는 노드)를 표현하는 다양한 방법이 있고, 이를 앞으로 살펴볼 예정이다.
    • 노드간의 관계 구조를 활용 할 수 있다.
    • 노드의 특성을 표현할 수 있는 다양한 정보도 활용 할 수 있다.

3. 그래프에서 머신러닝

  • 그래프에서의 머신러닝은 지도/비지도와 같이 전통적인 머신러닝의 분류로 구분하기 어렵다.
  • 노드 분류(node classification) : 노드 특성 분류하기
    • 예시 - SNS에서 봇 계정 분류하기
    • 그래프에서 노드들은 i.i.d(independent and identically distrubuted)를 만족하지 않는다.
    • 그래프에서는 노드를 독립적인 데이터 포인트로 다루지 않고, 노드 간의 관계를 이용해 모델링 할 수 있다.
  • 관계 예측(relation prediction) : 두 노드 간의 잃어버린 관계 예측
    • link prediction, graph completion, relational inference 등으로도 불림
    • 그래프에서 일부 엣지를 제외하고 학습한 다음 제외한 엣지를 예측하도록 학습한다.
    • 이 과정은 그래프 데이터 종류의 매우 의존적이다.
  • 군집화와 커뮤니티 감지
  • 그래프 분류, 회귀, 군집화

참고 자료

강의 - Leature 1
책 - Chapter 1