머신러닝을 공부하다 보면 "inductive learning"과 "transductive learning"이라는 개념을 종종 접하게 됩니다. 처음 들으면 헷갈리지만, 두 용어는 모델이 예측을 수행하는 방식에 대한 근본적인 차이를 담고 있습니다. 이번 글에서는 두 방식의 개념과 차이를 비교하고, 예제와 함께 언제 어떤 방식이 적절한지 살펴봅니다.
용어 정리 하나부터: transductive는 종종 "전이 학습"으로 잘못 번역되는데, 전이 학습(transfer learning)은 전혀 다른 개념입니다. transductive learning은 변환적 학습 정도로 옮기는 것이 정확합니다.
🧠 Inductive Learning (귀납 학습)이란?
Inductive learning은 학습 데이터로부터 일반적인 패턴(함수)을 귀납적으로 추론하여, 보지 못한 새로운 데이터에도 적용 가능한 모델을 만드는 것을 목표로 합니다. 특정 상황에 국한되지 않는 범용 예측 모델을 만드는 것이 목적이며, 우리가 아는 일반적인 지도 학습(SVM, Random Forest, 딥러닝)이 모두 여기에 속합니다.
✅ "보지 않은 데이터에도 잘 작동해야 한다!"가 핵심입니다.
🔁 Transductive Learning (변환적 학습)이란?
반면 transductive learning은 학습 시점에 예측 대상인 테스트 데이터가 이미 주어져 있는 상황에서, 그 테스트 셋에 대해서만 최적의 예측을 수행합니다. 일반화된 함수를 만드는 것이 아니라 지금 눈앞의 데이터만 잘 맞히면 됩니다. 라벨 없는 테스트 데이터의 분포 정보까지 학습에 활용할 수 있기 때문에, 라벨이 귀한 상황에서는 귀납 학습보다 정확할 수 있습니다.
✅ "이 테스트 샘플에 대해 정확히 예측하는 게 우선!"이 핵심입니다.
📊 Inductive vs Transductive – 한눈에 비교
| 목표 | 일반화 가능한 예측 함수 학습 | 특정 테스트 샘플에 대한 예측 최적화 |
| 함수 학습 여부 | O (f: X → Y 형태의 명시적 모델 학습) | X (직접적인 함수 학습 없이 예측) |
| 테스트 범위 | 모든 보지 않은 데이터에 대응 | 지금 주어진 테스트 데이터에만 초점 |
| 활용 예시 | 일반적인 지도 학습 (SVM, RF, 딥러닝 등) | Transductive SVM, Semi-supervised Learning 등 |
| 범용성 | 높음 | 낮음 (테스트 셋이 바뀌면 다시 학습해야 할 수도 있음) |
💡 예제로 이해해보기
- Inductive 예시 — 고등학생들의 공부 시간과 시험 점수로 모델을 학습하고, 앞으로 만날 새로운 학생의 점수를 예측합니다. 모델은 누구에게든 적용됩니다.
- Transductive 예시 — 한 학급에서 일부 학생의 점수만 알고 있고, 점수를 모르는 나머지 특정 학생들만 예측하면 되는 상황입니다. 그 학생들의 공부 시간 분포까지 활용해 그들에게만 최적화된 예측을 합니다.
현대적인 예로는 그래프 신경망(GNN)이 대표적입니다. 논문 인용 그래프에서 일부 노드에만 라벨이 있을 때, 고전적인 GCN은 그래프 전체(테스트 노드 포함)를 보고 학습하는 transductive 방식입니다 — 새 노드가 추가되면 다시 학습해야 하죠. 이 한계를 풀기 위해 이웃 샘플링으로 보지 못한 노드에도 일반화하도록 만든 것이 GraphSAGE 같은 inductive GNN입니다. 같은 문제, 두 접근의 차이가 선명하게 드러나는 사례입니다.
🎯 언제 어떤 방식을 사용할까?
| 범용 예측 모델이 필요할 때 | Inductive |
| 주어진 테스트 셋이 중요하고 일반화는 필요 없을 때 | Transductive |
| 데이터 라벨이 적고, 일부만 라벨이 있을 때 | Transductive (반지도 학습 포함) |
판단 기준은 두 가지 질문으로 압축됩니다 — (1) 예측 대상이 학습 시점에 이미 손에 있는가? (2) 앞으로 새로운 데이터가 계속 들어오는가? (1)이 예스이고 (2)가 노라면 transductive가 유리하고, 서비스처럼 새 데이터가 계속 유입되면 inductive 외에 선택지가 없습니다.
📝 마무리
Inductive와 Transductive는 어느 쪽이 더 "좋다"의 문제가 아니라, 문제의 성격에 따라 적합한 접근이 다른 것입니다. 데이터의 분포, 활용 목적, 라벨 유무, 그리고 새 데이터 유입 여부를 고려해 선택하세요. 라벨이 적고 예측 대상이 고정되어 있다면 transductive(반지도 학습 포함)를 검토할 가치가 충분하고, 범용 서비스 모델이라면 inductive가 기본값입니다.
'푸닥거리' 카테고리의 다른 글
| Label Shift vs Covariate Shift — 실무 개발자를 위한 10분 가이드 (0) | 2025.08.23 |
|---|---|
| Sequence-to-Sequence (Seq2Seq) 모델 완벽 정리 — RNN vs Transformer 비교 (0) | 2025.08.16 |
| 🔍 RAG(Retrieval-Augmented Generation)란? 검색과 생성의 만남 (0) | 2025.07.23 |
| YOLO와 Probability Calibration: 객체 탐지 모델의 신뢰도 높이기 (0) | 2025.07.19 |
| 설명 가능한 인공지능(XAI): 왜, 그리고 어떻게? (0) | 2025.07.14 |
댓글