참고 : KoreaUniv DSBA 영상
다양성(Diversity) | Implicit Diversity | Explicit Diversity |
Description | 무작위의 서로 다른 training data 여러개를 제공하면 학습 결과도 달라질 것 | 다른 구성원과 실질적으로 다른지 확인하는 몇 가지 측정지표를 사용해서 이전 모델과는 다른 모델이 만들어지도록 유도하는 것 |
앙상블 알고리즘 | Bagging Random Forest |
Boosting Negative Correlation Learning(NCL) |
*NCL : 다양함이 높으면 모델간의 상관계수는 낮아야한다라는 논리적 근거를 통해 나온 알고리즘
# 앙상블의 핵심 키워드 : Diversity
1. 데이터의 다양성 2. 모델의 다양성
1. KFold Data Split
배깅을 살펴보기 전 Bagging의 방식과 비슷하지만 조금 다른 K-fold data split을 먼저 보겠습니다.
K-fold의 경우 Sampling without Replacement 즉, 복원추출을 하지 않아 K-2개의 데이터는 항상 같은 상태에서 학습을 합니다.
* Aggregation function : 분류 - voting , 회귀 - simple average
K-Fold의 단점으로는 전체 데이터셋을 다 사용하지도 않고, 하나의 데이터에 대한 손실이 있다는 것. 잘게 쪼개는 데에도 한계가 있어 무작정 많이 만들기도 힘들다는 점이 있습니다. 그렇기에 현재에는 잘 쓰이지 않고, 비슷한 방식의 Bagging을 자주 사용합니다.
2. Bagging (Bootstrap Aggregating)
Diversity : 1. 데이터의 다양성
배깅의 경우 Sampling with replacement 즉, 복원추출로 샘플링합니다. K-Fold와 다르게 사용자가 원하는 만큼 부트스트랩 자체를 몇 개든 생성 가능 합니다.
어떤 데이터는 Bootstrap에 속하지 않기도 하고 어떤 데이터는 여러번 속하기도 합니다.
▷부트스트랩의 효과 1 :
데이터가 갖는 분포를 좋은쪽으로 왜곡시킴으로 인해 하나의 특정한 노이즈(앱실론)에 종속적인 모델이 만들어질 수 있는 위험을 반복된 모델학습을 통해 방지할 수 있다.
3. OOB(Out Of Bagging) 검증
N이 일정 수준 이상으로 큰 수 일 때, 데이터 2/3는 Bootstrap에 1회 이상 샘플링되고, 1/3은 0회 샘플링 된다.
이때 0회 샘플링 되는 것을 Out Of Bag(OOB)라고 한다.
Bootstrap 에서 선택된 데이터는 학습용으로 사용하고 선택되지 않은 데이터들 즉, OOB 들을 검증용으로 사용함. 충분히 많은 부트스트랩을 사용하게되면 개별적인 개체들이 어떤 상황에서는 학습 또 어떤 상황에서는 검증을 하게 된다. 즉, 전체데이터가 역할을 바꿔가면서 학습과 검증을 반복하게 된다. 그렇기에 데이터를 단순히 Train/Validation으로 한 번 나눈 것보다 검증에 대한 신뢰도가 높아진다.
▷부트스트랩의 효과 2 :
검증관점에서는 주어진 데이터에 대한 모든 샘플데이터를 한번씩 검증용으로 사용하므로써 좀 더 높은 일반화 성능을 확보할 수 있다. Bias가 낮지만 Variance가 높은 복잡도가 높은 모델(ANN,SVM,DecisionTree)과 잘 맞는다.
4. Bagging을 사용하기 좋은 알고리즘
Bagging : 데이터셋을 독립적으로 생산하는데 있어서 복원추출을 사용하는 것. 복잡도가 높은 알고리즘 모델을 사용함.
- 인공신경망 Bagging
- Decision Tree Bagging
- 서포트벡터머신(SVM) Bagging 등
# Random Forest : 기본모델을 Decision Tree로 사용해 만든 알고리즘
'머신러닝 (Machine Learning) > 분류(Classification) 분석' 카테고리의 다른 글
앙상블 - Random Forest (0) | 2021.03.02 |
---|---|
앙상블 - 보팅(Voting) (0) | 2021.02.21 |
앙상블(Ensemble) (0) | 2021.02.21 |
분류 관련 Youtube (0) | 2021.02.14 |
결정 트리의 과적합 (Overfitting) 시각화로 이해하기 (0) | 2021.02.14 |