결정 트리
스무고개 놀이를 하듯 '예/아니오' 질문을 꼬리 물어 내려가며 최종 답을 찾아내는 길잡이 지도예요.
정의 스무고개 놀이를 할 때 정답을 맞히기 위해 단계별로 질문 범위를 좁혀가는 모습을 본 적이 있을 거예요. 결정 트리(Decision Tree)는 인공지능이 어떤 대상을 분류하거나 결과를 예측할 때, 이처럼 '예/아니오'로 나뉘는 기준 질문을 꼬리 물어 던지며 최종 답을 찾아가는 머신러닝 알고리즘(컴퓨터가 규칙을 찾는 계산 방식)이에요. 맨 위 하나의 뿌리 질문에서 시작해 조건에 따라 여러 갈래의 가지가 뻗어 나가고, 맨 끝 잎사귀에서 최종 결론을 내는 모습이 거꾸로 서 있는 나무와 닮았다고 해서 결정 트리라고 불러요.
스무고개로 정답을 좁혀가는 원리
스마트폰으로 영화 추천 테스트를 할 때를 떠올려 보세요. '오늘 기분이 신나는가?'라는 질문에 '예'를 고르면 다음으로 '액션 장르를 좋아하는가?'라는 질문이 이어지고, 마지막에는 나에게 딱 맞는 추천 영화가 화면에 나와요.
결정 트리도 완전히 똑같은 방식으로 작동해요. 컴퓨터가 방대한 데이터를 만나면, 가장 먼저 데이터를 가장 깔끔하게 둘로 나눌 수 있는 질문을 골라내요. 예를 들어 스팸 메일을 걸러낼 때 '메일 제목에 광고라는 단어가 있는가?' 같은 기준 질문을 던져 메일 더미를 둘로 쪼개는 식이에요.
이렇게 쪼개진 집단에 또 다른 세부 질문을 연속으로 던져요. 질문을 하나씩 통과할 때마다 뒤섞여 있던 데이터가 비슷한 성격끼리 정돈되고, 마침내 마지막 잎사귀 단계에서 '이 메일은 스팸이다' 또는 '일반 메일이다'라는 최종 판단에 도달하게 돼요.
질문의 순서를 정하는 비밀
그렇다면 컴퓨터는 어떤 질문을 가장 위에 놓고, 어떤 질문을 나중에 배치할까요? 그 비밀은 바로 데이터의 '불순도(얼마나 뒤섞여 있는가)'를 줄이는 계산에 있어요.
빨간 구슬과 파란 구슬이 절반씩 섞인 주머니는 혼란스러운 상태예요. 이때 완벽한 질문 하나로 빨간 구슬 주머니와 파란 구슬 주머니를 깨끗하게 나눈다면 혼란스러운 정도가 단숨에 사라져요. 컴퓨터는 이처럼 혼란스러움을 가장 많이 줄여주는 질문을 맨 앞 질문으로 선택해요.
조금 더 정확히 말하면, 이 과정을 '정보 이득'을 최대화한다고 표현해요. 컴퓨터는 수학 공식을 써서 질문을 던졌을 때 데이터가 얼마나 정돈되는지 수치로 계산하고, 가장 효율적인 순서대로 질문 나무를 스스로 만들어 가요.
직관적인 장점과 과적합의 함정
결정 트리의 가장 큰 장점은 바로 '투명한 설명력'이에요. 복잡한 인공신경망은 왜 그런 결론을 내렸는지 속을 들여다보기 어려워 흔히 블랙박스라고 불러요. 반면 결정 트리는 어떤 질문과 단계를 거쳐 답이 나왔는지 선명한 지도처럼 보여주므로 사람이 판단 과정을 한눈에 이해할 수 있어요.
하지만 질문 나무를 너무 깊고 복잡하게 만들면 큰 함정에 빠져요. 사소한 특징까지 전부 맞히려고 질문을 끝없이 이어붙이다 보면, 가지고 있던 연습 데이터에는 100점이지만 새로운 데이터를 만나면 엉뚱한 오답을 내는 과적합(Overfitting) 현상이 일어나요.
마치 교재 속 연습문제의 숫자와 오타까지 통째로 외워버린 탓에, 실제 시험에서 숫자가 조금만 바뀌어도 문제를 풀지 못하는 학생과 같아요. 그래서 실제 개발 현장에서는 필요 없는 잔가지를 잘라내는 가지치기를 하거나, 수많은 결정 트리의 판단을 모아 종합하는 랜덤 포레스트 기법을 함께 활용해요.
🤔 흔한 오해
결정 트리는 나뭇가지를 최대한 길고 복잡하게 만들수록 항상 예측 능력이 좋아진다.
가지가 너무 많아지면 훈련용 데이터에만 지나치게 맞춰지는 과적합(Overfitting)이 발생해, 새로운 실제 데이터를 만났을 때 오히려 오답을 낼 확률이 높아져요.
🧺 일상에서 만나요
결정 트리는 데이터를 가장 잘 나눌 수 있는 질문을 꼬리 물어 내려가며 답을 찾는 인공지능 알고리즘이에요.