안정민 2024. 5. 6. 23:47

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 준비과정> 강의 내용을 바탕으로 작성되었습니다.