모두의연구소가 풀잎스쿨 스터디 개설부터 운영까지 도와드려요!
#인공지능 

부트스트랩(Bootstrap) 과 스트랩 달린 부츠는 무슨 관련이 있을까?

부트스트랩은 왜 통계, 머신러닝에서 복원추출하여 여러 데이터셋을 만드는 과정을 의미할까요? 부트스트랩의 의미를 스스로 찾아보고 이해해봅시다.

2024-03-04 | 허남철

부트스트랩? 부츠에 달린 스트랩?

머신러닝을 학습하다 보면 부트스트랩 이라는 단어를 꼭 한번 만나게 됩니다. 머신러닝에서 부트스트랩은 표본 데이터에서 복원추출하여 여러 데이터셋을 만들어 내는 과정을 말합니다. 하지만 복원추출 과정을 왜 부트스트랩이라고 부르는 것일까요? 이 두 가지는 어떠한 관련이 있는 것일까요?

부트스트랩 이란?

위 사진처럼 부트스트랩은 부츠의 발목에 달린 끈입니다. 부츠를 신을 때, 발을 넣고 스트랩을 당기면 쏙 하고 신을 수 있죠. 이러한 기능 덕분에 부트스트랩이 있으면 부츠를 혼자서 쉽게 신을 수 있습니다. 이렇게 스스로 무엇을 가능하게 한다는 특징 때문에 ‘Pull Yourself Up By Your Bootstraps’라는 표현도 있습니다. ‘스스로 해결하라, 극복하라’라는 뜻이지요.

이러한 특징 때문에 여러 분야에서 ‘스스로, 외부의 도움 없이’라는 의미를 담아 많이 사용되는 단어가 바로 이 부트스트랩입니다. OS에서는 스스로 진행되는 Process를 의미합니다. 같은 이름의 Web Front Framework 도 있습니다.

통계, 머신러닝에서의 부트스트랩도 이와 비슷한 특징을 표현하고자 사용됩니다. 부트스트랩은 표본에서 또 다른 표본을 여러 번 복원추출하는 과정을 말합니다. 즉, 외부의 도움 없이 (추가적인 데이터 수집 없이) 주어진 샘플의 데이터만을 이용해 스스로 무엇인가를 해내는(?) 느낌입니다. 통계에서는 이렇게 만들어진 표본들을 관찰하여 분산을 추정하거나, 신뢰구간을 구하는 것에 사용됩니다. 또한 머신러닝에서는 부트스트랩(Bootstrap)을 집계(Aggregating)한 = 배깅(Bagging) 이라는 기법을 사용합니다. 다음 단락에서는 이 배깅을 소개하겠습니다.

배깅 = 부트스트랩(Bootstrap) + 집계(Aggregating)

배깅은 앙상블 기법의 일종입니다. 여기서 앙상블 기법은 여러 분류기를 만들고 그 예측을 결합함으로서 성능을 항샹 시키는 방법입니다. 이때 분류기를 병렬적으로 생성하는지, 순차적으로 생성하는지에 따라 배깅 또는 랜덤포레스트, 그리고 부스팅으로 분류 할 수 있습니다.

배깅은 단어에서 알 수 있듯이 부트스트랩을 통해 여러 분류기를 만들고 그 결과를 통합하는 어그리게이팅 과정을 포함합니다. 이러한 과정은 분류기의 분산을 줄일 수 있어 장점이 됩니다. 의사결정나무의 경우 분산이 높다는 단점이 있는데, 배깅을 의사결정나무에 적용한다면 여러 개의 의사결정나무의 예측을 투표함으로서 분산을 낮추고 성능을 향상시킬 수 있습니다.

흔히 혼동하는 랜덤포레스트는 배깅과 다르게 랜덤하게 설명변수를 사용하여 분류기의 다양성을 확보하고 모형 간의 상관관계를 줄이는 기법입니다.

마무리

오늘은, 부트스트랩이라는 단어에서 시작하여 배깅을 간단히 알아보았습니다. 마지막으로 의사결정나무부터 부스팅까지 변천사와 특징들을 잘 설명한 세미나 영상을 공유하고 마무리 하겠습니다. 오늘코드 박조은 님의 세미나 꼭 들어보시길 추천드립니다.

의사결정나무에서 부스팅까지 변천사 살펴보기 – 박조은(오늘코드) I #모두의연구소 K-디지털플랫폼 모두팝

🤿모두의연구소가 만든 AI학교 아이펠: https://me2.kr/pesrC ⚝⚝⚝ 본 영상은 모두의연구소만의 지식 공유 세미나 #모두팝 영상입니다.

reference