Machine Learning on Knowledge Graphs

관계의 지형을
학습하다

데이터가 낱개의 돌이라면 그래프는 그 돌들이 놓인 산세다. 제9장은 개별 값만 바라보던 머신러닝을 관계의 풍경으로 이끌며, 노드·링크·커뮤니티·그래프 전체를 어떻게 예측 가능한 표현으로 바꾸는지 차근히 보여준다.

노드 중심 태스크 그래프 중심 태스크 Feature Engineering Node2Vec Community Detection
지식그래프 머신러닝의 전체 흐름 그래프가 특징 벡터로 변환되고 분류기와 커뮤니티 탐지로 이어지는 흐름 GRAPHnodes · edges FEATURESvectors · structure INSIGHTclass · link · group
입력은 관계망이다.출력은 분류·확률·공동체다.
9.1

왜 그래프 위에서 학습하는가

지식그래프는 저장 형식이 아니라 현실의 의존성을 보존하는 계산 무대다.

지식그래프를 세웠다고 지능형 조언 시스템이 완성되는 것은 아니다. 탐색과 질의는 이미 드러난 지식을 찾아주는 일이고, 조언은 아직 보이지 않는 가능성을 추론하는 일이다. 질병·단백질·유전자·화합물 사이에서 약물 재창출 후보를 고르거나, 환자의 증상과 유전체를 문헌·임상시험·표준 프로토콜에 연결하려면 그래프의 지식을 입력으로 받는 머신러닝이 필요하다.

“값을 모으는 것만으로는 산의 모양을 알 수 없다. 능선과 골짜기, 곧 관계를 함께 보아야 비로소 길을 낼 수 있다.”제9장의 핵심 논지를 한국어로 재구성한 문장
Reason 01

보편적 데이터 표현

행렬, 텐서, 순서열, 시계열 등 서로 다른 형식의 데이터를 노드와 관계로 변환해 하나의 계산 언어로 다룬다.

Reason 02

문제의 압축

이상 노드 탐지와 치료 추천은 노드 분류로, 추천과 상호작용 발견은 링크 예측으로 환원할 수 있다.

Reason 03

의존성의 보존

현실의 데이터는 독립적이지 않다. 관계를 지우면 중요한 신호도 함께 지워진다. 그래프 ML은 이 의존성을 모델의 재료로 사용한다.

GNN 환자 유사도망 생물학적 경로 구조 패턴 탐지 IAS 조언 생성 LLM 의학 문헌 임상 지침 자연어 설명
GNN–LLM 결합. GNN은 구조적 패턴을 찾고, LLM은 문헌과 지침을 종합해 그 패턴을 인간이 행동할 수 있는 언어로 설명한다. 개인맞춤의료는 이 결합이 가장 분명하게 드러나는 예다.
9.2

무엇을 학습하는가

그래프 ML은 지도·비지도 구분만으로 설명하기 어렵다. 더 중요한 구분은 ‘한 그래프 안의 요소’를 다루는가, ‘그래프 자체’를 하나의 표본으로 다루는가이다.

노드 중심 태스크

  • 입력은 하나의 그래프
  • 노드와 관계가 데이터 포인트
  • 노드 분류, 링크 예측, 커뮤니티 탐지
  • 출력은 클래스, 링크 확률, 그룹

그래프 중심 태스크

  • 입력은 여러 개의 독립 그래프
  • 그래프 하나가 데이터 포인트
  • 분자·단백질·프로그램 단위 분류
  • 출력은 그래프 클래스 또는 속성

노드 분류

소수의 라벨을 근거로 그래프 안의 미분류 노드에 클래스를 부여한다.

입력하나의 그래프, 노드 특성, 일부 노드 라벨
출력각 대상 노드의 클래스 또는 클래스 확률
학습 성격일반적으로 반지도적
사례봇 탐지, 단백질 기능 분류, 문서 주제 분류
01

노드 분류: 점 하나도 이웃의 역사를 지닌다

그래프의 노드는 독립 표본이 아니다. 그 정체는 속성뿐 아니라 누구와 연결되어 있는가에 의해 달라진다.

소셜 네트워크에서 일부 사용자의 봇 여부만 알고 있다고 하자. 목표는 그래프 V 안의 미분류 노드 u에 라벨 yu를 예측하는 것이다. 학습에 사용할 수 있는 라벨은 전체 노드의 작은 부분집합 Vtrain에만 존재한다. 같은 틀은 단백질 상호작용망의 기능 분류와 인용 그래프의 문서 주제 분류에도 적용된다.

