라떼군 이야기


뉴욕 vs 샌프란시스코 집값으로 이해하는 머신러닝: 시각화로 배우는 의사결정나무와 과적합

TL;DR 머신러닝은 데이터를 분석해 패턴을 찾고 경계를 나누는 기술입니다. 의사결정나무 알고리즘을 통해 주택을 분류하는 과정을 시각적으로 따라가다 보면, 훈련 데이터에만 완벽하게 맞춰져 실제 예측력을 잃는 ‘과적합(Overfitting)‘의 위험성을 직관적으로 이해할 수 있습니다.


머신러닝과 AI가 소프트웨어 엔지니어링의 기본 소양으로 자리 잡고 있지만, 복잡한 수식과 추상적인 개념 때문에 입문 장벽이 높습니다. R2D3의 ‘A Visual Introduction to Machine Learning’은 뉴욕과 샌프란시스코의 주택 데이터를 활용해 머신러닝의 핵심 원리를 아름답고 직관적인 인터랙티브 시각화로 풀어낸 명작입니다. 수학적 지식이 깊지 않아도 데이터가 어떻게 모델을 학습시키고, 그 과정에서 어떤 함정이 도사리고 있는지 이해할 수 있는 완벽한 출발점을 제공합니다.

핵심 내용

이 글은 ‘의사결정나무(Decision Tree)’ 알고리즘을 사용하여 주택의 고도와 평당 가격 등의 ‘특성(Feature)‘을 기준으로 두 도시의 집을 분류합니다. 알고리즘은 데이터를 가장 잘 나눌 수 있는 ‘분기점(Split point)‘을 통계적으로 찾아내며, 이 과정을 반복하여 하위 그룹의 동질성(Purity)을 높입니다. 하지만 훈련 데이터(Training data)에 대해 100%의 정확도를 달성할 때까지 분기를 계속하면 심각한 문제가 발생합니다. 모델이 훈련 데이터에 섞인 노이즈나 무의미한 세부사항까지 패턴으로 착각하여 암기해버리는 ‘과적합(Overfitting)‘이 발생하고, 결국 처음 보는 테스트 데이터(Test data)에서는 예측 성능이 크게 떨어지게 됩니다.

기술적 인사이트

엔지니어 관점에서 이 글은 머신러닝이 전통적인 ‘규칙 기반(Rule-based) 프로그래밍’과 어떻게 다른지 명확히 보여줍니다. 개발자가 직접 if-then 규칙을 하드코딩하는 대신, 알고리즘이 지니 불순도(Gini index)나 교차 엔트로피(Cross entropy) 같은 지표를 활용해 최적의 if-then 분기점을 스스로 찾아냅니다(Greedy algorithm). 여기서 가장 중요한 기술적 트레이드오프가 발생합니다. 모델의 복잡도를 높여 훈련 데이터의 정확도를 극대화할 것인가, 아니면 트리의 깊이를 제한하여 새로운 데이터에 대한 ‘일반화(Generalization)’ 성능을 확보할 것인가 하는 딜레마입니다. 이는 결국 머신러닝의 근본적인 고민인 ‘편향-분산 트레이드오프(Bias-Variance Tradeoff)‘로 직결됩니다.

시사점

실무에서 개발자나 데이터 분석가들은 종종 모델의 훈련 정확도(Training Accuracy)가 높다는 이유만으로 프로젝트의 성공을 확신하는 함정에 빠지곤 합니다. 이 글은 모델을 평가할 때 반드시 모델이 한 번도 본 적 없는 ‘테스트 데이터’를 철저히 분리하여 검증해야 함을 강력히 시사합니다. 또한, 무작정 복잡한 딥러닝 모델을 도입하기 전에 의사결정나무와 같이 설명 가능성(Explainability)이 높은 모델을 베이스라인으로 삼아 데이터의 특성을 먼저 파악하는 것이 훌륭한 엔지니어링 접근법임을 알려줍니다.


당신이 현재 다루고 있는 데이터 프로젝트에서 모델은 진정한 ‘패턴’을 찾고 있나요, 아니면 단순히 주어진 데이터를 ‘암기’하고 있나요? 눈앞의 100% 정확도라는 환상에서 벗어나, 데이터의 본질과 모델의 일반화 능력을 다시 한번 점검해 볼 때입니다.

원문 읽기

협업 및 후원 연락하기 →