[머신러닝] 앙상블(Ensemble) 학습

hugingstar·2022년 11월 26일
0
post-thumbnail

오늘은 앙상블과 세부 기법들에 대해서 정리해본다. 각각의 기법들의 특징들을 정리해보면 어떤 것을 방향과 목적으로 인공지능 모델들이 학습되는지에 대한 좀 더 깊은 생각을 할 수 있지 않을까하고 정리해보았다.

1.앙상블(Ensemble)

앙상블 학습은 개별 결정 트리(Decision tree)를 다양한 방법으로 결합 또는 갱신하여 하나의 결정 트리를 사용했을 때 보다도 좋은 성능이 나올 수 있도록 하는 머신러닝 기법이다.

대체로 다양한 변수들이 있을 때, 예측 타겟에 대한 상대적인 특징 중요도를 찾아내기 위해서 많이 사용되는 방법으로 결정 트리를 어떻게 결합하고 갱신하는지에 따라서 배깅(Bagging), 부스팅(Boosting)과 같이 세분화된다.

1.배깅(Bagging)

"Parallel solution"

배깅(Bagging)은 개별 결정 트리를 매우 많이 생성하여 각각 학습을 통해 얻을 해답을 하나로 결합하여 최종 결론을 만들어내는 방법이다.

이 방법은 달리말하면 약한 분류기 여러개를 생성하고 각각 분류기가 낸 해답 여러개를 조합하여 더욱 정확하게 예측해보려는 방식으로 설명할 수도 있다.

1.1 Random forest(RF)

RF는 대표적인 배깅을 사용한 분류 모델로 여러개의 결정 트리를 생성하는 방식의 머신러닝 알고리즘이다.

RF는 여러개의 결정 트리를 만든다는 것은 아주많은 시행착오를 통해서 최종적으로는 다양한 상황의 시행착오를 종합적으로 고려하여 문제를 해결하는 방식이다. 조금 무식하지만 그 성능은 매우 좋다.

단어의 유래는 다수의 트리를 만들기 때문에 Forest라는 단어가 붙게 되었다.

1.1.1 RF의 특징

A.노이즈에 취약한 데이터 기반 모델을 생성할 때 오버피팅 되는 문제를 회피하여 모델의 정확도를 향상할 수 있다.
B.결측치가 있는 경우에도 비교적 다루기가 쉽다.
C.분류문제 뿐만 아니라 회귀 문제에도 사용할 수 있다.
D.예측 타겟의 비선형적인 특징을 찾아내는 것에 강점이 있다.
E.타겟을 예측할 때 입력 특징들의 상대적인 특징중요도(Feature importance)를 찾아낼 수 있다.

2.부스팅(Boosting)

"Sequential solution"

부스팅(Boosting)은 하나의 분류기를 통해서 가중치를 만들어내고 그 가중치가 다음에 학습되는 분류기에 영향을 주어 순차적으로 학습을 수행하는 방법이다.

2.1 Ada boosting(ADB)

ADB는 Adaptive boosting의 약자로 약분류기들이 순차적으로 보완되어 단계적 학습이 가능하도록 하는 학습방법을 말한다.

약한 분류기들이 보완을 하여 최종적인 강분류기가 되어 성능을 극대화하겠다는 방식의 기계학습 알고리즘이다. 먼저 학습을 수행한 약분류기는 타겟 예측에 실패할 수 있지만, 이 실패 과정을 딛고 다음 단계에서는 강분류기를 만들겠다는 생각을 가진 알고리즘이다.

2.1.1 ADB의 특징

A.ADB는 이전 분류기에 의해서 새롭게 학습되기 때문에 노이즈가 많은 상황에서는 취약함을 가지고 있다. 즉, 노이즈가 많은 상황에서는 높은 성능을 생각하기 어렵다는 점도 있다.
B.성능을 향상하기 위해서 다른 알고리즘과의 결합이 유연하다. 이는 입력값으로 Decition tree를 입력하고 이를 순차적으로 보완하는 방법으로 알고리즘이 구동되기 때문이다.
C.차원을 축소하려고 노력하는 알고리즘이기 때문에 모델 학습에 필요한 시간을 단축할 수 있다.(보통 기계학습할 때 특징개수가 매우 많아지는 경우가 발생한다. 기존의 서포트 벡터 머신과는 달리 ADB는 모델을 훈련할 때 모델의 예측 능력을 향상시킬 수 있는 점만을 선택하고 차원의 수를 줄이는 방식을 택한다.)

2.2 XG boosting(XGB)

XGB는 Extreme gradient boosting의 약자로 기존에 부스팅 방법의 단점으로 지적되는 직렬연산인 Squential process의 단점을 Parallel processing으로 보완하여 문제를 해결하는 방법이다.

이전 학습의 결과를 반영하고, 병렬적인 연산을 통해 성능 극대화를 노린 방법이라고 할 수 있다.

(참고: 기존의 Gradient boosting(GB)는 Squential process의 대표적인 알고리즘으로서 RF에 비해서 높은 예측 성능을 뽑아낼 수 있지만, 하이퍼파라미터에 매우 민감해서 오버피팅되는 상황이 빈번하기 때문에 이 문제를 해결하려는 노력들이 매우 많이 시도되었다. 그런 문제를 해결하고자 XGB가 세상에 소개된 것으로 보인다.)

2.1.1 XGB의 특징

A.Sequential process가 수행되기 떄문에 분류 및 회귀 문제를 해결하는 데에 뛰어난 예측성능을 가진다.
B.Parrellel process가 추가되었기 때문에 모델 학습, 연산 시간이 빠르다는 장점이 있다.
C.과적합 규제(Overfitting Regularization)가 적용되었기 떄문에 기존의 GB보다 과적합 규제가 가능하다.

0개의 댓글