랜덤포레스트, 보팅, 부스팅, 배깅, 앙상블, 스태킹

Motivation 2021. 7. 12. 19:50

의사결정트리는 주어진 학습 데이터에 따라 생성되는 의사결정트리가 크게 달라지고, 학습 결과의 성능과 변동 폭이 크다는 단점을 가지고 있다. 이러한 단점을 극복하기 위해 랜덤 포레스트가 등장하였다.

여러 개의 결정 트리 분류기가 생성되며, 각자의 방식으로 데이터를 샘플링하여 개별적으로 학습함

최종적으로 보팅을 통해 데이터에 대한 예측 수행

각 분류기는 원본 데이터셋에서 샘플링하여 데이터를 무작위로 가져오며, 이 과정을 부트스트랩(bootstrap)이라고 함

부트스트랩 과정에서는 데이터가 중복으로 샘플링 될 수도 있음

랜덤 포레스트는 수많은 의사결정트리가 만들어진 숲으로 표현되며, 결과를 도출하는 과정에서 모든 의사결정트리가 같은 답을 반환하지는 않으므로 다수결의 원칙으로 최종 결과를 선정함.

이렇게 결과를 합치고 의견을 통합하는 방식을 앙상블(Ensemble method)라고 함

https://m.blog.naver.com/samsjang/220979751089

 

[18편] scikit-learn 랜덤 포레스트(Random Forest)

이전 포스팅에서 다루었던 의사결정트리 학습법은 훌륭한 머신러닝의 한 방법이지만, 주어진 학습 데이터에...

blog.naver.com

 

https://lsjsj92.tistory.com/542

 

머신러닝 bagging 앙상블 랜덤 포레스트(random forest)란?

머신러닝 앙상블에는 배깅(bagging), 보팅(voting), 부스팅(boosting)이 있습니다. 그 중 앙상블 bagging에 속한 랜덤 포레스트를 이번 포스팅에서 소개할까합니다. 이 random forest는 빠른 속도와 높은 예측

lsjsj92.tistory.com

 

 

 

랜덤포레스트의 장점

분류와 회귀 문제 모두에 사용 가능하고, 결측치를 다루기 쉬움

대용량 처리에 효과적이고 모델의 노이즈를 심화시키는 오버피팅 문제를 회피하여 모델 정확도를 향상시킴

분류 모델에서 상대적으로 중요한 변수의 선정과 랭킹을 결정할 수 있음

https://bioinformaticsandme.tistory.com/167

 

랜덤포레스트(Random Forest)

랜덤포레스트(Random Forest) Start BioinformaticsAndMe 랜덤포레스트(Random Forest) : Random Forest는 오버피팅을 방지하기 위해, 최적의 기준 변수를 랜덤 선택하는 breiman(2001)이 제안한 머신러닝 기..

bioinformaticsandme.tistory.com

 

의사결정트리는 훈련 데이터에 오버피팅이 되는 경햠이 있으며, 이를 해결하기 위해 여러 개의 결정 트리를 통해 랜덤 포레스트를 만들어 단점을 해결할 수 있음

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-5-%EB%9E%9C%EB%8D%A4-%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8Random-Forest%EC%99%80-%EC%95%99%EC%83%81%EB%B8%94Ensemble

 

머신러닝 - 5. 랜덤 포레스트(Random Forest)

이전 포스트에서 결정 트리(Decision Tree)에 대해 알아봤습니다. 랜덤 포레스트를 배우기 위해서는 우선 결정 트리부터 알아야 합니다. 결정 트리에 대해 잘 모른다면 이전 포스트를 먼저 보고 오

bkshin.tistory.com

 

부스팅은 가중치를 활용하여 약 분류기를 강 분류기로 만드는 방법

배깅은 각각의 의사결정트리의 결과를 독립적으로 예측하지만, 부스팅은 이전 모델이 예측한 결과에 따라 데이터에 가중치를 부여하고 다음 모델에 영향을 미침. 잘못 분류된 데이터에 집중하여 새로운 분류 규칙을 만드는 단계를 반복함

배깅은 병렬로 학습하지만, 부스팅은 순차적으로 학습함

부스팅은 오답에 대해 높은 가중치를 부여하고, 정답에 낮은 가중치를 부여함

오답을 정답으로 맞추기 위해 오답에 더 집중하게 됨

부스팅은 배깅에 비해 에러가 적고 성능이 좋지만, 속도가 느리고 오버피팅 가능성이 있음

따라서 개별 결정트리의 낮은 성능이 문제라면 부스팅을, 오버피팅이 문제라면 배깅이 적합함

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-11-%EC%95%99%EC%83%81%EB%B8%94-%ED%95%99%EC%8A%B5-Ensemble-Learning-%EB%B0%B0%EA%B9%85Bagging%EA%B3%BC-%EB%B6%80%EC%8A%A4%ED%8C%85Boosting

 