Relational Pattern

동질성 Homophily

비슷한 관심·속성·행동을 가진 노드가 서로 연결되는 경향. 소셜 네트워크에서 이웃의 집단 소속은 강한 예측 신호가 된다.

Relational Pattern

구조적 등가성

직접 연결되지 않았더라도 비슷한 이웃 구조를 가진 노드는 유사한 기능을 가질 수 있다. 단백질 네트워크에서 특히 중요하다.

Relational Pattern

이질성 Heterophily

서로 다른 특성의 노드가 선택적으로 연결되는 경향. 관계가 반드시 ‘닮음’을 뜻하지 않는다는 사실을 보여준다.

i.i.d. 가정의 붕괴

전통적 지도학습은 데이터 포인트가 독립적이고 동일한 분포에서 왔다고 가정한다. 그래프에서는 이웃 노드가 서로 영향을 주므로 이 가정이 깨진다. 따라서 성공적인 노드 분류는 노드 속성과 관계적 의존성을 함께 모델링해야 한다.

전체 그래프 ? 특징화 + 학습노드 속성이웃 구조 분류 결과Class A · 0.82Class B · 0.18
학습과 예측의 일관성. 학습 시 사용한 특징 추출 방식은 예측 시에도 동일해야 한다. 전체 그래프를 볼 수 있으나 일부 노드의 라벨만 모른다는 점에서 노드 분류는 흔히 반지도학습으로 불린다. 다만 i.i.d.를 전제하는 전통적 반지도학습과 완전히 같지는 않다.
다중 라벨 노드 분류: Flickr 사례
Flickr 사용자는 여러 관심 그룹에 동시에 가입할 수 있다. 사용자를 노드, 팔로 관계를 엣지, 가입 그룹을 복수 라벨로 두면 아직 가입하지 않은 관심 그룹을 추천하는 다중 라벨 노드 분류 문제가 된다.
03

커뮤니티 탐지: 촘촘한 마을과 느슨한 고갯길

거대한 그래프는 한 덩어리의 ‘헤어볼’이 아니라, 내부 연결이 촘촘하고 외부 연결이 성긴 여러 지역으로 이루어진다.

공저망은 연구 분야, 소속 기관, 지리적 요인에 따라 자연스러운 군집을 만든다. 커뮤니티 탐지는 노드 속성 라벨 없이도 네트워크 토폴로지만으로 잠재 집단을 찾아낸다. 유전자 상호작용망의 기능 모듈, 금융 거래망의 사기 집단, 대규모 그래프의 구조적 요약이 대표적인 응용이다.

원시 네트워크 내부 밀도가 높은 공동체
모듈성의 직관. 커뮤니티 탐지는 실제 공동체 내부의 엣지 밀도와 무작위 연결에서 기대되는 밀도의 차이를 크게 만드는 방향으로 그룹을 나눈다.

전통적 클러스터링

  • K-means: 벡터 공간의 중심점 기준
  • 클러스터 수 k를 미리 지정
  • DBSCAN: 밀집도와 잡음 기준
  • 데이터 포인트가 독립적

그래프 클러스터링

  • 연결 구조 자체가 핵심 정보
  • 내부·외부 관계 밀도를 비교
  • 대체로 라벨 없는 비지도 태스크
  • 일부 방법은 기존 라벨을 활용 가능
04

그래프 분류: 숲 하나를 한 표본으로 보다

노드 분류가 숲속 나무의 종류를 맞히는 일이라면, 그래프 분류는 숲 전체가 어떤 생태계인지 판별하는 일이다.

분자는 원자가 노드이고 화학 결합이 엣지인 그래프로 표현된다. 독성이나 용해도는 개별 원자의 성질만이 아니라 원자들이 결합한 전체 구조에서 나온다. 그래프 분류는 여러 개의 라벨된 그래프를 학습해 새로운 그래프의 클래스를 예측하며, 이 경우 그래프 하나가 독립된 데이터 포인트가 된다.

Molecule

독성·용해도

원자 구성과 결합 패턴을 함께 특징화해 분자 속성을 분류한다.

Protein

효소 판별

아미노산을 노드로, 일정 거리 이내의 상호작용을 엣지로 두어 효소 여부를 예측한다.

Program

악성코드 탐지

프로그램의 구문과 데이터 흐름을 그래프로 만들고 악성 여부를 판별한다.

9.3

어떻게 구현하는가

