BASHA TECH

CH 4. 머신러닝 복습 : 분류 본문

Computer/Machine Learning

CH 4. 머신러닝 복습 : 분류

Basha 2023. 5. 11. 16:52
728x90

1. 분류(Classification)의 개요

지도 학습은 명시적인 정답이 있는 데이터(레이블)가 주어진 상태에서 학습하는 머신러닝 방식.

지도 학습의 대표적인 유형인 분류는 학습 데이터로 주어진 데이터의 피처와 레이블 값 (결정 값, 클래스 값)을 머신러닝 알고리즘으로 학습해 모델을 생성하고, 이렇게 생성된 모델에 새로운 데이터 값이 주어졌을 때 미지의 레이블 값을 예측하는 것. 즉, 기존 데이터가 어떤 레이블에 속하는 지 패턴을 알고리즘으로 인지한 뒤에 새롭게 관측된 데이터에 대한 레이블을 판별하는 것이다.

 

앙상블은 서로 다른/또는 같은 알고리즘을 단순히 결합한 형태도 있으나, 일반적으로는 배깅과 부스팅 방식으로 나뉜다. 배깅 방식의 대표인 랜덤 포레스트는 뛰어난 예측 성능, 상대적으로 빠른 수행 시간, 유연성 등으로 많은 분석가가 애용하는 알고리즘이다. 하지만 근래의 앙상블 방법은 부스팅 방식으로 지속해서 발전하고 있다.

그래디언트 부스팅의 경우 뛰어난 예측 성능을 갖고 있지만 수행 시간이 너무 오래 걸리는 단점으로 인해 최적화 모델 튜닝이 민감해 까다로웠습니다. 하지만 XGBoost, LightGBM 등 기존 그래디언트 부스팅의 예측 성능을 한 단계 발전 시키면서도 수행 시간을 단축시킨 알고리즘이 계속 등장하면서 정형 데이터의 분류 영역에서 가장 활용도가 높은 알고리즘으로 자리 잡았다.

 

서로 다른 또는 같은 알고리즘을 결합하는 앙상블 기법은 대부분은 동일한 알고리즘을 결합한다. 앙상블의 기본 알고리즘으로 일반적으로 사용하는 것은 결정 트리다.

결정 트리는 데이터의 스케일링이나 정규화 등의 사전 가공의 영향이 매우 적다. (데이터 전처리가 적다) 하지만 예측 성능을 향상시키기 우해 복잡한 규칙 구조를 가져야 하며, 이로 인한 과적합이 발생해 반대로 예측 성능이 저하 될 수 있다는 단점이 있다.

 

하지만 이러한 단점이 앙상블 기법에서는 오히려 장점으로 작용한다. 앙상블은 매우 많은 여러개의 약한 학습기(즉, 예측 성능이 상대적으로 떨어지는 학습 알고리즘)를 결합해 확률적 보완과 오류가 발생한 부분에 대한 가중치를 계속 업데이트 하면서 예측 성능을 햐앙시키는데, 결정 트리가 좋은 약한 학습기가 되기 때문이다.

  • 트리계열의 장점
    • 설명 쉽다
    • 데이터 전처리 ↓
  • 트리계열의 단점
    • overfitting ⇒ ensemble로 보완 가능
    cf. 식이 복잡해지면 데이터 설명을 잘 할 수 있다. 때문에 과적합이 발생할 수 있다.따라서 과적합을 막기 위해 규제한다는 것 ⇒ 식을 뭉갠다.
  • train data는 학습을 잘하지만 test data 일 땐 성능이 떨어짐.

2. 결정트리

결정 트리는 데이터에 있는 규칙을 학습을 통해 자동으로 찾아내 트리 기반의 분류 규칙을 만드는 것이다. 일반적으로 규칙을 가장 쉽게 표현하는 방법은 if/else 기반(rule base)으로 나타내는 것이다. 따라서 데이터의 어떤 기준(이 기준을 찾아내는 것이 지니계수)을 바탕으로 규칙을 만들어가야 가장 효율적인 분류가 될 것인가가 알고리즘의 성능을 크게 좌우한다. (어떤 기준을 찾아낼 땐 넓은 범위에서 좁은 범위로 갈 것) 트리의 깊이가 깊어질 수록 결정 트리의 예측 성능이 저하 될 가능성이 높다.

 

