머신러닝의 배깅 소개


일련의 예측 변수와 반응 변수 간의 관계가 선형인 경우 다중 선형 회귀 와 같은 방법을 사용하여 변수 간의 관계를 모델링할 수 있습니다.

그러나 관계가 더욱 복잡해지면 비선형 방법을 사용해야 하는 경우가 많습니다.

그러한 방법 중 하나는 예측 변수 세트를 사용하여 반응 변수의 값을 예측하는 의사 결정 트리를 생성하는 분류 및 회귀 트리 (종종 CART로 약칭)입니다.

프로 야구 선수의 급여를 예측하기 위해 수년간의 경험과 평균 홈런을 사용하는 회귀 트리의 예입니다.

그러나 CART 모델의 단점은 높은 분산 으로 인해 어려움을 겪는 경향이 있다는 것입니다. 즉, 데이터 세트를 두 부분으로 나누고 두 부분 모두에 의사 결정 트리를 적용하면 결과가 매우 다를 수 있습니다.

CART 모델의 분산을 줄이기 위해 사용할 수 있는 한 가지 방법은 배깅(Bagging) , 때로는 부트스트랩 집계(Bootstrap Aggregation) 라고도 합니다.

배깅이란 무엇입니까?

단일 의사결정 트리를 만들 때 모델을 구축하는 데 하나의 훈련 데이터 세트만 사용합니다.

그러나 배깅에서는 다음 방법을 사용합니다.

1. 원본 데이터 세트에서 b 부트스트랩 샘플을 가져옵니다.

  • 부트스트랩 표본은 교체를 통해 관측치가 취해진 원본 데이터 세트의 표본이라는 점을 기억하세요.

2. 각 부트스트랩 샘플에 대한 의사결정 트리를 만듭니다.

3. 각 트리의 예측을 평균하여 최종 모델을 얻습니다.

  • 회귀 트리의 경우 B 트리의 예측 평균을 취합니다.
  • 분류 트리의 경우 B- 트리에 의해 수행된 가장 일반적인 예측을 사용합니다.

배깅은 모든 기계 학습 알고리즘과 함께 사용할 수 있지만 본질적으로 분산이 크고 배깅을 통해 분산을 크게 줄여 테스트 오류를 줄일 수 있기 때문에 의사결정 트리에 특히 유용합니다.

의사결정 트리에 배깅을 적용하기 위해 개별 트리를 가지치기 없이 깊이 성장시킵니다 . 이로 인해 분산은 높지만 편향은 낮은 개별 트리가 생성됩니다. 그런 다음 이 트리에서 평균 예측을 수행하면 분산을 줄일 수 있습니다.

실제로 최적의 성능은 일반적으로 50~500그루의 나무에서 달성되지만, 최종 모델을 생성하기 위해 수천 그루의 나무를 맞추는 것도 가능합니다.

더 많은 트리를 맞추려면 더 많은 컴퓨팅 성능이 필요하며 이는 데이터 세트의 크기에 따라 문제가 될 수도 있고 그렇지 않을 수도 있다는 점을 명심하세요.

Out-of-bag 오류 추정

k-겹 교차 검증 에 의존하지 않고 배깅 모델의 테스트 오류를 계산할 수 있다는 것이 밝혀졌습니다.

그 이유는 각 부트스트랩 샘플이 원래 데이터 세트의 관측치 중 약 2/3를 포함하는 것으로 표시될 수 있기 때문입니다. 배깅 트리를 맞추는 데 사용되지 않은 나머지 1/3의 관측치를 OOB(Out-of-bag) 관측치 라고 합니다.

관측값이 OOB인 각 트리에서 평균 예측을 취하여 원본 데이터세트의 i번째 관측값을 예측할 수 있습니다.

이 접근 방식을 사용하여 원본 데이터 세트의 모든 n개 관측값에 대해 예측을 수행하고 테스트 오류의 유효한 추정치인 오류율을 계산할 수 있습니다.

테스트 오류를 추정하기 위해 이 접근 방식을 사용하면 특히 데이터 세트가 큰 경우 k-겹 교차 검증보다 훨씬 빠르다는 장점이 있습니다.

예측 변수의 중요성 이해

의사결정나무의 장점 중 하나는 해석과 시각화가 쉽다는 점을 기억하세요.

대신 배깅을 사용하면 최종 배깅 모델은 다양한 트리의 평균을 구한 결과이므로 더 이상 개별 트리를 해석하거나 시각화할 수 없습니다. 해석 가능성을 희생하여 예측 정확도를 얻습니다.

그러나 모든 B- 트리에 대해 평균을 낸 특정 예측 변수에 대한 분포로 인한 RSS(잔차 제곱합)의 총 감소를 계산하여 각 예측 변수의 중요성을 여전히 이해할 수 있습니다. 값이 클수록 예측 변수가 더 중요해집니다.

배깅 모델의 변수 중요도 차트
변수 중요도 차트의 예.

마찬가지로 분류 모델의 경우 주어진 예측 변수에 대한 분포로 인한 총 지니 지수 감소를 모든 B 트리에 대한 평균으로 계산할 수 있습니다. 값이 클수록 예측 변수가 더 중요해집니다.

따라서 최종 전체 모델을 정확하게 해석할 수는 없지만 반응을 예측할 때 각 예측 변수가 얼마나 중요한지에 대한 아이디어는 얻을 수 있습니다.

배깅 그 이상

배깅의 장점은 일반적으로 단일 결정 트리에 비해 테스트 오류율이 향상된다는 것입니다.

단점은 데이터 세트에 매우 강력한 예측 변수가 있는 경우 배깅 트리 수집의 예측이 높은 상관 관계를 가질 수 있다는 것입니다.

이 경우 배깅된 트리의 대부분 또는 전부는 첫 번째 분할에 이 예측자를 사용하므로 서로 유사하고 높은 상관 예측을 갖는 트리가 생성됩니다.

이 문제를 해결하는 한 가지 방법은 배깅과 유사한 방법을 사용하지만 장식된 트리를 생성할 수 있는 랜덤 포레스트를 사용하는 것입니다. 이는 종종 테스트 오류율을 낮추게 됩니다.

여기에서 Random Forest에 대한 간단한 소개를 읽을 수 있습니다.

추가 리소스

분류 및 회귀 트리 소개
R에서 배깅을 수행하는 방법(단계별)

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다