결정 트리의 앙상블

Lia·2021년 9월 3일
0

AI

목록 보기
7/11
Contents
1. 랜덤 포레스트
2. 그래디언트 부스팅

앙상블은 여러 머신러닝 모델들을 동시에 사용하여 더욱 강력한
모델을 만드는 기법 입니다.

결정 트리는 기본적으로 훈련 세트에 과대적합하는 경향이 있기에
앙상블을 적용하여 이를 해결할 수 있습니다.


# 01 - 랜덤 포레스트

랜덤 포레스트는 앙상블 학습에서 널리 알려진 기법중 하나입니다.

앙상블 기법을 적용 시킬때에 각각의 트리는 독립적으로 만들어 져야 하기 때문에
랜덤 포레스트는 부트스트랩 샘플을 사용하여 모델을 학습시킵니다.
부트스트랩 샘플은 중복을 허용하면서 데이터를 샘플링 합니다.

또한 각 노드에서 전체 특징(feature)중 일부 특징(feature)만 이용하여
모든 트리가 서로 달라지게 만듭니다.

랜덤 포레스트 또한 하이퍼파라미터가 존재합니다.
그 중에서 가장 중요하다고 할 수 있는 하이퍼파라미터는
max_features 입니다.

일반적인 결정 트리와는 달리 랜덤 포레스트는 각 노드마다
특성을 무작위로 선택
하여 선택한 특성 중 최선의 분할을 찾아냅니다.

max_features 매개변수를 이용하면 각 노드마다 무작위로 선택하는
특성의 갯수를 정할 수 있습니다.

max_features 의 값이 커질수록 트리들은 비슷해 지고
값이 작아질수록 트리들은 달라지게 되고 각각의 트리들의 깊이가 깊어지게 됩니다.


# 02 - 그래디언트 부스팅

그래디언트 부스팅은 깊이가 얕은 결정 트리를 사용하여 이전 트리의 오차를
보완하는 방식으로 앙상블 하는 방법입니다. 즉 그래디언트 부스팅은 손실 함수의 값을
최소화 하는 방향으로 학습하고 이 과정에서 경사 하강법이 사용됩니다.

그래디언트 부스팅은 일반적으로 깊이가 얕은 트리들을 사용합니다.
scikit learn 에서는 기본적으로 깊이가 3인 트리를 사용합니다.

그래디언트 부스팅에서는 n_estimators 외에도 중요한 하이퍼파라미터가 있습니다.
바로 이전 트리 오차를 얼만큼 강하게 보정할 것인지 정하는 learning_rate 입니다.

profile
하고싶은게 많아요

0개의 댓글