ImageLab News 

이미지랩소식

ImageLab News

이미지랩소식

머신러닝[분류알고리즘4] GBM(Gradient Boosting Machine)

부스팅 알고리즘은 여러 개의 약한 학습기를 순차적으로 학습-예측하며 잘못 예측한 데이터에 가중치를 부여하며 오류를 개선해 나가는 방식이다. 대표적으로 AdaBoost(Adaptive boosting)과 그래디언트 부스트가 있다.

AdaBoost는 오류 데이터에 가중치를 부여하며 부스팅을 수행하는 대표적인 알고리즘이다.

6f5c9f8968b54.png

맨 왼쪽과 같이 +와 -로 이루어진 피처 데이터 세트가 있다면

· Step1은 첫 번째 약한 학습기가 분류 기준 1로 +와 -를 구분하였고, 오분류된 데이터를 ⊕로 표시했다.

· Step2에서는 이 오분류된 데이터에 대해 가중치를 부여했고, Step3에서 분류 기준 2로 데이터를 분류했다. 오분류된 데이터를 ⊖로 표시했다.

· Step4에서는 다시 오분류된 -데이터에 대해 가중치를 부여하고, Step5에서 분류 기준 3으로 다시 데이터를 분류 후 오분류된 데이터를 표시했다.

· 맨 아래 그림은 세 학습기를 모두 결합한 예측 결과이다. 개별 학습기보다 정확도가 상승했음을 알 수 있다.

개별 학습기는 다음과 같이 가중치를 부여하여 결합한다. 예를 들어, 첫 번째 학습기에는 0.3, 두 번째 학습기에 0.5, 세 번째 학습기에 0.8을 부여한 후, 모두 결합해 예측을 수행한다.

b51d62b7289ba.png

GBM도 AdaBoost와 유사하나, 가중치 업데이트에 경사하강법을 이용하는 차이가 있다.


XGBoost


XGBoost는 트리 기반 앙상블 학습에서 가장 각광받고 있는 알고리즘 중 하나다. 

압도적인 차이가 있는 것은 아니지만, 분류에 있어서 일반적으로 다른 알고리즘보다 뛰어난 예측 성능을 나타낸다. GBM에 기반을 두고 있지만, GBM의 단점인 느린 수행 시간 등의 문제를 해결했다. 


아래 표는 XGBoost의 주된 장점이다

항목
설명
뛰어난 예측 성능
일반적으로 분류와 회귀 영역에서 뛰어난 예측 성능을 발휘함
GBM 대비 빠른 수행 시간
일반적인 GBM은 순차적으로 약한 학습기가 가중치를 증감시키는 방법으로학습을 수행하기 때문에, 전반적으로 속도가 느린 편이다. 하지만 XGBoost는 병렬 수행 및 다양한 기능으로 GBM에 비해 빠른 수행 성능을 보장하고 있다. 단, 일반적인 GBM에 비해 빠를 뿐이지, 다른 머신러닝 알고리즘(예를 들어 랜덤 포레스트)보다 빠르다는 의미인 것은 아니다.
과적합 규제
표준 GBM의 경우 과적합 규제 기능이 없으나, XGBoost는 내장된 과적합 규제 기능으로 과적합에 대해 조금 더 높은 내성을 가진다.
Tree pruning
GBM은 분할 시 부정 손실이 발생하면 더 이상 분할을 수행하지 않지만,이러한 방식으로도 지나치게 많은 분할이 발생할 수 있다. XGBoost도 다른 GBM처럼 max_depth 파라미터로 깊이를 조정하기도 하지만,Tree pruning으로 더 이상 긍정 이익이 없는 분할을 가지치기해서 분할 수를 더 줄일 수 있게 된다.
자체적인 교차 검증
XGBoost는 반복 수행 시마다 내부적으로 학습 데이터 세트와 평가 데이터 세트에 대한 교차 검증을 수행해 최적화된 반복 수행 횟수를 가질 수 있다.반복 횟수를 지정하는 것이 아니라, 교차 검증을 통해 평가 데이터 세트의 평과 값이최적화되면 반복을 중간에 멈출 수 있는 조기 중단 기능이 있다.
결손값 자체 처리
XGBoost는 결손값을 자체 처리할 수 있는 기능을 가진다.




LightGBM


LightGBM은 XGBoost와 마찬가지로 각광받고 있는 부스팅 계열 알고리즘이다. XGBoost는 뛰어난 알고리즘이지만 학습시간이 오래 걸린다는 단점이 있는데, 하이퍼 파라미터 튜닝을 수행하다 보면 수행 시간이 너무 오래 걸려 파라미터 튜닝에 어려움을 겪을 수밖에 없다. 

LightGBM의 가장 큰 장점이 XGBoost보다 학습에 걸리는 시간이 훨씬 적다는 점이다. 또한, 메모리 사용량도 상대적으로 적다. 하지만 두 알고리즘 간의 예측 성능 차이는 적고, 기능의 다양성은 LightGBM이 앞선다. 하지만 단점 중 한 가지로, 적은 데이터 세트에 사용할 경우 과적합이 발생하기 쉽다는 점이 있다. 이 적은 데이터 세트라는 기준이 애매하지만, 일반적으로는 10,000건 이하의 데이터 세트 정도가 적은 데이터 세트라고 공식 문서에서 정의하고 있다.

 

GBM 계열의 일반적인 트리 분할과 다르게, 리프 중심 트리 분할(Leaf Wise) 방식을 사용한다. 기존 대부분의 트리 기반 알고리즘은 트리의 깊이를 효과적으로 줄이기 위한 균형 트리 분할 방식을 사용한다. 최대한 균형잡힌 트리를 유지하면서 분할하여, 트리의 깊이를 최소화시키는 방법인데, 이 방법이 과적합에 더 강한 구조를 가질 수 있다고 여겨지기 때문이다. 하지만 이 방법은 균형을 맞추기 위한 시간이 필요하다는 단점도 가지고 있다. 하지만 LightGBM의 리프 중심 트리 분할 방식은 트리의 균형을 맞추지 않으며, 최대 손실 값을 가지는 리프 노드를 지속적으로 분할하며 트리의 깊이가 깊어지며 비대칭적인 규칙 트리가 생성된다. 이러한 방식이 학습을 반복할수록 예측 오류 손실을 최소화할 수 있을 거라는 구현 사상을 가진 알고리즘인 것.


LightGBM의 XGBoost 대비 장점은 다음과 같다.

·  더 빠른 학습과 예측 수행 시간

·  더 작은 메모리 사용량

·  카테고리형 피처의 자동 변환과, 최적 분할

또한, 대용량 데이터에 뛰어난 예측 성능 및 병렬 컴퓨팅 기능을 제공하며 최근에는 GPU 연산까지 지원하고 있다.


Image Lab 이미지랩

본사 경기도 성남시 수정구 창업로 43, 업무동 1층 86호 

연구소 경기도 성남시 수정구 창업로 43, B동 1013호 

Tel. 031-757-9472 Fax. 031-759-1489

Image Lab 이미지랩

본사 경기도 성남시 수정구 창업로 43, 업무동 1층 86호

연구소 경기도 성남시 수정구 창업로 43, B동 1013호

Tel. 031-757-9472 Fax. 031-759-1489  E-mail. imagelabinc@gmail.com