결정 트리와 랜덤 포레스트(Decision trees and random forests)
'x < 0.4인가?' 같은 예/아니오 질문을 차례로 던져 자료를 나누고, 잎(leaf)에서 다수결로 답하는 모형. 질문은 엔트로피(entropy)를 가장 많이 줄이는 것을 욕심껏 고르고, 자료와 질문 후보를 무작위로 바꿔 가며 기른 깊은 나무 여러 그루의 예측을 평균(mean)하면 랜덤 포레스트(random forest)가 된다.
스무고개처럼 결정 트리(decision tree)는 예/아니오 질문을 차례로 던져 답을 좁힙니다. 'x < −0.5인가?'에 예라면 다음은 'y < 0.6인가?'를 묻는 식입니다. 질문이 끝나는 곳(잎)에서는 거기까지 내려온 학습 자료의 다수결로 답합니다. 질문 하나는 좌표 하나를 문턱(threshold)과 비교하므로 평면은 축에 나란한 직사각형들로 나뉩니다. 아래 점 60개는 비스듬한 직선 위쪽이면 노랑, 아래쪽이면 파랑이 되게 만든 뒤, 점마다 10%의 확률(probability)로 색을 뒤집어 잡음을 넣은 자료입니다(이 60개에서는 8개가 뒤집혔습니다).
첫 질문은 무엇이 좋을까요? 답을 들은 뒤 양쪽의 색이 저마다 한쪽으로 쏠리는 질문입니다. 쏠림은 엔트로피로 잽니다. 노랑의 비율이 p인 무리의 엔트로피는
정보 이득은 질문의 답과 색 사이의 상호 정보량(mutual information)과 같습니다. 질문 전 불확실성
나무는 이 일을 되풀이해 자랍니다. 나뉜 두 무리 각각에서 다시 가장 좋은 질문을 고르고, 정한 깊이에 이르거나 한 색만 남으면 멈춥니다. 매 순간 눈앞의 이득만 보는 욕심쟁이 알고리즘(greedy algorithm)이라 전체로 가장 작은 나무를 찾는다는 보장은 없습니다. 자료를 모두 맞히면서 평균 질문 수가 가장 적은 결정 트리를 찾는 문제는, 1976년 하이아필과 리베스트가 NP-완전(NP-complete)임을 보였습니다(P 대 NP). 탐욕의 한계를 보여 주는 예가 XOR입니다. 네 사분면에 노랑과 파랑이 엇갈려 있으면 어떤 첫 질문도 이득이 0에 가깝지만, 깊이 2의 나무는 완벽하게 가릅니다.
깊이 D =
깊이를 올려 보세요. 나무 한 그루는 깊이 2–3에서 시험 정확도가 약 81%로 가장 높고, 깊이 6부터는 학습 자료를 100% 맞히는 대신 시험 정확도가 약 74%로 떨어집니다. 잡음으로 뒤집힌 점 하나하나에까지 작은 방을 만들어 준 결과입니다(과적합, overfitting). 시험 자료도 점마다 10% 확률로 뒤집었으므로 어떤 모형도 기대 정확도가 90%를 넘을 수 없습니다(이 1000개에서는 99개가 뒤집혀 있어, 숨은 규칙 그대로 답해도 90.1%입니다). 깊은 나무는 편향이 작고 분산(variance)이 큰 모형의 대표입니다(편향–분산 분해(bias–variance decomposition)). 자료가 조금만 바뀌어도 첫 질문이 바뀌고, 그 아래가 통째로 달라집니다. 그래서 깊이나 잎의 최소 크기를 제한하거나, 크게 키운 뒤 교차 검증(cross-validation)으로 가지를 쳐냅니다.
다른 해법은 흔들리는 나무를 여럿 길러 평균하는 것입니다. 랜덤 포레스트는 나무마다 학습 자료에서 n개를 복원 추출(부트스트랩, bootstrap)해서 기르고, 질문을 고를 때마다 쓸 수 있는 좌표를 무작위로 제한합니다(여기서는 x와 y 가운데 하나를 무작위로 고릅니다). 복원 추출(sampling with replacement)로 뽑으면 한 나무가 보는 서로 다른 점은 평균적으로 전체의
결정 트리에는 독특한 장점이 있습니다. 질문이 좌표의 순서만 보므로 특성에 로그를 씌우거나 단위를 바꿔도 나무가 그대로이고, 그래서 정규화와 달리 크기를 맞출 필요가 없습니다. 숫자와 범주(category)가 섞인 자료도 다루기 쉽고, 얕은 나무는 사람이 읽을 수 있습니다. 약점은 비스듬한 경계를 계단으로밖에 흉내 내지 못한다는 것입니다. 첫째 그림의 경계가 바로 그렇습니다. 1963년 모건과 손퀴스트의 AID에서 시작해, 1984년 브라이먼, 프리드먼, 올셴, 스톤의 CART와 1986년 로스 퀸런의 ID3가 오늘날 형태를 만들었습니다. 배깅(1996)과 랜덤 포레스트(2001)도 레오 브라이먼의 작업입니다.
이어지는 곳. 같은 모양의 나무가 정렬의 하한(lower bound) 증명에도 나옵니다. 비교 정렬(comparison sort)을 비교 질문의 결정 트리로 보면 잎이 적어도 n!개여야 하므로 깊이가
이 개념이 나오는 긴 글
이 개념을 언급하는 페이지
- 비교 정렬의 하한
… 섀넌의 원천 부호화 정리도 같은 셈입니다. 자료를 예/아니오 질문으로 나누어 예측하는 기계 학습의결정 트리도 같은 모양의 나무이고, 질문마다 엔트로피를 가장 많이 줄이는 것을 욕심껏 고릅니다. 비교 말고 다른 …
- 트리
… 트리는 비교 정렬의 하한을 증명하는 도구이고, 예/아니오 질문으로 자료를 나누어 답을 내는 기계 학습의결정 트리는 잎에 예측을 단 트리이며, 번갈아 두는 게임의 모든 수를 펼친 게임 트리는 미니맥스로 최선의 수를 …
- 상호 정보량
… 가운데 정답과의 상호 정보량이 큰 것을 고릅니다. 예/아니오 질문을 나무 모양으로 이어 답을 정하는결정 트리는, 질문 하나가 정답에 대해 주는 상호 정보량(정보 이득)이 가장 큰 질문부터 던집니다. …
- 기계 학습
… 하나면 분류, 집값처럼 수이면 회귀라 부릅니다. 최소제곱 회귀, 로지스틱 회귀, 퍼셉트론,결정 트리, 서포트 벡터 머신, 최근접 이웃 분류, 신경망이 여기 속합니다. 정답 없이 자료만 주고 그 …
- 편향–분산 분해
… 아무리 늘려도 ρv 아래로는 내려가지 않으므로, 모형들을 서로 덜 닮게 만드는 것이 중요합니다. 이것이랜덤 포레스트의 설계 원리입니다. 자료를 늘려도 분산은 줄어듭니다. 위의 정리에서 n이 분모에 있고, ⟦큰 수의 …
- 교차 검증과 일반화
… 서포트 벡터 머신에는 하나 빼기 오류율이 서포트 벡터의 비율을 넘지 않는다는 깔끔한 한계도 있습니다.랜덤 포레스트는 나무마다 뽑히지 않은 자료로 오차를 재는 방법(OOB 오차)으로 교차 검증을 거의 공짜로 얻습니다. …
- 인공지능
… 초까지 실용적인 중심은 블라디미르 바프니크의 통계적 학습 이론에 기댄 서포트 벡터 머신, 그리고결정 트리와 랜덤 포레스트같은 방법이었습니다. 이렇게 인공지능은 통계학과 가까워졌습니다. 한편 1997년 5월 IBM의 딥 …
- 전문가 혼합
… 쓴 확률(사후 확률)로, 베이즈 정리로 구한 것입니다. 계층적 전문가 혼합은 가지마다 부드럽게 갈라지는결정 트리로 볼 수도 있습니다. 희소하게 고르기. 1991년의 모형은 모든 전문가를 계산한 뒤 섞습니다. 전문가를 …