데이터 한 그릇

분류2)분류 머신러닝 개요와 결정 트리 본문

머신러닝/분류

분류2)분류 머신러닝 개요와 결정 트리

장사이언스 2021. 4. 5. 17:12

 

  • 분류(Classification)의 개요
  • 결정 트리

분류의 개요

 

  분류 머신러닝은 지도학습 유형 중 하나라고 할 수 있다. 분류는 다양한 머신러닝 알고리즘으로 구현할 수 있는데, 이 책을 통해서 집중적으로 살펴볼 알고리즘은 앙상블 방법(Ensemble Method) 이다. 앙상블은 서로 다른(또는 같은) 머신러닝 알고리즘을 결합한 형태이다.

 

  앙상블은 서로 다른/또는 다른 알고리즘을 결합한 형태도 존재하지만 일반적으로는 배깅(Bagging)과 부스팅(Boosting) 방식으로 나뉜다. 배깅 방식의 대표는 랜덤 포레스트(Random Forest) 라고 할 수 있다. 랜덤포레스트는 뛰어난 예측 성능과 상대적으로 빠른 수행시간 그리고 유연성 등을 가지고 있다. 하지만 근래에는 앙상블의 다른 유형인 부스팅 방식이 많이 각광을 받고 있다. 부스팅의 원조라고 할 수 있는 그래디언트 부스팅(Gradient Boosting) 의 경우 뛰어난 예측 성능을 가지고 있지만 수행 시간이 너무 오래 걸리는 단점을 가지고 있다. 그래서 기존 부스팅의 성능을 한 단계 향상 시킨 게 XgBoost(eXtra Gradient Boost)와 LightGBM 이다.

 

  이 장에서는 앙상블 방법의 개요와 앙상블의 두 가지 방식인 배깅과 부스팅을 살펴보면서 랜덤 포레스트와 그래디언트 부스팅을 살펴보고 두 가지의 전통적인 방식 뿐만 아니라 부스팅의 최신 계열이라고 할 수 있는  XgBoost(eXtra Gradient Boost)와 LightGBM을 살펴볼 예정이다. 또한 앙상블의 앙상블이라고 할 수 있는 스태킹(Stacking) 기법에 대해서도 상세히 알아볼 예정이다.

 

앙상블 종류
서로 같은/다른 종류의 알고리즘을 단순히 결합한 형태 배깅(Bagging) 부스팅(Boosting)
  랜덤 포레스트(Random Forest) 그래디언트 부스팅(Gradient Boosting)
    XgBoost, LightBGM

 


결정 트리

 

  일반적으로 앙상블은 서로 다른 혹은 서로 같은 알고리즘의 결합으로 알려져 있는데, 일반적으로는 서로 같은 알고리즘의 결합이 대다수라고 할 수 있다. 이 때 사용되는 일반적인 알고리즘이 바로 결정 트리 알고리즘이라고 할 수 있다. 결정 트리 알고리즘은 매우 쉽고 유연하게 적용될 수 있는 알고리즘이며, 데이터의 스케일링이나 정규화 등의 사전 가공의 영향이 매우 적다. 하지만 과적합(overfitting) 되는 문제가 존재한다. 하지만 이러한 단점이 앙상블 기법에서는 오히려 장점으로 전환된다. 왜냐하면 앙상블은 매우 많은 여러 개의 약한 학습기(즉, 예측 성능이 상대적으로 떨어지는 학습 알고리즘) 를 결합해 확률적 보완과 오류가 발생한 부분에 대한 가중치를 계속 업데이트 하면서 예측 성능을 향상시키기 때문이다. 이 때 결정트리를 약한 학습기로서 충분한 조건을 가지고 있다고 할 수 있다. 

(약한 알고리즘 결합 -> 강한 알고리즘)

 

  결정 트리는 if/else 기반의 알고리즘. 따라서 어떤 규칙을 설정을 하느냐에 따라서 예측성능이 결정된다고 할 수 있다. 최상단의 루트노드로 부터 나무는 분할된다. 그리고 규칙 노드가 존재하는데, 규칙 노드는 규칙 조건이라고 할 수 있다. 그 조건에 따라서 리프노드로 나뉘게 되고 이 과정을 반복하여 수행하게 된다. 이 때 예측 정확도를 높이기 위해서는 데이터를 분류할 대 최대한 많은 데이터 세트가 해당 분류에 속할 수 있도록 결정 노드의 규칙이 정해져야 한다. 즉, 데이터를 분류할 때 그 기준(규칙)이 데이터의 균일도와 깊은 연관이 있다고 할 수 있다. 

 

  균일도는 데이터의 순수도라고 할 수 있다. 만일 a 가 10개 b개 1개인 집단이 있고 a가 5개 b가 5개 c가 1개인 집단이 있다면 전자의 집단이 균일도가 높은 집단이라고 할 수 있다. 결정 노드는 정보 균일도가 높은 데이터 세트를 먼저 선택할 수 있도록 규칙 조건을 만든다. 이러한 정보의 균일도를 측정하는 대표적인 방법은 엔트로피를 이요한 정보 이득(Information Gain) 지수와 지니 계수이다.

 

  정보 이득은 엔트로피 개념을 기반으로 한다. 엔트로피는 주어진 데이터 집합의 혼잡도를 의미한다. 앞서 말한 예시에서 혼잡도가 높은 집단은 후자라고 할 수 있으며 엔트로피 지수도 후자가 더 높다고 할 수 있다. 즉, 서로 다른 값이 모여 있으면 엔트로피 값이 높고, 서로 같은 값이 모여 있으면 엔트로피 값이 낮다고 할 수 있다.

 

  지니 계수는 원래 경제학에서 불평등 지수를 나타낼 떄 사용하는 계수이다. 머신러닝에 적용될 때는 지니 계수가 낮을수록 데이터의 균일도가 높은 것으로 해석이 된다. 따라서 지니 계수가 낮은 속성을 기준으로 분할한다. (엔트로피 지수든 지니 계수든 수치가 낮으면 균일도가 높다.)

 

  높다 낮다
엔트로피 균일도가 낮다 균일도가 높다
지니 계수 균일도가 낮다 균일도가 높다

 

1)결정 트리 모델의 특징

 

  결정 트리의 가장 큰 장점은 정보의 '균일도' 라는 규칙을 기반응로 하고 있기 때문에 알고리즘이 쉽고 직관적이라는 것이다. 따라서 모델 해석력이 높다는데 있는데, 시각화를 통해서 그 과정을 확인 할수도 있다. 또한 정보의 균일도만 신경쓰면 되기 때문에 특별한 경우를 제외하고는 각 피처의 스케일링과 정규화 같은 전처리 작업이 필요하지 않다. 하지만 결정 트리는 과적합(Overfitting) 이라는 단점을 가지고 있으며 이 문제 때문에 정확도가 떨어지게 된다. 따라서 트리의 크기를 사전에 제한하여 과적합 문제를 벗어나는 것이 현명하다고 할 수 있다.

 

결정 트리 장점 결정 트리 단점
1. 쉽고 직관적

2. 피처의 스케일링이나 정규화 등의 사전 가공 영향도가 크지 않음
과적합으로 인해서 정확도가 떨어짐

 

Comments