위 강의는 Stanford CS224W(* 21/W season)를 이해한 내용을 적었습니다.
따라서, 의역이나 오역이 있을 수 있습니다.
강의 요약
1. GraphML은 다양한 분야에서 활용되며, 노드 분류, 링크 예측, 그래프 자체의 분류, 군집화 등 다양한 사례에 적용할 수 있습니다. 이번 강의에서는 GraphML의 적용 사례와, 대략적인 원리를 알 수 있습니다.
2. GraphML의 발전의 key idea는 Spatial graph 입니다. spatial graph는 노드들이 특정 지표를 갖춘 공간에 위치하는 개념입니다. 강의에서는 단백질 구조를 예시로 들었는데요, 교통 및 이동경로 또한 네트워크로 나타낼 수 있습니다. 즉, 특정 Topic에 대해, 그래프로 추상화한 개념으로 이해하였습니다.
(도시 공간의 경우, 교차점을 노드로, 거리를 링크로 추상화할 수 있기 때문입니다)
3. 그래프를 표현하는 방법에는 여러 가지가 있으며, 방향성, 가중치 다중성, 이분성이 있습니다. 표현 방법에 따라, 그래프 구조와 통계적 특성이 변할 수 있으므로, 적절한 방법을 선택하는 것이 중요합니다.
그래프는 다양한 분야에서 활용됩니다. 이전에 먼저 그래프 구조와 어떻게 머신러닝에 활용하는지 알아보겠습니다. 이미지로 먼저 확인해 보겠습니다.
Graph의 구조는 위 이미지와 같으며, Node, Community(노드의 집단), Edge-level(Link) 그리고 그래프 전체 구조에 대한 머신러닝을 적용할 수 있습니다.
그리고 아래와 같이 활용할 수 있습니다.
1. Node Classification(노드 분류)
2. Link Prediction(링크 예측)
3. 그래프 학습
카카오맵에서 판교역-넥슨코리아 대중교통 경로를 검색했습니다. 이는 GraphML을 사용하여, 이동 시간을 예측할 수 있습니다.
그래프가 생성되는 방식은 노드가 도로구간을 나타내고, 도로 구간 사이의 연결성은 edges로 표현됩니다.
그리고 우리는 각 도로 구간의 교통 패턴, 출발지와 목적지 사이의 경로 등 feature를 포함하여, 도착 시간 추정치를 예측하도록 훈련할 수 있습니다. (아래 예시: 구글Maps 적용 사례)
4. 그 외, Molecule Generation / Optimization