Hello Computer Vision

[머신러닝] bootstrap, bagging이란? 본문

머신러닝

[머신러닝] bootstrap, bagging이란?

지웅쓰 2023. 1. 28. 14:47

이번에 머신러닝의 주요 기법인 랜덤포레스트를 공부하는 도중 부트스트랩, 배깅이란 용어가 나와 정리하고 가려고한다.(나름 핵심용어인 듯 하다)

 

Bootstrap이란?

우선 앙상블을 사용할 때 사용하는 방법이다.

한정된 데이터셋에 대하여 (ex.10개의 변수) 전체 데이터수만큼의 복원추출을 수행한다.

ex) 10개의 데이터가 있다면 10개를 복원추출하는 과정을 여러번 거친다. 이러한 과정에서 어떤 데이터셋에는 존재하지 않는 데이터도있을 것이고 여러번 뽑히는 데이터도 존재한다. 

중요한 점은 전체 데이터셋보다 적은 데이터를 뽑은 것이 아닌 전체 데이터수만큼의 복원추출을 한다.

이론적으로 복원추출한 데이터셋에서 한개의 데이터가 존재하지 않을 확률은 0.36정도이다.

 

Bagging이란?

Bootstrap Aggregating 의 줄임말이며 앞서 Bootstrap을 이용해 생성된 여러개의 데이터셋의 결과를 합친다는 것이다.

결과를 합치는 과정에서 풀려고 하는 문제가 어떤 문제냐에 따라 나오는 결과 값 또한 달라진다. 

원하는 문제가 분류문제라고 했을 때, 여기서 또한 달라지기도 한다.

많이 쓰이는 방법은 majority voting, weighted voting 이 있다.

풀려고 하는 문제가 분류문제가 아닌  경우 결과값에 대한 평균을 이용하기도 한다.