archive
[2주차 (4)] 앙상블 본문
1. 앙상블 러닝
-앙상블 러닝 배경 : 단일 알고리즘보다 적당한 알고리즘을 여러 개 조합하여 단일 알고리즘보다 성능이 향상되는 것을 기대하는 기법
- 어떠한 특정 알고리즘도 어떠한 모든 데이터셋에 대하여 최적의 성능을 낼 수 없음, 즉 개별 데이터셋에 최적화된 알고리즘은 따로 존재한다는 것에 의거하여 만들어진 방식
- 하나의 알고리즘보다는 하나 이상의 알고리즘을 앙상블하는 것이 효과적이라는 결론을 도출할 수 있음
-앙상블 러닝 정의 : 여러 개의 결정 트리 (Decision Tree)를 결합하여 하나의 결정 트리보다 더 좋은 성능을 내는 머신러닝 기법
-앙상블 학습의 핵심은 여러 개의 약분류기(Weak Classifier)를 결합하여 강분류기 (Strong Classifier)를 만드는 과정
- 여러 개의 단일 모델들의 평균치를 내거나, 투표를 해서 다수결에 의한 결정을 하는 등 여러 모델들의 집단 지성을 활용하여 더 나은 결과를 도출해내는 것에 주 목적이 있음.
-장점
: 성능을 분산시키기 때문에 Overfitting 감소 효과
: 개별 모델 성능이 잘 나오지 않을 때 앙상블 학습을 이용하면 성능이 향상될 수 있다
-앙상블 러닝의 기법
(1) Bagging
: Bootstrap Aggreation의 약자, 훈련세트에서 중복을 허용하여 샘플링을 하는 방식
** 중복을 허용하지 않고 샘플링 하는 방식으로 페이스팅 (Pasting)이라고
: 모든 샘플이 같은 종류의 알고리즘을 사용함
: 오버 피팅 방식에 효과적
: 대표적으로 Random Forest
(2) Voting
: 투표를 통해 결정하는 방식, Bagging과 같은 투표방식이라는 점에서 유사하지만, 다음과 같은 큰 차이점이 존재
+Voting은 다른 알고리즘 model을 조합해서 사용
+Bagging은 같은 알고리즘 내에서 다른 Sample 조합을 사용
:Voting은 서로 다른 알고리즘이 도출해 낸 결과물에 대하여 최종 투표하는 방식
: hard vote와 soft vote 로 나뉨
: hard vote는 결과물에 대한 최종값을 투표해서 결정하고, soft vote는 최종 결과물이 나올 확률 값을 다 더해서 최종 결과물에 대한 각각의 확률을 구한 뒤 최종 값을 도출
(3) Boosting
: 여러 개의 분류기가 순차적으로 학습을 수행하는 것
: 이전 분류기가 틀리게 예측한다면 다음 분류기에 가중치를 합하여 전달하는 방식
: 다른 모델들보다 나은 성능을 자랑하나 순차적으로 실행해야하는 특성 때문에 비교적 시간이 오래 걸리고 overfitting의 위험성이 높은 모델이다.
:Bagging 과 Boosting의 차이
+데이터를 샘플링하면 되기 때무넹 병렬로 처리하는 Bagging
+ 가중치를 부여하는 작업을 해야하기 때문에 병렬 처리가 아닌 순차 처리가 필수적인 Boosting
(4) Stacking
: 여러 모델들을 활용해 각각의 예측 결과를 도출한 뒤 그 예측 결과를 결합해 최종 예측 결과를 만들어내는 것
: 장점은 단일 모델로 했을 때보다 성능이 월등하게 향상, 여러 모델들로 메타 학습을 진행하기 때문에 학습데이터에 한해서우선 성능을 볼 수 있다는 것이다
:따라서 경진대회에서 마지막 성능을 쥐어짜낼 수 있는 트릭으로 많이 사용되는 기법
: 효과를 얻기 위해 많은 베이스러닝과 메타모델을 조합해야하기 때문에 많이 쓰이진 않음, 시간이 오래 걸림
: 현실적으로 production에서 활용하기엔 어려움이 많은 모델
2. Tree 알고리즘
-Decision Tree (Impurity) : 해당 노드 안에 섞여 있는 정도가 높을 수록 복잡성이 높고, 덜 섞여있을 수록 복잡성이 낮다
-Impurity를 측정하는 측도에는 다양한 종류가 존재 -> Entropy 와 Gini
-Gini index : 불순도를 측정하는 지표로서, 데이터의 통계적 분산 정도를 정량화해서 표현한 값
- 이가 높을 수록 데이터가 분산되어있음을 알 수 있음
본 포스트의 학습 내용은 부스트클래스 <AI 엔지니어 기초 다지기 : 부스트캠프 AI Tech 준비과정> 강의 내용을 바탕으로 작성되었습니다.
'ML_AI > 네이버 부클 AI 엔지니어 기초 다지기 : AI Tech 준비과정' 카테고리의 다른 글
[4주차 (2)] 행렬 (0) | 2024.05.19 |
---|---|
[4주차 (1)] 벡터 (0) | 2024.05.13 |
[2주차 (3)] 하이퍼 파라미터 튜닝 (0) | 2024.05.06 |
[2주차 (2)] 피쳐 엔지니어링 - 2 (0) | 2024.05.06 |
[2주차 (1)] 피쳐 엔지니어링 - 1 (0) | 2024.05.06 |