길은 둘이다. 그래프 전용 알고리즘으로 곧장 들어가거나, 그래프를 벡터로 번역한 뒤 전통적 머신러닝의 도구를 사용하는 길이다.

그래프 전용 접근

  • Collective classification 등
  • 그래프 구조와 이웃 관계를 직접 처리
  • 중간 표현 변환이 필요하지 않을 수 있음
  • 알고리즘이 그래프의 구조적 가정을 내장
OR

특징 벡터 접근

  • 노드·링크·그래프를 벡터로 변환
  • 로지스틱 회귀, 랜덤 포리스트 등 활용
  • 핵심 과제는 좋은 특징 설계
  • 수동 → 반자동 → GNN 자동학습으로 발전

수동 특징 추출

도메인과 그래프 구조를 사람이 해석해 특징을 설계한다. 투명하지만 노동집약적이다.

반자동 특징 생성

반복적 계산과 후보 생성을 자동화하면서 사람이 의미 있는 특징을 선택한다.

그래프 신경망

구조 패턴과 노드 속성을 메시지 전달로 학습해 벡터 임베딩을 자동 생성한다.

불변의 원칙

훈련 단계에서 사용한 특징화 규칙은 예측 단계에도 그대로 적용해야 한다. 스케일러, 관계 벡터 조합 연산, 그래프 통계의 정의가 달라지면 모델 입력의 의미가 변해 예측이 성립하지 않는다.

LAB

Zachary Karate Club: 작은 그래프가 가르친 큰 교훈

34명의 친교 관계와 두 지도자 사이의 분열은 특징 설계가 알고리즘보다 중요할 수 있음을 선명하게 보여준다.

이 네트워크는 가라테 클럽 회원 34명의 교류를 기록한다. 관리자 ‘John A’와 지도자 ‘Mr. Hi’의 갈등으로 클럽이 둘로 나뉘었고, 분열 이후 각 회원이 어느 편에 속했는지가 정답 라벨이 된다. 목표는 분열 이전의 친구 관계만 보고 최종 소속을 예측하는 것이다.

34

회원 노드

실제 사회관계를 담은 작은 네트워크다.

2

최종 그룹

Mr. Hi와 John A(Officer) 집단으로 분리된다.

40%

테스트 비율

고정 난수 시드로 학습·테스트를 나눈다.

LR

분류기

표준화된 임베딩에 로지스틱 회귀를 적용한다.

세 가지 표현의 대결

단순 차수 임베딩

Precision
Recall
F1
3
3
5
3
혼동행렬

참음성 3, 거짓양성 3, 거짓음성 5, 참양성 3. 단순한 연결 수는 어느 집단과 연결되었는지를 구별하지 못한다.

도메인 지식을 반영한 3차원 특징의 재구성 예시
def group_aware_features(graph):
    club = nx.get_node_attributes(graph, "club")
    vectors = []
    for node in graph.nodes:
        neighbors = list(graph.neighbors(node))
        total = len(neighbors)
        mr_hi = sum(club[n] == "Mr. Hi" for n in neighbors)
        officer = sum(club[n] == "Officer" for n in neighbors)
        vectors.append([total, mr_hi, officer])
    return vectors
Lesson 01

특징 설계가 성패를 가른다

단순 차수와 자동 임베딩보다 집단별 이웃 수라는 도메인 특징이 더 높은 성능과 안정성을 보였다.

Lesson 02

Node2Vec도 조율이 필요하다

walk length와 walk 수가 지나치면 노드 표현이 서로 비슷해질 수 있다. 자동화는 무조정과 동의어가 아니다.

Lesson 03

동질성은 설계 지식이다

이 네트워크에서는 누구와 연결되었는지가 집단 소속을 설명한다. 도메인 이해가 일반적 특징보다 강한 신호를 만든다.

Node2Vec 설정과 해석
장에서는 각 노드를 64차원으로 표현하고, 길이 30의 랜덤워크를 노드당 200회 수행하며, Word2Vec 방식의 윈도 크기 10을 사용한다. 이 표현은 단순 차수보다 낫지만 F1이 약 0.645였고 실행에 따른 변동도 컸다. 저자는 walk length와 num walks를 낮춰 실험해보도록 권한다.
표준화와 로지스틱 회귀
서로 다른 스케일의 특징을 평균 0, 분산 1로 맞추지 않으면 큰 숫자 범위의 특징이 거리 계산과 모델 결정에 과도한 영향을 준다. 같은 StandardScaler를 훈련과 테스트에 사용하고, 교차검증을 포함한 로지스틱 회귀로 두 집단의 확률을 추정한다.
평가 지표의 역할
정밀도·재현율·F1과 혼동행렬을 함께 본다. 작은 예제이지만 같은 코드는 더 큰 그래프와 다중 클래스에도 적용할 수 있다. 장의 핵심은 특정 분류기를 찬양하는 것이 아니라 표현의 질이 예측 성능을 좌우한다는 점이다.
FLOW

