앙상블의 유형
-보팅
-배깅: 랜덤포레스트
-부스팅: Gradient Boosting. XGBoost
-스태킹
앙상블의 특징
- 단일 모델의 약점을 다수 모델들을 결합하여 보완.
- 결정 트리 알고리즘을 기반 알고리즘으로 적용함. (결정트리: 약한 학습기, 앙상블을 통해 많은 여러 개의 약한 학습기를 결합해 성능을 향상시킨다.)
- 결정 트리의 단점인 과적합을 많은 분류기를 결합해 보완하고 장점인 직관적인 분류 기준은 강화됨.
보팅과 배깅: 여러 개의 분류기가 투표를 통해 최적 예측결과를 결정하는 방식.
-보팅: 서로 다른 알고리즘을 가진 분류기를 결합하는 것.
-배깅: 각각의 분류기가 모두 같은 유형의 알고리즘 기반이지만, 데이터 샘플링을 서로 다르게 가져가면서 학습을 수행해 보팅을 수행하는 것.
보팅의 유형
-하드 보팅: 다수결로 최종 class 결정. 다수의 분류기가 결정한 예측값을 최종 결과값으로 결정.
-소프트 보팅: class 확률을 평균하여 결정. 하드 보팅보다 예측 성능이 상대적으로 우수.
배깅(bootstrap aggregating의 줄임말.)
배깅의 대표적인 알고리즘은 랜덤 포레스트. 앙상블 알고리즘 중 비교적 빠른 수행 속도. 높은 예측 성능을 보인다.
랜덤 포레스트: 여러 개의 결정 트리 분류기가 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링해 개별적으로 학습을 수행한 뒤 최종적으로 모든 분류기가 보팅을 통해 예측 결정을 하게 된다.
랜덤 포레스트는 개별적인 분류기의 기반 알고리즘은 결정 트리이지만 개별 트리가 학습하는 데이터 세트는 전체 데이터에서 일부가 중첩되게 샘플링된 데이터 세트이다. 여러 개의 데이터 세트를 중첩되게 분리하는 것을 부트스트래핑 분할 방식이라고 한다.
부트스트래핑: 결정트리 알고리즘. 데이터셋은 중첩.
중심극한정리: 표본 극한으로 가면 무조건 정규분포를 따른다.
부스팅
부스팅 알고리즘은 여러 개의 약한 학습기를 순차적으로 학습-예측하면서 잘못 예측한 데이터나 학습 트리에 가중치 부여를 통해 오류를 개선해 나가면서 학습하는 방식
Gradient Boosting은 가중치 업데이트를 경사 하강법을 이용한다.
예측함수를 F(x)라고 하면 오류식 h(x) = y – F(x)가 된다. 오류식을 최소화하는 방향성을 가지고 반복적으로 가중치 값을 업데이트하는 것이 경사 하강법이다.
경사 하강법은 반복 수행을 통해 오류를 최소화할 수 있도록 가중치의 업데이트 값을 도출.
'공부기록 > 머신러닝' 카테고리의 다른 글
[머신러닝] 7주차. 베이지안 최적화 (0) | 2023.02.02 |
---|---|
[머신러닝] 6주차. XGBoost (0) | 2022.12.19 |
[머신러닝] 4주차. 결정트리 (0) | 2022.11.11 |
[머신러닝] 3주차. 정확도, 오차행렬, 정밀도, 재현율 (0) | 2022.11.03 |
[머신러닝] 2주차. 데이터 인코딩 (0) | 2022.10.06 |