머신러닝 - 11. 앙상블 학습 (Ensemble Learning): 배깅(Bagging)과 부스팅(Boosting)

앙상블(Ensemble) 앙상블은 조화 또는 통일을 의미합니다. 어떤 데이터의 값을 예측한다고 할 때, 하나의 모델을 활용합니다. 하지만 여러 개의 모델을 조화롭게 학습시켜 그 모델들의 예측 결과들

bkshin.tistory.com

 

배깅은 bootstrap aggregating의 준말로, 주어진 데이터에 대해 여러 개의 부트스트랩 자료를 생성하고 각 부트스트랩 자료를 모델링한 후 결합하여 최종의 예측 모형을 산출하는 방법

분류 문제는 잘못 분류된 개체들에 관심을 가지고 이들을 더 잘 분류하는 것이 목적

부스팅은 잘못 분류된 개체들에 집중하여 새로운 분류규칙을 만드는 단계를 반복함

약한 예측모형을 결합하여 강한 예측모형을 만드는 것이 부스팅 알고리즘

https://m.blog.naver.com/muzzincys/220201299384

 

배깅(bagging; bootstrap aggregating)과 부스팅(boosting)

배깅(bagging; bootstrap aggregating) 배깅(bagging)은 bootstrap aggregating의 준말로서 주어진 데이터...

blog.naver.com

 

 

앙상블은 여러 개의 분류기를 생성, 그 예측을 결합하여 정확한 최종 예측을 도출하는 기법

서로 다른 모델을 결합한 것을 지칭함

단일 모델의 약점을 다수의 모델들을 결합하여 보완하기 때문에 성능이 떨어져도 서로 다른 유형의 모델을 섞어 전체 성능을 향상시킴

랜덤 포레스트

 

보팅은 서로 다른 분류기의 결과 중 투표로 최종 결과를 예측하며, 이를 이용한 기법이 앙상블

보팅에는 다수결의 원칙을 따르는 하드보팅, 레이블값 예측 결과의 평균을 내어(??) 가장 높은 레이블값을 최종값으로 예측

 

배깅은 원본 데이터에서 무작위로 샘플링하여 데이터 표본을 여러 개 만들어 서로 다르게 학습을 시킴. 대표적인 기법으로는 의사결정트리를 여러 번 학습시키는 랜덤 포레스트가 있음

 

부스팅은 병렬적으로 학습을 수행하는 것과 달리, 이전의 학습 결과를 이후의 학습에 전달하여 학습 성능 향상을 꽤하는 직렬적 학습 방식을 의미함. 대표적으로 에이다 부스팅, 그래디언트 부스팅, XGBoost 등이 있으며, 이러한 것을 적용한 학습 방식이 딥러닝. 딥러닝은 기본적으로 직렬적 학습 방식임

 

스태킹은 여러 가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어 다른 모델(메타 모델)로 재학습시켜 결과를 예측함

https://foxtrotin.tistory.com/448?category=908378 

 

부스팅 알고리즘

부스팅Boosting 여러 개의 약한 학습기weak learner를 순차적으로 학습, 예측하면서 잘못 예측한 데이터에 가중치 부여를 통해 오류를 개선해 나가는 학습 방식 대표적으로 아래와 같은 알고리즘들이

foxtrotin.tistory.com

 

 

https://dohk.tistory.com/170

 

 

머신러닝(Machine Learning) 알고리즘 장단점 비교

                                                                                                                  ..

dohk.tistory.com

https://bkshin.tistory.com/entry/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-5-%EB%9E%9C%EB%8D%A4-%ED%8F%AC%EB%A0%88%EC%8A%A4%ED%8A%B8Random-Forest%EC%99%80-%EC%95%99%EC%83%81%EB%B8%94Ensemble

 

머신러닝 - 5. 랜덤 포레스트(Random Forest)

이전 포스트에서 결정 트리(Decision Tree)에 대해 알아봤습니다. 랜덤 포레스트를 배우기 위해서는 우선 결정 트리부터 알아야 합니다. 결정 트리에 대해 잘 모른다면 이전 포스트를 먼저 보고 오

bkshin.tistory.com

 

'Motivation' 카테고리의 다른 글

구체적 사고의 중요성  (0) 2023.12.13
석사 과정 중 아쉬웠던 점  (0) 2021.12.01
수학과 낙서에 대하여  (0) 2021.06.05
must와 want의 오버랩  (0) 2021.02.22
미쳐야 한다.  (0) 2021.02.17
admin