- AI Dev - 인공지능 개발자 모임
- 정보공유
- 머신러닝
결정 트리(Decision Tree)는 대표적인 머신러닝 기법입니다. 각 특징을 조건으로 구분하여 트리 모양으로 분기 후 정답을 맞춥니다. 트리를 만들기 위해서는 정보 획득(Information Gain)을 계산해야 합니다. 어떤 특징을 어느 부분에서 구분해야 데이터가 가장 잘 나누어지는지 판단합니다. 정보 획득 방법에는 엔트로피나 지니 계수가 대표적입니다.
이런 트리 하나만으로는 정확도가 그리 높지 않습니다. 그래서 여러 개의 트리를 조합하는 앙상블을 적용합니다. 앙상블 방식은 크게 배깅(Bagging)과 부스팅(Boosting)이 있습니다. 배깅은 여러개의 분류기를 만들고 그 결과를 취합하여(가방에 모아서) 가장 높은 항목을 선택합니다. 부스팅은 하나의 트리를 가지고 지속적으로 성능을 높이는(부스팅) 방법입니다.
보통 결정 트리를 기반으로 앙상블을 많이 하는 편입니다. 배깅은 랜덤 포레스트(Random Forest), 부스팅은 그래디언트 부스팅(Gradient Boosting)이 유명합니다. 캐글에서 많이 쓰이는 XGBoost는 그래디언트 부스팅의 단점을 보완한 모델입니다.
< 의사결정나무(Decision Tree) >
- https://ratsgo.github.io/machine%20learning/2017/03/26/tree/
< Random Forest >
- https://dailyheumsi.tistory.com/114
< 그래디언트 부스트(Gradient Boost) >
- https://bkshin.tistory.com/…/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB…