의사결정나무는 "연습 퀴즈를 완료했는가?" 또는 "소득이 달러를 넘는가?" 같은 질문을 순서대로 하며 예측합니다. 분류 트리에서는 보통 부모 노드보다 자식 노드가 덜 섞이게 만드는 질문이 가장 좋은 질문입니다. 여기서 엔트로피와 지니 불순도가 등장합니다.
랜덤 포레스트는 같은 기본 아이디어를 쓰지만, 하나의 트리만 믿지 않고 많은 트리의 결과를 평균냅니다. 핵심만 기억하면 이렇습니다. 엔트로피와 지니는 트리가 분할을 고르는 데 도움을 주고, 랜덤 포레스트는 단일 트리의 불안정성을 줄이는 데 도움을 줍니다.
의사결정나무의 엔트로피와 지니: 무엇을 측정하나
엔트로피와 지니 불순도는 모두 분류 노드가 얼마나 섞여 있는지를 점수로 나타내는 방법입니다.
노드에 클래스 확률 가 들어 있다면, 자주 쓰이는 엔트로피 공식은 다음과 같습니다.
이 공식은 분류 트리에 사용됩니다. 로그의 밑은 점수의 크기만 바꾸고, 어떤 분할이 더 좋은지의 순위는 바꾸지 않습니다.
지니 불순도는 다음과 같습니다.
두 점수 모두 노드가 완전히 순수할 때 입니다. 클래스가 더 많이 섞일수록 두 값 모두 커집니다.
실제로는 엔트로피와 지니가 후보 분할의 순위를 비슷하게 매기는 경우가 많습니다. 엔트로피는 정보이론적으로 직접적인 해석이 가능하고, 지니는 계산이 조금 더 단순합니다.
의사결정나무가 분할을 고르는 방법
엔트로피에서는 정보 이득이 대표적인 기준입니다.
여기서 은 부모 노드의 샘플 수이고, 는 자식 노드 의 샘플 수입니다.
지니에서도 아이디어는 같습니다. 자식 노드들의 가중 불순도를 계산하고, 그것을 가장 많이 줄이는 분할을 선호합니다.
조건이 중요합니다. 엔트로피와 지니는 분류 트리의 표준 기준입니다. 회귀 트리는 타깃이 범주형이 아니라 수치형이므로 보통 분산 감소 같은 다른 규칙을 사용합니다.
계산 예제: 하나의 분할에 대한 엔트로피와 지니
어떤 노드에 합격/불합격 예측을 위한 훈련 예제 개가 있다고 합시다.
- 개는 합격
- 개는 불합격
따라서 부모 노드는 정확히 반반으로 섞여 있습니다.
이 노드의 엔트로피는 다음과 같습니다.
지니 불순도는 다음과 같습니다.
이제 "연습 퀴즈를 완료했는가?"라는 분할을 시험해 봅시다.
- 예 가지: 예제 개, 그중 합격 개와 불합격 개
- 아니오 가지: 예제 개, 그중 합격 개와 불합격 개
예 가지에 대해서는,
그리고
아니오 가지는 순수 노드이므로,
분할 후 가중 엔트로피는 다음과 같습니다.
따라서 정보 이득은
분할 후 가중 지니는 다음과 같습니다.
따라서 지니 감소량은
두 기준 모두 이 분할이 부모 노드를 그대로 두는 것보다 낫다고 말합니다. 두 경우 모두 가중 불순도가 감소하기 때문입니다.
왜 의사결정나무는 직관적으로 이해되나
트리는 사람들이 결정을 설명하는 방식과 비슷해서 읽기 쉽습니다. "이 조건이 참이면 왼쪽으로, 아니면 오른쪽으로 간다"는 식입니다. 그래서 모델을 점검하거나 설명해야 하거나, 사람이 읽을 수 있는 규칙으로 바꿔야 할 때 유용합니다.
또한 매우 유연합니다. 트리는 전체 데이터셋에 하나의 전역 방정식을 강요하지 않고도 비선형 패턴과 특성 간 상호작용을 포착할 수 있습니다.
왜 랜덤 포레스트가 더 잘 작동하는 경우가 많은가
단일 트리는 해석하기 쉽지만 불안정할 수 있습니다. 데이터가 조금만 바뀌어도 트리 구조가 눈에 띄게 달라질 수 있습니다.
랜덤 포레스트는 하나가 아니라 많은 트리를 만들어 이런 불안정성을 줄입니다. 일반적인 방법은 다음과 같습니다.
- 각 트리마다 복원추출로 훈련 데이터를 샘플링한다
- 각 분할에서 특성의 무작위 부분집합만 고려한다
- 여러 트리의 예측을 결합한다
분류에서는 보통 다수결로 예측합니다. 회귀에서는 보통 각 트리의 출력을 평균냅니다.
절충점은 분명합니다. 랜덤 포레스트는 단일 트리보다 더 정확하고 더 안정적인 경우가 많지만, 하나의 깔끔한 규칙 집합으로 설명하기는 더 어렵습니다.
의사결정나무에서 흔한 실수
엔트로피와 지니를 서로 다른 예측 방식으로 생각하기
이들은 서로 다른 모델 계열이 아니라 분할 기준입니다. 어느 쪽을 써도 모델은 여전히 의사결정나무입니다.
분류 조건을 잊기
엔트로피와 지니는 분류 트리의 표준 기준입니다. 타깃이 수치형이면 트리는 보통 대신 분산 기반 또는 오차 기반 규칙을 사용합니다.
완전한 순수성을 너무 깊게 추구하기
훈련 세트에서 모든 리프가 거의 완벽해질 때까지 계속 분할하면 트리가 과적합될 수 있습니다. 깊이 제한, 최소 리프 크기, 가지치기에는 다 이유가 있습니다.
랜덤 포레스트가 스스로 설명된다고 가정하기
포레스트는 예측을 더 잘하는 경우가 많지만, 단일 트리보다 투명성은 떨어집니다. 해석 가능성이 가장 중요한 요구사항이라면, 잘 제어된 하나의 트리가 여전히 더 나은 도구일 수 있습니다.
언제 의사결정나무 또는 랜덤 포레스트를 써야 하나
의사결정나무는 금융, 의료, 운영, 마케팅 등 다양한 응용 분야의 분류와 회귀 문제에 등장합니다. 입력과 출력의 관계가 직선형 모델로 잘 설명되지 않을 때, 그리고 규칙 형태의 설명이 중요할 때 특히 유용합니다.
해석 가능성이 가장 중요하고 결정 경로를 직접 확인해야 한다면 단일 트리를 사용하세요. 한 줄씩 읽을 수 있는 하나의 간결한 트리보다 예측 성능과 안정성이 더 중요하다면 랜덤 포레스트를 사용하세요.
비슷한 문제를 직접 해보기
두 개의 클래스를 가진 작은 라벨링 데이터셋을 잡고, 가능한 첫 분할 두 개를 시험해 보세요. 각 자식 노드의 클래스 비율을 계산한 뒤, 가중 엔트로피 또는 가중 지니를 비교해 보세요. 작은 사례 하나를 손으로 직접 풀어보는 것이 분할 논리를 가장 빨리 익히는 방법인 경우가 많습니다.