https://welldonecode.tistory.com/157
의사결정트리 (Decision Tree)
Random Forest의 기초가 되는 의사결정트리 (Decision Tree)에 대해서 알아본다. 의사결정트리는 지도학습 방법 중, "분류" 문제를 푸는데 사용된다. 데이터가 존재할 때, 스무고개를 통해 그 데이터가
welldonecode.tistory.com
이전 게시물에서 의사결정트리에 대해 다뤘고, 의사결정트리의 overfitting 문제를 해결하기 위해 random forest가 등장하였다고 언급하였다. 이번엔 이 random forest에 대해 알아본다.
의사결정트리에서 "나무"를 만들었다면, 랜덤 포레스트에서는 나무들로 이루어진 "숲"을 만든다.
하나의 나무가 문제를 잘 해결하지 못하니, 여러개의 나무를 이용해 집단지성으로 문제를 해결하고자 한다.
그럼 여러개의 나무를 어떻게 만들까? -> Bootstraping 을 이용한다!
Bootstraping
Bootstraping이란 원본 데이터셋에서 "복원추출"하여 유니크한 새로운 데이터셋을 생성하는 기법이다.
Random Forest에서는 원본 데이터셋에서 특성 (feature, column)도 랜덤으로 일부 선택하고, 이에 딸려오는 데이터도 랜덤으로 일부 선택한다. (작은 나무를 랜덤으로 만든다)
집단지성을 이용한다고 했는데, 이는 부트스트렙을 통해서 만들어놓은 여러가지 나무들을 합치는 과정이다.
- 회귀 문제일 경우 기본모델들의 결과들를 평균 내고
- 분류 문제일 경우 다수결로 투표를 해서 가장 많은 투표를 받은 것을 결과로 낸다.
'AI' 카테고리의 다른 글
BLEU (Bilingual Evaluation Understudy) Score - LLM Evaluation (0) | 2024.12.05 |
---|---|
SVM (Support Vector Machine) 이란? (0) | 2024.11.27 |
의사결정트리 (Decision Tree) (1) | 2024.11.27 |
[pytorch] 순환신경망 (Recurrent Neural Network) 예제 코드 (0) | 2024.11.21 |
[pytorch] 합성곱 신경망 (Convolution Neural Network) 예제 코드 (0) | 2024.11.20 |