Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

Zorba blog

앙상블(Ensemble) / Bagging, Boosting, Stacking 본문

Machine Learning

앙상블(Ensemble) / Bagging, Boosting, Stacking

Zorba blog 2022. 6. 22. 12:49

Ensemble Classifier Notation

- 앙상블 분류기는 학습 데이터를 사용하여 여러 개의 서로 다른 분류기를 만들고,

- 이들 분류기의 판정 결과를 투표방식이나 가중치 투표 방식으로 결합하여,

- 최종 부류를 결정하는 분류기 이다.


배깅 알고리즘(Bagging, Bootstrap AGGregatING)

Bootstrap 기법

- 주어진 학습 데이터 집합으로부터 복원추출을 하여 여러 개의 서로 다른 학습 데이터 집합을 만들어내는 기법

 

Bagging

- 부트스트랩을 통해 만들어진 각 학습 데이터로부터 집합별로 분류기를 만들고, 투표가중치 투표를 하여 최종 판정을 하는 방법.

 

Random Forest

- 분류기로 결정트리를 사용하는 배깅 기법.

- 결정트리를 만들어가는 과정에서 분할 속성을 결정할 때, 분할 속성 후보들을 무작위로 선택하고,

- 이들에 대해서만 정보 이득 등을 계산하여 분할 속성과 기준을 결정.

- 모든 공간의 모든 속성을 고려하는 것이 아니라, 서로 다른 속성들을 고려하도록 분류기가 서로 다른 부분공간만을 사용하도록 설계.

 

- 일반적으로 Categorical Data인 경우 투표 방식으로 집계. Continuous Data인 경우 평균으로 집계.


부스팅 알고리즘

Boosting Algorithms

- 여러 개의 분류기를 순차적으로 만들어 가는 앙상블 분류기 생성 방법.

- 여러 학습 데이터 집합을 만드는 것이 아니라, 각 학습 데이터의 가중치를 변경해가면서 분류기를 만듬.

- 가중치는 학습 데이터 각각에 대한 오류를 계산하여 결정.

- 즉, 부스팅은 이전 단계의 분류기에서 잘못 분류된 데이터의 가중치는 높이고 제대로 분류된 데이터의 가중치를 낮춤.

 

사진

 

 

 

- Boosting도 Bagging과 동일하게 복원 랜덤 샘플링을 하지만, 가중치를 부연한다는 차이점이 있음.

- Bagging이 병렬로 학습하는 반면, Boosting은 순차적으로 학습.

- 오답에 더욱 집중하여, 정확도가 높게 나타나지만 그만큼 Outlier에 취약.

 

예시 사진

 

- D1에서는 2/5 지점을 횡단하는 구분선으로 데이터를 나눔. 하지만 위쪽 +는 잘못 분류, 아래쪽 두 - 도 잘못 분류.

- 잘못 분류된 데이터는 가중치를 높여주고 잘 분류된 데이터는 가중치를 낮춤.

- D2, D3에서도 반복하고, 최종적으로 결합하여 Combined Classifier를 형성.

- 부스팅은 배깅에 비해 error가 적으나 좋은 성능을 얻음과 동시에 속도가 느리고 오버 피팅의 가능성이 있음.

- 성능이 낮을 때는 Boosting Algorithm, Overfitting Problem에는 Bagging 기법을 사용하면 된다.


스태킹 알고리즘

- Stacking은 서로 다른 모델들을 조합해서 최고의 성능을 내는 모델을 생성하는 것.

- 여러가지 다른 모델의 예측 결과값을 다시 학습 데이터로 만들어서 다른 모델로 재 학습시켜 결과를 예측하는 방법.

- SVM, Random Forest, KNN 등 다양한 알고리즘을 사용할 수 있고, 이들 알고리즘의 좋바을 통해 서로의 장점은 취하고 약점은 보완할 수 있음.

 

Cross-Validation 기반 스태킹

사진

 

- CV fold는 3으로 고정. Test Set은 별도로 존재하는 것으로 가정.

- 그림 1과 같이 한 모델이 있을 때, Train fold를 이용하여 1번 모델을 훈련하고, Validation fold를 이용하여 모델 예측값을 계산.

 

사진

 

- 그림 2와 같이 각 Validation fold 마다 예측값을 계산하여 이를 Concatenate 시키고, Test set을 이용한 예측값 3개는 평균을 내어 meta 모델에 사용되는 test set으로 만듬.

- 그림에서 정렬된 3개의 노란 박스는 결국 한 모델에서 계산되어진, 모든 샘플에 대한 예측 값.

 

사진

 

- 여기까지의 과정을 다수의 모델에 대해서 반복, 그 출력 값들을 Concatenate 하게 되면 결국 meta train 데이터와 meta test data를 얻게 됨.

- 이를 통해 meta 모델이라고 불리는 2차 모델이 훈련 및 최종 예측 값 출력.

 

 

 


개별 모형에 대비한 앙상블 방법의 장점.

1) 평균을 취함으로써 편의를 제거해준다

    -> 치우침이 있는 여러 모형의 평균을 취하면, 어느 쪽에도 치우치지 않는 결과를 얻게 된다.

 

2) 분산을 감소시킨다

    -> 한 개 모형으로부터 단일 의견보다 여러 모형의 의견을 결합하면 변동이 작아진다.

 

3) 과적합의 가능성을 줄여준다

    -> 과적합이 없는 각 모형으로부터 예측을 결합하면 과적합의 여지가 줄어든다.

Comments