[인공지능 기초] 랜덤 포레스트(Random Forest)
·
AI Research/Artificial Intelligence
이전 포스팅에서 분류에 많이 사용되는 결정 트리(Decision Tree)에 대해 설명했습니다. 그러나 결정 트리는 학습 데이터에 오버피팅이 잘 일어나는 경향이 있습니다. 이번 포스팅에서는 결정트리의 오버피팅 문제를 극복하는 방법인 랜덤 포레스트(Random Forest)에 대해 설명하겠습니다. ​ ▶ 랜덤 포레스트(Random Forest)란? 랜덤 포레스트는 앙상블 모델 중 하나입니다. 여러 개의 결정 트리를 형성하고 새로운 데이터를 각 트리에 통과시켜, 각 트리가 분류한 결과를 가지고 투표해 가장 많이 득표한 결과를 최종 분류 결과로 선택하는 방식입니다. 이렇게 하면 랜덤 포레스트가 생성한 일부 트리는 과적합 되었을 수 있지만, 이외에도 많은 트리가 있기 때문에 일부의 트리에서 과적합이 되었다 해도..
[인공지능 기초] 결정 트리(Decision Tree)
·
AI Research/Artificial Intelligence
▶ 결정 트리(Decision Tree)란? 결정 트리는 분류(classification)와 회귀(regression)에 모두 사용 가능한 지도학습 모델 중 하나입니다. 결정 트리의 기본적인 작동 방식은 예/아니오 질문을 이어가며 학습하는 것입니다. 아래 그림은 결정트리의 작동 방식을 도식화한 것입니다. 위 그림에서 알 수 있듯이 한번의 분기마다 변수 영역을 두개로 구분합니다. 결정 트리에서 질문이나 정답이 담긴 네모상자를 노드라고 합니다. 가장 첫 질문을 루트 노드(root node), 정답이 담긴 마지막 노드를 터미널 노드(terminal node) 또는 리프 노드(leaf node)라고 합니다. 터미널 노드들의 개수를 통해 전체 데이터가 몇개의 부분집합으로 나눠지는 알 수 있고 터미널 노드 간에는 ..
[인공지능 기초] 앙상블 학습(Ensemble Learning)
·
AI Research/Artificial Intelligence
▶ 앙상블 학습(Ensemble Learning)이란? 앙상블 학습은 여러 개의 모델을 생성하고, 그 모델들의 예측을 결합하여 보다 나은 예측 결과를 도출하는 방법입니다. 강력한 모델 하나만을 사용하는 대신 조금 약한 모델들을 조합하여 더 정확한 예측을 하겠다는 방식입니다. 앙상블 학습은 굉장히 강력한 학습법인만큼 캐글에서 XGBoost, LightGBM과 같은 앙상블 알고리즘들이 큰 인기를 끌고 있습니다. 가장 기본적인 앙상블 알고리즘으로는 보팅(voting), 배깅(bagging), 부스팅(boosting), 스태킹(stacking) 등이 있습니다. ​ ​ ▶보팅(voting) 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식입니다. 서로 다른 알고리즘을 여러 개 결합하여 사용합니다. ..