그래프 단위 분류 파이프라인

여러 그래프를 같은 규칙으로 특징화하고, 라벨된 그래프로 학습한 모델을 새 그래프에 적용한다.

TRAINING 라벨된 그래프 집합 Class A · B · C 그래프 특징화노드 속성 평균전역 통계 · 구조 패턴 분류 모델Logistic RegressionRandom Forest · Bayesian PREDICTION 미분류 그래프Graph 5 · Graph 6 동일한 특징화훈련 단계와 완전 일치 Class A · Class B확률 + 임계값
그래프 분류의 두 단계. 특징의 품질과 후속 알고리즘의 매개변수 조정이 최종 정확도와 계산 성능을 좌우한다.
ALG

그래프 클러스터링: 변환 없이 구조를 직접 읽다

일부 그래프 알고리즘은 특징 벡터도, 훈련 모델도 필요하지 않다. 그래프 자체가 입력이고 공동체가 출력이다.

Fixed Mechanism

WCC

방향을 무시했을 때 서로 도달 가능한 독립 부분그래프를 찾는다.

Optimization

Louvain

모듈성을 최적화해 내부 결속이 강한 공동체를 탐지한다.

Propagation

LPA

라벨을 이웃으로 전파하고 같은 라벨의 노드를 공동체로 묶는다. 무작위성 때문에 실행마다 결과가 달라질 수 있다.

node 8
Louvain 결과. Karate Club 그래프에서 네 개의 공동체를 찾는다. 대부분 실제 두 집단 중 하나로 동질적이지만, 8번 노드는 반대 집단 구성원들과 구조적으로 더 강하게 연결되어 ‘다른 색 마을’에 들어간다.

이 태스크는 앞선 분류 태스크와 두 점에서 다르다. 첫째, 그래프를 벡터로 바꾸지 않는다. 알고리즘이 노드, 관계, 방향, 가중치를 직접 사용한다. 둘째, 학습 단계가 없다. 사전 라벨 없이 그래프를 받아 공동체를 반환하는 비지도 과정이다.

Σ

제9장의 핵심 정리

그래프 머신러닝의 첫걸음은 더 복잡한 모델이 아니라, 무엇을 하나의 데이터 포인트로 볼 것인지 정확히 정하는 데서 시작한다.

관계가 곧 데이터다그래프 ML은 연결과 의존성을 지우지 않고 학습해 현실의 구조를 더 충실히 반영한다.
태스크는 두 층위로 나뉜다한 그래프 안의 노드·링크를 다루는 노드 중심 태스크와 그래프 하나를 표본으로 보는 그래프 중심 태스크가 있다.
노드 분류와 링크 예측은 반지도적이다일부 라벨과 기존 구조, 미라벨 노드의 이웃 정보까지 함께 이용한다.
커뮤니티 탐지는 대체로 비지도다특징 변환이나 학습 모델 없이 그래프 구조를 직접 읽어 내부 결속이 강한 그룹을 찾는다.
특징 공학이 핵심이다차수 하나보다 도메인 구조를 담은 특징이 더 정확하고 안정적인 예측을 만들 수 있다.
자동 임베딩도 조율이 필요하다Node2Vec 같은 방법은 강력하지만 매개변수에 따라 표현이 지나치게 균질해질 수 있다.
훈련과 예측의 표현을 일치시킨다특징 계산, 스케일링, 관계 조합 규칙은 두 단계에서 완전히 동일해야 한다.
균형이 좋은 시스템을 만든다자동 특징 학습, 도메인 지식, 태스크에 맞는 알고리즘 선택 사이의 균형이 성공을 좌우한다.
Closing Note

그래프를 학습한다는 것은 관계를 수치로 줄이는 일이 아니라, 관계 속에 숨어 있던 질서를 다시 읽는 일이다.

제9장은 뒤이어 등장할 수동 특징 공학, 그래프 임베딩, GNN의 입구다. 그러나 가장 오래 남는 교훈은 소박하다. 좋은 모델보다 먼저 좋은 표현을 만들고, 좋은 표현보다 먼저 문제와 도메인의 구조를 이해해야 한다.