랜덤포레스트, 보팅, 부스팅, 배깅, 앙상블, 스태킹
Motivation 2021. 7. 12. 19:50의사결정트리는 주어진 학습 데이터에 따라 생성되는 의사결정트리가 크게 달라지고, 학습 결과의 성능과 변동 폭이 크다는 단점을 가지고 있다. 이러한 단점을 극복하기 위해 랜덤 포레스트가 등장하였다.
여러 개의 결정 트리 분류기가 생성되며, 각자의 방식으로 데이터를 샘플링하여 개별적으로 학습함
최종적으로 보팅을 통해 데이터에 대한 예측 수행
각 분류기는 원본 데이터셋에서 샘플링하여 데이터를 무작위로 가져오며, 이 과정을 부트스트랩(bootstrap)이라고 함
부트스트랩 과정에서는 데이터가 중복으로 샘플링 될 수도 있음
랜덤 포레스트는 수많은 의사결정트리가 만들어진 숲으로 표현되며, 결과를 도출하는 과정에서 모든 의사결정트리가 같은 답을 반환하지는 않으므로 다수결의 원칙으로 최종 결과를 선정함.
이렇게 결과를 합치고 의견을 통합하는 방식을 앙상블(Ensemble method)라고 함
https://m.blog.naver.com/samsjang/220979751089
https://lsjsj92.tistory.com/542
랜덤포레스트의 장점
분류와 회귀 문제 모두에 사용 가능하고, 결측치를 다루기 쉬움
대용량 처리에 효과적이고 모델의 노이즈를 심화시키는 오버피팅 문제를 회피하여 모델 정확도를 향상시킴
분류 모델에서 상대적으로 중요한 변수의 선정과 랭킹을 결정할 수 있음
https://bioinformaticsandme.tistory.com/167
의사결정트리는 훈련 데이터에 오버피팅이 되는 경햠이 있으며, 이를 해결하기 위해 여러 개의 결정 트리를 통해 랜덤 포레스트를 만들어 단점을 해결할 수 있음
부스팅은 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법
배깅은 각각의 의사결정트리의 결과를 독립적으로 예측하지만, 부스팅은 이전 모델이 예측한 결과에 따라 데이터에 가중치를 부여하고 다음 모델에 영향을 미침. 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 반복함
배깅은 병렬로 학습하지만, 부스팅은 순차적으로 학습함
부스팅은 오답에 대해 높은 가중치를 부여하고, 정답에 낮은 가중치를 부여함
오답을 정답으로 맞추기 위해 오답에 더 집중하게 됨
부스팅은 배깅에 비해 에러가 적고 성능이 좋지만, 속도가 느리고 오버피팅 가능성이 있음
따라서 개별 결정트리의 낮은 성능이 문제라면 부스팅을, 오버피팅이 문제라면 배깅이 적합함
배깅은 bootstrap aggregating의 준말로, 주어진 데이터에 대해 여러 개의 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 모델링한 후 결합하여 최종의 예측 모형을 산출하는 방법
분류 문제는 잘못 분류된 개체들에 관심을 가지고 이들을 더 잘 분류하는 것이 목적
부스팅은 잘못 분류된 개체들에 집중하여 새로운 분류규칙을 만드는 단계를 반복함
약한 예측모형을 결합하여 강한 예측모형을 만드는 것이 부스팅 알고리즘
https://m.blog.naver.com/muzzincys/220201299384
앙상블은 여러 개의 분류기를 생성, 그 예측을 결합하여 정확한 최종 예측을 도출하는 기법
서로 다른 모델을 결합한 것을 지칭함
단일 모델의 약점을 다수의 모델들을 결합하여 보완하기 때문에 성능이 떨어져도 서로 다른 유형의 모델을 섞어 전체 성능을 향상시킴
랜덤 포레스트
보팅은 서로 다른 분류기의 결과 중 투표로 최종 결과를 예측하며, 이를 이용한 기법이 앙상블
보팅에는 다수결의 원칙을 따르는 하드보팅, 레이블값 예측 결과의 평균을 내어(??) 가장 높은 레이블값을 최종값으로 예측
배깅은 원본 데이터에서 무작위로 샘플링하여 데이터 표본을 여러 개 만들어 서로 다르게 학습을 시킴. 대표적인 기법으로는 의사결정트리를 여러 번 학습시키는 랜덤 포레스트가 있음
부스팅은 병렬적으로 학습을 수행하는 것과 달리, 이전의 학습 결과를 이후의 학습에 전달하여 학습 성능 향상을 꽤하는 직렬적 학습 방식을 의미함. 대표적으로 에이다 부스팅, 그래디언트 부스팅, XGBoost 등이 있으며, 이러한 것을 적용한 학습 방식이 딥러닝. 딥러닝은 기본적으로 직렬적 학습 방식임
스태킹은 여러 가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어 다른 모델(메타 모델)로 재학습시켜 결과를 예측함
https://foxtrotin.tistory.com/448?category=908378
'Motivation' 카테고리의 다른 글
구체적 사고의 중요성 (0) | 2023.12.13 |
---|---|
석사 과정 중 아쉬웠던 점 (0) | 2021.12.01 |
수학과 낙서에 대하여 (0) | 2021.06.05 |
must와 want의 오버랩 (0) | 2021.02.22 |
미쳐야 한다. (0) | 2021.02.17 |