인프런 커뮤니티 질문&답변

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

배깅(Bagging)과 랜덤 포레스트(Random Forest)의 이해

배깅에서 데이터 중복 샘플링 관련

작성

·

477

0

배깅에선 데이터를 중복해서 샘플링 하는데, 그 이유가 잘 이해가 가지 않습니다.

똑같은 데이터를 한번 뽑나 여러번 뽑나 똑같은 거 아닌가요?

같은 입력에 대한 학습결과는 동일할텐데 중첩샘플링이 무슨 의미가 있나요

답변 4

0

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi
질문자

감사합니다!

0

권 철민님의 프로필 이미지
권 철민
지식공유자

네, 1000개의 데이터 세트를 수십 수백개 확보합니다.

선거 표본 조사를 전체 인구에서 표본대상 1000명을 특정 데이터 분포도를 가정하고 뽑는 방식이 있다면, 1000명 표본을 수십 수백번 중복을 감안하여 뽑은 다음에 이들 데이터세트들의 평균, 표준편차등의 분포도를 파악하는 방식이 bootstrapping입니다.

1000명이 전체 인구를 얼마나 잘 대변할지는 표본이 전체 데이터의 성격을 얼마나 잘 반영하는 가에 달려 있습니다만 부트스트래핑은 1000명 표본을 여러번 뽑아서 이들의 평균, 표준편차등과 같은 특성을 통해 모집합의 특성을 상대적으로 잘 표현해 줄 수 있습니다. 이러한 특성을 머신러닝에 적용한 것이 Bagging 방식 입니다.  1000개의 데이터를 훌륭한 알고리즘이 아무리 잘 예측해도 모집합(테스트 데이터 세트를 포함)의 특성을 잘 반영하는 것은 무리가 있으며, 차라리 중복을 허용하되 수십~ 수백개에 데이터 세트를 만들어서 개별적인 알고리즘이 Ensemble 방식으로 예측하는 것이 더 효율적이다라는 이론을 반영한 것입니다. 

감사합니다.  

0

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi
질문자

답변이 전체적으로 잘 이해가 가지 않습니다ㅜ

1000개의 데이터 세트를 수십 수백개 확보한다는 말씀이신가요? 

데이터 세트별로 구한 평균들의 분포도를 기반으로 데이터 분석을 한다고 이해가 되는데, 그럼 세트별로 구한 평균들의 평균과 분산 등을 분석에 다시 사용한다는 말씀인거죠??

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

배깅은 통계학의 Bootstrapping을 활용한 기법입니다.

Bootstrapping은 전통적인 통계 기법과 달리 모집단에서 여러번 샘플링한 집단에서 sampling distribution은 구하는 기법입니다.

전통적인 통계기법은 전체  선거인단중 1000개의 데이터의 평균을 구한다고 한다면 이 평균이 모집단의 평균을 얼마나 잘 나타내는지는 샘플 데이터가 특정 데이터 분포를 따른다고 가정하여 판단합니다.

이와 다르게 Bootstrapping은 1000개 데이터를 중복을 감안하여 수십~ 수백개의 데이터세트(개별 데이터 세트는 1000개로 데이터 크기는 동일)로 만들고 각각의 데이터 세트별로 구한 평균들의 분포도를 기반으로 신뢰 구간값과 가설 검증을 수행하게 됩니다.

Bagging은 이 Bootstrapping 방식으로 데이터 세트를 선정하는 방법입니다.  그리고 Boostrapping은 통계학에서 샘플 데이터를 만드는 기법이며 중첩을 허용하면서 샘플 데이터와 동일한 데이터 크기를 만들도록 구성되어 있습니다.

감사합니다.

Yoonseok Choi님의 프로필 이미지
Yoonseok Choi

작성한 질문수

질문하기