<모델 해석의 새로운 패러다임> Born-Ag | 커리어리

<모델 해석의 새로운 패러다임> Born-Again Tree Ensembles 랜덤포레스트 기법을 들어보셨나요? Tree라고 부르는 의사결정나무를 여러개 모아 다수결로 최종 결정을 진행하는 방법입니다. 나무들이 모여 숲을 이룬다는 직관과 같이 랜덤 포레스트는 변수를 선택하는 과정은 랜덤이지만 변수의 갯수, Tree의 수를 사용자가 결정할 수 있고 예측력 또한 간단한 아이디어에 비해 엄청납니다. 하지만 예측력이 뛰어나기 때문에 해석은 불가능에 가깝습니다. 예를 들어 0, 1 분류 문제에서 왜 0으로 분류되었는지 살펴보면 N개의 나무중 반 이상이 0으로 분류했기 때문입니다. 이걸 이해하기 위해 LIME, SHAP, PDP등 모델 해석 방법론을 들이대도, 대략적인 유추(99%의 해석)가 가능하지만 100% 해석은 하지못할 것입니다. 그런데 Born-Again Tree Ensembles(BA-Tree)는 랜덤 포레스트를 아예 하나의 Tree로 적합 시켜버립니다. 즉, 뛰어난 예측력을 가진 랜덤포레스트를 이제는 간단한 Tree로 만날 수 있게 된 것입니다. 아직 R의 caret 패키지나 Python의 sklearn 패키지에서 만날 수는 없지만 아이디어가 뛰어나고, 공개된 코드를 조금 손보면 충분히 활용할 수가 있습니다. 그런데 BA-Tree가 의미하는 바가 무었일까요? Tree를 모아 예측력이 뛰어난 앙상블 모델을 만들었고 이제는 그걸 다시 하나의 BA-Tree로 왜 만들었을까요? 애초에 앙상블만큼 잘하는 Tree를 만들면 되지 않았을까요? 그 의미는 Tree를 만들 때 기준이 되는 ‘엔트로피’, ‘지니 불순도’, ‘정보 획득량’은 앙상블 만큼 잘하는 Tree를 만들 수 없기 때문이라고 저는 생각합니다. 신기하지 않나요? 우리가 알고 있던 방법이 최선의 방법이 아니라, 더 발전할 수 있는 여지가 남아있다는 사실이!! 끝으로 BA-Tree가 구현된 깃 주소를 공유하며 글을 마칩니다

vidalt/BA-Trees

GitHub

2021년 2월 11일 오후 2:11

댓글 0

주간 인기 TOP 10

지난주 커리어리에서 인기 있던 게시물이에요!

현직자들의 '진짜 인사이트'가 담긴 업계 주요 소식을 받아보세요.

커리어리 | 일잘러들의 커리어 SNS