배깅
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
배깅(Bootstrap aggregating)은 1994년 레오 브레이먼이 제안한 부트스트래핑 기반의 앙상블 학습 기법이다. 훈련 데이터를 복원 추출하여 여러 개의 부트스트랩 샘플을 생성하고, 각 샘플에 대해 모델을 학습시킨 후, 결과를 평균하거나 투표하여 최종 예측을 수행한다. 배깅은 분산이 높은 모델의 성능을 향상시키고 과적합을 줄이는 데 효과적이며, 병렬 처리가 가능하다는 장점이 있다. 하지만, 편향이 높은 모델을 사용할 경우 높은 편향을 가질 수 있으며, 모델 해석이 어렵고 계산 비용이 많이 들 수 있다는 단점도 있다. 랜덤 포레스트는 배깅과 무작위 특징 선택을 결합하여 의사 결정 트리의 다양성을 높인 앙상블 학습 방법으로, 분류 문제에 특히 유용하다.
더 읽어볼만한 페이지
- 계산통계학 - 인공 신경망
- 계산통계학 - 랜덤 포레스트
랜덤 포레스트는 결정 트리들을 앙상블하여 분류, 회귀, 검출 등에 활용되며, 랜덤화 기술로 일반화 성능을 향상시키는 기계 학습 알고리즘이다. - 기계 학습 알고리즘 - 강화 학습
강화 학습은 에이전트가 환경과의 상호작용을 통해 누적 보상을 최대화하는 최적의 정책을 학습하는 기계 학습 분야이며, 몬테카를로 방법, 시간차 학습, Q-러닝 등의 핵심 알고리즘과 탐험과 활용의 균형, 정책 경사법 등의 다양한 연구 주제를 포함한다. - 기계 학습 알고리즘 - 기댓값 최대화 알고리즘
- 기계 학습 - 비지도 학습
비지도 학습은 레이블이 없는 데이터를 통해 패턴을 발견하고 데이터 구조를 파악하는 것을 목표로 하며, 주성분 분석, 군집 분석, 차원 축소 등의 방법을 사용한다. - 기계 학습 - 지도 학습
지도 학습은 레이블된 데이터를 사용하여 입력 데이터와 출력 레이블 간의 관계를 학습하는 기계 학습 분야로, 예측 모델 생성, 알고리즘 선택, 모델 최적화, 정확도 평가 단계를 거치며, 회귀 및 분류 문제에 적용되고 다양한 확장 기법과 성능 평가 방법을 활용한다.
배깅 | |
---|---|
개요 | |
종류 | 앙상블 학습 |
학습 방법 | 지도 학습 |
사용 모델 | 여러 개의 머신 러닝 모델 (일반적으로 동일한 유형) |
상세 정보 | |
목표 | 예측의 정확성 및 안정성 향상 |
작동 원리 | 훈련 데이터셋에서 무작위로 여러 개의 부분집합을 생성 각 부분집합으로 개별 모델 훈련 모든 모델의 예측을 결합 (예: 평균 또는 투표) |
장점 | 과적합 감소 모델의 분산 감소 더 안정적인 예측 제공 |
단점 | 개별 모델 훈련 및 예측 결합에 따른 계산 비용 증가 모델 해석의 복잡성 증가 |
변형 | |
랜덤 포레스트 | 결정 트리 기반의 배깅 |
붙여넣기 | 중복을 허용하지 않는 배깅 |
OOB(Out-of-bag) 평가 | 배깅의 성능 측정 방법 |
2. 역사
부트스트랩 집계의 개념은 브래들리 에프론이 개발한 부트스트래핑 개념에서 파생되었다.[14]
배깅은 크기가 n인 훈련 데이터에서 중복을 허용하여(복원 추출) 크기가 n'인 m개의 새로운 훈련 데이터 세트를 생성한다. 이때, 각 데이터는 균등한 확률로 선택된다. 이렇게 만들어진 m개의 데이터 세트를 부트스트랩 샘플이라고 한다.
레오 브레이먼은 부트스트랩 집계("배깅('''b'''ootstrap '''agg'''regat'''ing''')이라는 약어를 만들었다. 그는 "학습 세트를 교란하면 구성된 예측 변수에 상당한 변화가 발생할 수 있다면 배깅이 정확도를 향상시킬 수 있다"고 주장했다.[15] 1994년, 레오 브레이먼은 무작위로 생성된 훈련 세트의 분류를 결합하여 분류를 개선하기 위해 배깅('''B'''ootstrap '''agg'''regat'''ing''')을 제안했다.[16]
3. 배깅의 작동 원리
m개의 부트스트랩 샘플을 이용하여 m개의 모델을 학습시킨다. 각 부트스트랩 샘플은 독립적이므로, 모델 학습 과정도 서로 영향을 주지 않는다. 학습된 m개의 모델을 사용하여 예측을 수행하고, 그 결과들을 결합한다. 결합 방법으로는 회귀분석 문제에서는 평균을, 분류 문제에서는 투표(다수결) 방식을 사용한다.
배깅은 인공 신경망, 분류 및 회귀 트리와 같이 불안정한 학습 알고리즘의 성능을 향상시키는 데 효과적이다.[2] 반면, k-최근접 이웃과 같이 안정적인 알고리즘에서는 성능 저하가 발생할 수 있다.[2]
3. 1. 데이터 샘플링 (부트스트랩)
크기 n인 훈련 집합(training set영어) 가 주어졌을 때, 배깅은 복원 표본추출(sampling with replacement영어) 방법과 균등 확률분포를 이용해 각각의 크기가 ''n′''인 m개의 새로운 훈련 집합 (i = 1, 2, ⋯, m)을 생성한다. 복원 표본추출이기 때문에 일부 관측 데이터는 각 에 반복해서 나타날 수 있다. 이러한 샘플을 부트스트랩(bootstrap영어) 샘플이라 한다. m개의 모델은 m개의 부트스트랩 샘플들을 이용해 만들어지고 결과를 평균(회귀분석의 경우) 또는 투표(분류의 경우)를 통해 결합한다.[1]
예를 들어, '''원본 데이터 세트'''가 '''12명의 사람'''으로 구성되었다고 가정해 보자.
무작위로 이름을 선택하여 '''부트스트랩 데이터 세트'''를 구성하면 다음과 같을 수 있다.
이 경우, 부트스트랩 샘플에는 콘스탄틴이 4개, 렉시와 시어도어가 각각 2개씩 중복되었다.
크기 n인 훈련 데이터 D가 있으며, 이산 균등 분포에 따라 중복을 허용하여 샘플링(부트스트랩)하여 크기 n'의 새로운 훈련 데이터 D'를 m개 생성한다. 중복을 허용하여 샘플링하므로, 같은 데이터가 여러 번 나타날 수 있다.
3. 2. 모델 학습
크기 ''n''인 훈련 집합 가 주어졌을 때, 배깅은 복원 표본추출 방법과 균등 확률분포를 이용해 각각의 크기가 ''n′''인 ''m''개의 새로운 훈련 집합 을 생성한다. 복원 표본추출이기 때문에 일부 관측 데이터는 각 에 반복해서 나타날 수 있다. 이러한 샘플을 부트스트랩 샘플이라 한다. ''m''개의 모델은 ''m''개의 부트스트랩 샘플들을 이용해 만들어지고 결과를 평균(회귀분석의 경우) 또는 투표(분류)를 통해 결합한다.[1]
복원 추출은 각 부트스트랩이 표본 추출 시 이전에 선택된 표본에 의존하지 않으므로 독립성을 보장한다. ''n′''=''n''인 경우, 큰 ''n''에 대해 는 의 고유한 표본 중 (1 - 1/''e'') (~63.2%)의 비율을 가질 것으로 예상되며, 나머지는 중복된다.
배깅은 인공 신경망, 분류 및 회귀 트리, 선형 회귀에서 하위 집합 선택 등 "불안정한 절차의 개선"을 이끈다.[2] 반면에, ''k''-최근접 이웃과 같은 안정적인 방법의 성능을 약간 저하시킬 수 있다.[2]
3. 3. 결과 결합
크기 의 표준 훈련 세트 가 주어졌을 때, 배깅은 크기가 인 개의 새로운 훈련 세트 를 생성한다. 각 는 에서 균등하게 표본 추출하고 복원 추출을 수행하여 생성된다. 복원 추출을 사용하면 각 에 일부 관측치가 반복될 수 있다. 인 경우, 큰 에 대해 세트 는 의 고유한 표본 중 (1 - 1/''e'') (~63.2%)의 비율을 가질 것으로 예상되며, 나머지는 중복된다.[1] 이러한 종류의 표본을 부트스트랩 표본이라고 한다. 복원 추출은 각 부트스트랩이 표본 추출 시 이전에 선택된 표본에 의존하지 않으므로 해당 동료로부터 독립되도록 보장한다. 그런 다음, 위의 부트스트랩 표본을 사용하여 개의 모델을 적합시키고 출력을 평균화(회귀분석의 경우)하거나 투표(분류의 경우)하여 결합한다.
4. 알고리즘 (분류)
training set영어 크기 n인 훈련 집합 가 주어졌을 때, 배깅은 복원 표본추출(sampling with replacement영어) 방법과 균등 확률분포를 이용해 각각의 크기가 ''n′''인 m개의 새로운 훈련 집합 ()을 생성한다. 복원 표본추출이기 때문에 일부 관측 데이터는 각 에 반복해서 나타날 수 있다. 이러한 샘플을 부트스트랩(bootstrap영어) 샘플이라 한다. m개의 모델은 m개의 부트스트랩 샘플들을 이용해 만들어지고 결과를 투표(분류)를 통해 결합한다.[11]
분류의 경우, 훈련 세트 , 유도기 및 부트스트랩 샘플 수 을 입력으로 사용한다. 분류기 를 출력으로 생성한다.[11]
- 개의 새로운 훈련 세트 를 에서 복원 추출하여 생성한다.
- 분류기 는 각 세트 에서 를 사용하여 의 분류를 결정하여 구축된다.
- 마지막으로 분류기 는 원래 데이터 세트 에 대해 이전에 생성된 분류기 세트 를 사용하여 생성되며, 하위 분류기 에 의해 가장 자주 예측된 분류가 최종 분류이다.
```
for i = 1 to m {
D' = D에서 부트스트랩 샘플 추출 (복원 추출)
Ci = I(D')
}
C*(x) = argmax #{i:Ci(x)=y} (가장 자주 예측된 레이블 y)
y∈Y
5. 배깅의 활용 사례: 오존 데이터 분석
오존과 온도 사이의 관계를 분석하기 위해 R을 사용하여 루제우와 르로이Leroy|르로이영어 (1986)의 데이터를 분석하였다.[1]
산점도를 보면 온도와 오존의 관계는 비선형적인 것으로 나타난다. 이 관계를 수학적으로 설명하기 위해 LOESS 스무더(대역폭 0.5)가 사용되었다. 전체 데이터 세트에 대해 하나의 스무더를 구축하는 대신, 100개의 부트스트랩 샘플이 추출되었다. 각 샘플은 원본 데이터의 무작위 하위 집합으로 구성되며, 전체 데이터 세트의 분포와 변동성을 유지한다. 각 부트스트랩 샘플에 대해 LOESS 스무더가 적합되었다. 그런 다음 이 100개의 스무더에서 데이터 범위를 예측했다. 검은색 선은 이러한 초기 예측을 나타내는데, 선들이 예측에 일치하지 않고 데이터 포인트를 과적합하는 경향이 있으며, 이는 선의 흔들리는 흐름으로 나타난다.
원래 데이터 세트의 하위 집합에 해당하는 100개의 스무더를 평균하여 하나의 배깅 예측(빨간색 선)을 도출한다. 빨간색 선의 흐름은 안정적이며 어떤 데이터 포인트에도 과도하게 적합되지 않는다.
6. 장점 및 단점
배깅은 크기가 n인 훈련 집합이 주어졌을 때, 복원 추출(sampling with replacement) 방법과 균등 확률분포를 이용해 각각의 크기가 n′인 m개의 새로운 훈련 집합을 생성한다. 복원 추출이기 때문에 일부 관측 데이터는 각 훈련 집합에 반복해서 나타날 수 있다. 이러한 샘플을 부트스트랩(bootstrap) 샘플이라 한다. m개의 모델은 m개의 부트스트랩 샘플들을 이용해 만들어지고 결과를 평균(회귀분석의 경우) 또는 투표(분류의 경우)를 통해 결합한다.
6. 1. 장점
- 여러 약한 학습기들을 모으면 하나의 학습기보다 성능이 좋아지고, 과적합이 줄어드는 경향이 있다.
- 분산이 크고 편향이 낮은 약한 학습기들의 분산을 줄여 효율성 (통계)을 높일 수 있다.
- 각 부트스트랩을 모으기 전에 개별적으로 처리할 수 있어 병렬 컴퓨팅이 가능하다.[1]
6. 2. 단점
7. 개선된 랜덤 포레스트 및 배깅
랜덤 포레스트는 각 트리가 부트스트랩된 샘플 집합뿐만 아니라, 분류기로 순위를 매길 때 작지만 일관된 수의 고유한 기능만 고려한다는 점에서 배깅을 개선한다. 이는 각 트리가 소수의 고정된 수의 기능과 원본 데이터 세트보다 작거나 같은 수의 가변적인 수의 샘플에 해당하는 데이터에 대해서만 알고 있다는 것을 의미한다. 결과적으로 트리는 더 다양한 지식에서 파생된 더 넓은 범위의 답변을 반환할 가능성이 더 크다.
랜덤 포레스트에서 각 트리는 샘플을 특징에 따라 양성으로 분류할지 여부에 대해 "투표"하며, 샘플은 다수결 투표를 기반으로 분류된다. 예를 들어,
이러한 속성 덕분에 랜덤 포레스트는 가장 정확한 데이터 마이닝 알고리즘 중 하나로 간주되며, 데이터 과적합 가능성이 적고, 대규모 데이터 세트에서도 빠르고 효율적으로 실행된다.[5] 주로 분류에 유용하며, 은행, 의료, 주식 시장, 전자 상거래와 같이 과거 데이터를 기반으로 미래 결과를 예측하는 것이 중요한 분야에서 특히 유용하다.[6]
랜덤 포레스트를 설계할 때 고려해야 할 몇 가지 중요한 요소는 다음과 같다.
- 트리가 너무 깊으면 과적합이 발생할 수 있다.
- 포레스트가 너무 크면 런타임 증가로 인해 알고리즘의 효율성이 떨어진다.
- 가변성이 거의 없는 희소 데이터가 주어질 때 성능이 좋지 않다.[6]
그러나, 해석하기 쉽고 훈련에 필요한 데이터가 적다는 점에서 신경망과 같은 유사한 데이터 분류 알고리즘보다 여전히 많은 이점을 가진다.
랜덤 포레스트와 배깅을 활용하면서 실행 및 투표 시간, 예측 정확도 및 전반적인 성능을 향상시키는 데 사용할 수 있는 특정 기법은 다음과 같다.
# 트리의 최대 깊이 지정: 과적합의 가능성을 줄이기 위해 특정 지점에서 중단한다.
# 데이터 세트 가지치기: 매우 큰 데이터 세트를 사용하면 집중하는 내용을 더 정확하게 나타내는 더 작은 세트보다 제공된 데이터의 지표가 덜한 결과를 생성할 수 있다.
#* 원래 배깅 과정뿐만 아니라 각 노드 분할 시에도 데이터를 계속 가지치기한다.
# 정확도 또는 속도 결정: 원하는 결과에 따라, 포레스트 내 트리의 수를 늘리거나 줄인다. 일반적으로 트리의 수를 늘리면 더 정확한 결과를 얻을 수 있고 트리의 수를 줄이면 더 빠른 결과를 얻을 수 있다.
장점 | 단점 |
---|---|
정규화 및 스케일링에 대한 전반적인 요구 사항이 줄어들어 사용이 편리하다.[7] | 부트스트랩되어 포레스트 내에서 사용되는 데이터에 약간의 변화가 있으면 알고리즘이 크게 변경될 수 있다.[8] |
쉬운 데이터 준비: 부트스트랩 세트와 특정 수의 의사 결정 트리를 생성하여 특징 선택도 활용하는 랜덤 포레스트를 구축하여 데이터를 준비한다. | 단일 의사 결정 트리 또는 다른 알고리즘보다 구현하기 더 복잡하다. 배깅에 대한 추가 단계와 전체 포레스트를 생성하기 위해 재귀가 필요하기 때문이다. |
여러 개의 의사 결정 트리로 구성되어 단일 트리보다 더 정확하게 예측을 수행할 수 있다. | 의사 결정 트리에 비해 데이터를 학습하는 데 훨씬 더 많은 시간이 필요하다. |
비선형 데이터에서 잘 작동한다. | 랜덤 포레스트보다 해석하기가 훨씬 쉽다. |
과적합의 위험이 적고 대규모 데이터 세트에서도 효율적으로 실행된다.[9] | 학습 데이터의 범위를 벗어나는 예측을 하지 않는다. |
높은 정확도와 속도로 작동한다.[10] | 특정 결과를 재현하려면 부트스트랩 세트를 생성하는 데 사용된 정확한 랜덤 시드를 추적해야 한다. |
결측 데이터와 이상치가 많은 데이터 세트를 잘 처리한다. |
참조
[1]
간행물
"On Estimating the Size and Confidence of a Statistical Audit"
http://people.csail.[...]
Proceedings of the Electronic Voting Technology Workshop (EVT '07), Boston, MA
2007-08-06
[2]
논문
Bagging predictors
1996
[3]
간행물
Image denoising with a multi-phase kernel principal component approach and an ensemble version
https://www.research[...]
IEEE Applied Imagery Pattern Recognition Workshop, pp.1-7
2011
[4]
논문
Preimages for Variation Patterns from Kernel PCA and Bagging
https://www.research[...]
2014
[5]
웹사이트
Random forests - classification description
https://www.stat.ber[...]
2021-12-09
[6]
웹사이트
Introduction to Random Forest in Machine Learning
https://www.section.[...]
2021-12-09
[7]
웹사이트
Random Forest Pros & Cons
https://holypython.c[...]
2021-11-26
[8]
웹사이트
Random Forest Algorithm Advantages and Disadvantages
https://dhirajkumarb[...]
2020-11-22
[9]
웹사이트
Why Choose Random Forest and Not Decision Trees – Towards AI – The World's Leading AI and Technology Publication
https://towardsai.ne[...]
2020-07-02
[10]
웹사이트
Random Forest
https://corporatefin[...]
2021-11-26
[11]
논문
An Empirical Comparison of Voting Classification Algorithms: Bagging, Boosting, and Variants
1999
[12]
웹사이트
What is Bagging (Bootstrap Aggregation)?
https://corporatefin[...]
Corporate Finance Institute
2020-12-05
[13]
웹사이트
" Bagging (Bootstrap Aggregating), Overview"
https://medium.com/s[...]
The Startup
2020-09-05
[14]
논문
Bootstrap methods: Another look at the jackknife
1979
[15]
논문
Bagging Predictors
https://www.stat.ber[...]
Department of Statistics, University of California Berkeley
2019-07-28
[16]
논문
Bagging Predictors
https://www.stat.ber[...]
2019-07-28
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com