데이터 세트의 균일도는 데이터를 구분하는 데 필요한 정보의 양에 영향을 미친다. 결정 노드는 정보 균일도가 높은 데이터 세트를 먼저 선택할 수 있도록 규칙 조건을 만든다. 즉 정보 균일도가 데이터 세트로 쪼개질 수 있도록 조건을 찾아 서브 데이터 세트를 만들고, 다시 이 서브 데이터 세트에서 균일도가 높은 자식 데이터 세트 쪼개는 방식을 자식 트리로 내려가면서 반복하는 방식으로 데이터 값을 예측하게 된다. 이러한 정보의 균일도를 측정하는 대표적인 방법은 엔트로피를 이용한 정보 이득 지수와 지니 계수가 있다.

 

정보 이득은 엔트로피라는 개념을 기반으로 한다. 엔트로피는 주어진 데이터 집합의 혼잡도를 의미하는데 서로 다른 값이 섞여있으면 엔트로피가 높고 같은 값이 섞여있으면 엔트로피가 낮다. 정보 이득 지수는 1에서 엔트로피 지수를 뺀 값이다. (1-엔트로피 지수) 결정 트리는 이 정보 이득 지수로 분학 기준을 정한다. 즉, 정보 이득이 높은 속성을 기준으로 분할 하는 것.

 

지니 계수는 원래 경제학에서 불평등 지수를 나타낼 때 사용하는 계수이다. 0이 가장 평등하고 1로 갈 수록 불평등하다. 머신러닝에 적용할 때는 지니 계수가 낮을 수록 데이터 균일도가 높은 것으로 해석해 지니 계수가 낮은 속성을 기준으로 분할한다.

 

결정 트리 알고리즘을 사이킷런에서 구현한 DecisionTreeClassifier는 기본으로 지니 계수를 이용해 데이터 세트를 분할한다. 결정 트리의 일반적인 알고리즘은 데이터 세트를 분할하는 데 가장 좋은 조건 즉, 정보 이득이 높거나 지니 꼐수가 낮은 조건을 찾아서 자식 트리 노드에 걸쳐 반복적으로 분할한 뒤 데이터가 모두 특정 분류에 속하게 되면 분할을 멈추고 분류를 결정한다.

 

결정 트리 모델의 특징은 정보의 ‘균일도’라는 룰을 기반으로 하고 있어서 알고리즘이 쉽고 직관적이라는 점이다. 결정 트리가 룰이 매우 명확하가고 이에 기반해 어떻게 규칙 노드와 리프 노드가 만들어지는 지 알 수 있고, 시각화로 표현까지 할 수 있다. 또한 정보의 균일도만 신경 쓰면 되므로 특별한 경우를 제외하고는 각 피처의 스케일링과 정규화 같은 전처리 작업이 필요없다. 반면의 단점으로는 과적합으로 정확도가 떨어진다는 점이다. (일반화 성능이 떨어짐) 피처 정보의 균일도에 따른 룰 규칙으로 서브 트리를 계속 만들다 보면 피처가 많고 균일도가 다양하게 존재할 수록 트리의 깊이가 커지고 복잡해질 수 밖에 없다. 모든 데이터 상황을 만족하는 완벽한 규칙은 만들지 못하는 경우가 오히려 더 많지만 결정 트리는 학습 데이터 기반 모델의 정확도를 높이기 위해 계속해서 조건을 추가하면서 트리 깊이가 계속 커지고, 결과적으로 복잡한 학습 모델에 이르게 된다. 이러한 복잡한 학습 모델은 실제 상황(테스트 데이터 세트)에 유연하게 대처할 수 없고 이것은 예측 성능이 떨어지는 결과를 유발하게 된다. 따라서 트리의 크기를 사전에 제한하는 것이 오히려 성능 튜닝에 도움을 준다.

결정 트리의 파라미터로 사이킷런은 결정 트리 알고리즘을 구현한 DecisionTreeClassifier(분류를 위한 클래스)와 DecisionTreeRegressor(회귀를 위한 클래스)를 제공한다.

 

3. 앙상블 학습

앙상블 학습을 통한 분류는 여러 개의 분류기를 생성하고 그 예측을 결합함으로서 보다 정확한 최종 예측을 도출하는 기법을 말한다. 앙상블 학습의 목표는 다양한 분류기의 예측 결과를 결합함으로써 단일 분류기보다 신뢰성이 높은 예측을 얻는 것이다.

 

728x90
반응형
Comments