앙상블 - 배깅

shyoon·2023년 7월 5일
0

머신러닝

목록 보기
11/11

✍배깅(Bagging) 이란?

Bootstrap Aggregating 의 줄임말로 데이터 세트 내 분산을 감소시킴으로써 오류를 줄이는 앙상블 기법

  • 붓스트래핑 : 배깅에서 이용하는 복원 랜덤 샘플링 기법
  • 병렬 훈련 : 부트스트랩 한 subset들을 독립적, 병렬적으로 훈련
  • 보팅(voting) : 각 훈련 결과들을 통합하는 과정

배깅의 필수 진행 요소


1. 부트 스트래핑(Bootstrapping)
2. 통합(Aggregating)

Bootstrap

배깅 기법에서 랜덤 복원 추출을 이용하여 추출하는 개별 데이터셋으로 원래 데이터 수만큼의 데이터 수로 샘플링한다(크거나 작을 수도 있다). 따라서 한 붓스트랩에서 동일한 인스턴스가 여러 개 등장할 수 있다.

Aggregating

분류 문제 시 부트스트래핑을 진행하여 얻은 여러 부트스트랩(Bootstrap)들을 이용하여 분류한 결과를 하나로 합치는 과정

  • Majority Voting

    • m개의 붓스트랩의 예측 결과 중 가장 많은 수를 차지하는 결과를 선택하는 방식
      y^ensemble=argmax(j=1nδ(y^j=i),i{0,1})\hat y_{ensemble} = argmax(\sum^n_{j=1}\delta(\hat y_j=i), i \in \{0, 1\})
  • Weighted Voting

    • n개의 붓스트랩의 각 예측 성능을 weight로 적용하여 Voting하는 방식
      y^ensemble=argmax(j=1n(TrainAccj)δ(y^=i)j=1n(TrainAccj),i{0,1})\hat y_{ensemble} = argmax({\sum_{j=1}^n(TrainAcc_j)\cdot\delta(\hat y = i) \over \sum_{j=1}^n(TrainAcc_j) }, i \in \{0,1 \})
  • Stacking

    • m개의 예측값을새로운 X로 생각해서 실제 y를 맞히는 Meta Classifier를 생성하여 새로운 예측값을 도출하는 방법

⇨ 위와 같은 과정을 거쳐 나온 배깅 모델은 단일 모델에 비해 향상된 성능을 보여준다.


배깅의 장단점

  • 장점
    • scikit-learn 등 Python 외부 라이브러리를 활용하여 쉽게 모델 성능을 향상시킬 수 있다.
    • 분산을 낮추어 고차원 데이터에서 발생하기 쉬운 과적합을 방지할 수 있고 일반화 성능이 좋아진다.
  • 단점
    • 앙상블 결과의 복잡성과 변수 중요도의 모호성 등의 이유로 해석 가능성을 상실할 수 있다.
    • 반복 횟수가 증가함에 따라 계산 비용이 증가할 수 있다.

랜덤 포레스트(Random Forest)

배깅 기법을 확장한 알고리즘으로 하나의 출력을 위해 의사결정나무의 출력을 결합하는 방법

  • 배깅의 랜덤 복원 추출 기법에 Random Subspace 개념을 추가
  • 의사결정나무는 가능한 모든 특성 분할을 고려하지만 랜덤포레스트는 특성의 하위 집합만을 선택한 다양한 subset들을 이용하여 과적합, 편향, 분산의 리스크를 낮추어 줌

Random Subspace

배깅 기법의 각 붓스트랩은 모든 컬럼을 다 쓰고 샘플링만 랜덤 복원 추출하지만, Random Subspace 개념을 도입하면 컬럼도 특정 변수만 추출한다.

랜덤포레스트 장점

  • 분류와 회귀문제 모두 사용 가능

  • 대용량 데이터 처리에 효과적

  • 일반화 오류를 줄일 수 있다.

    • 랜덤포레스트의 개별 트리는 가지치기를 진행하지 않으므로 과적합 위험 존재
    • 하지만, 앙상블 구성 모델 수가 충분히 클 경우 일반화 가능
  • 변수의 중요도 측정 가능

    • 간접적 방식으로 변수의 중요도 측정 가능
      1. 원래 데이터 집합의 OOB(Out of Bag) Error 측정
      2. 특정 변수의 값을 임의로 뒤섞은 데이터 집합의 OOB Error 측정
      3. 둘의 평균과 분산을 고려하여 중요도 측정

랜덤포레스트 단점

  • 배깅 기법을 이용하기 때문에 계산 비용이 크고 해석 가능성이 떨어짐

references

profile
큰 사람이 되겠어요

0개의 댓글