기계 학습의 배깅, 부스팅 및 스태킹

이 세 가지 방법의 유사점과 차이점은 무엇입니까?

  • 배깅,
  • 부스팅,
  • 스태킹?

가장 좋은 것이 무엇이며 그 이유는 무엇입니까?

각각의 예?

댓글

  • 교과서 참조의 경우 다음을 권장합니다. ” 앙상블 방법 : 기초 및 알고리즘 ” by Zhou, Zhi-Hua
  • 여기에서 관련 질문 을 확인하세요.

답변

세 가지 모두 소위 “메타 알고리즘”입니다. 여러 기계 학습 기술을 결합하는 접근 방식 분산 ( 배깅 ), 편향 ( 부스팅 )을 줄이거 나 예측력을 개선 ( 스태킹 별칭 )하기 위해 하나의 예측 모델로 ensemble ).

모든 알고리즘은 다음 두 단계로 구성됩니다.

  1. 배포 생성 원본 데이터의 하위 집합에 대한 간단한 ML 모델 구성.

  2. 분포를 하나의 “집계”모델로 결합

다음은 세 가지 방법 모두에 대한 간단한 설명입니다.

  1. 배깅 ( B ootstrap Agg regat ing 의 약어)는 감소하는 방법입니다. 반복 조합 을 사용하여 원래 데이터 세트에서 학습용 추가 데이터를 생성하여 멀티 세트를 생성하여 예측의 분산 원본 데이터와 동일한 카디널리티 / 크기. 학습 세트의 크기를 늘리면 모델 예측력을 개선 할 수 없지만 분산을 줄여 예상 결과에 맞게 예측을 좁게 조정합니다.

  2. 부스팅 은 먼저 다음의 하위 집합을 사용하는 2 단계 접근 방식입니다. 원래 데이터를 사용하여 일련의 평균 성능 모델을 생성 한 다음 특정 비용 함수 (= 다수 투표)를 사용하여 결합하여 성능을 “증대”합니다. 배깅과 달리 고전적인 부스팅 하위 집합 생성은 무작위가 아니며 이전 모델의 성능에 따라 달라집니다. 모든 새 하위 집합에는 이전 모델에 의해 잘못 분류되었을 가능성이있는 요소가 포함됩니다.

  3. 스태킹 은 부스팅과 유사합니다. : 또한 원본 데이터에 여러 모델을 적용합니다. 여기서 차이점은 그러나 가중치 함수에 대한 경험적 공식이 아니라 메타 수준을 도입하고 다른 모델 / 접근법을 사용하여 모든 모델의 출력과 함께 입력을 추정하여 가중치를 추정합니다. 즉, 이러한 입력 데이터를 고려할 때 어떤 모델의 실적이 좋은지 그리고 어떤 것이 나쁜지를 결정합니다.

다음은 비교 테이블입니다.

비교 표

보시다시피이 모든 것은 여러 모델을 더 나은 모델로 결합하는 다른 접근 방식이며 단 하나의 승자는 없습니다. 모든 것은 귀하의 도메인과 귀하가 할 일에 달려 있습니다. 여전히 스태킹 을 좀 더 발전된 부스팅 으로 취급 할 수 있지만 메타 수준에 적합한 접근 방식을 찾기가 어렵 기 때문에이 접근 방식을 실제로 적용하기가 어렵습니다. .

각 항목에 대한 간단한 예 :

  1. 배깅 : 오존 데이터 .
  2. 부스팅 : 광학 문자 인식 (OCR) 정확도를 개선하는 데 사용됩니다.
  3. 스태킹 : 의학에서 암 마이크로 어레이 분류 에 사용됩니다.

댓글

  • 부스팅 정의가 위키 (연결 한) 또는 이 문서의 정의와 다른 것 같습니다. . 둘 다 다음 분류기를 부스팅 할 때 이전에 훈련 된 분류기의 결과를 사용한다고 말하지만 ‘ 그것을 언급하지 않았습니다. 다른 한편으로 설명하는 방법은 일부 투표 / 모델 평균화 기법과 유사합니다.
  • @ a-rodin :이 중요한 측면을 지적 해 주셔서 감사합니다.이 부분을 더 잘 반영하기 위해이 섹션을 완전히 다시 작성했습니다. 두 번째 발언과 관련하여, 부스팅도 투표 / 평균화의 한 유형이라는 점을 이해하고 있습니까? 아니면 제가 잘못 이해 했습니까?
  • @AlexanderGalkin 댓글 작성시 그라디언트 부스팅을 염두에 두었습니다. ‘ 투표처럼 보이지는 않지만 반복 함수 근사 기법으로 보입니다. 그러나 예 : AdaBoost는 투표와 비슷해 보이므로 ‘ 이에 대해 논쟁하지 않았습니다.
  • 첫 번째 문장에서 Boosting은 편견을 감소 시킨다고 말했지만 비교 테이블에서는 그것은 예측력을 증가시킵니다.둘 다 사실입니까?

답변

배깅 :

  1. 병렬 앙상블 : 각 모델은 독립적으로 구축됩니다.

  2. 분산 감소를 목표로합니다.

  3. 고 분산 저 편향 모델 (복잡한 모델)에 적합

  4. 예 트리 기반 방법은 무작위 포리스트 로 완전히 성장한 트리를 개발합니다 (RF는 성장 절차를 수정하여 상관 관계를 줄입니다. 나무 사이)

부스팅 :

  1. 순차 앙상블 : 잘 작동하는 새 모델을 추가하세요. 이전 모델 부족

  2. 감소 b를 목표로 ias , 분산 아님

  3. 저 분산 고 편향 모델에 적합

  4. 트리 기반 방법의 예는 그라디언트 부스팅

입니다. 의견

  • 각 요점에 대해 이유 에 대한 답변을 제시하고 어떻게 달성하는 것이 좋을까요? 답변이 개선되었습니다.
  • 부스트가 분산을 줄이고 어떻게 수행하는지 설명하는 문서 / 링크를 공유 할 수 있습니까? 좀 더 깊이 이해하고 싶습니다.
  • Tim에게 감사합니다. ‘ 나중에 몇 가지 의견을 추가하겠습니다. @ML_Pro, 부스팅 절차 (예 : cs.cornell.edu/courses/cs578/2005fa/ …의 23 페이지) ), 부스팅이 편견을 줄일 수 있다는 것은 ‘ 이해할 수 있습니다.

답변

Yuqian의 답변에 대해 조금 더 자세히 설명하겠습니다. 배깅의 기본 개념은 비모수 회귀 방법 (일반적으로 회귀 또는 분류 트리이지만 거의 모든 비모수 방법 일 수 있음)으로 오 버핏 할 때 편향 / 분산 절충의 편향이없는 (또는 낮은) 편향 부분으로 이동하는 경향이 있습니다. 이는 과적 합 모델이 매우 유연하기 때문입니다 (사용 가능한 경우 동일한 모집단의 많은 재 표본에 대한 편향이 낮음). 높은 변동성 (샘플을 수집하고 과적 합하고 표본을 수집하고 과적 합하면 비모수 회귀가 데이터의 노이즈를 추적하기 때문에 결과가 달라집니다.) 우리는 무엇을 할 수 있습니까? 부트 스트랩) , 각각 과적 합하고 함께 평균합니다. 이것은 동일한 편향 (낮음)으로 이어져야하지만 적어도 이론적으로는 분산의 일부를 상쇄해야합니다.

심장에서의 기울기 부스팅은 너무 단순해서 그렇지 않은 UNDERFIT 비모수 회귀와 함께 작동합니다. 데이터의 실제 관계를 설명하기에 충분히 유연하지만 (즉, 편향 됨) 적합하지 않기 때문에 분산이 낮습니다 (새 데이터 세트를 수집하면 동일한 결과를 얻는 경향이 있음). 이것을 어떻게 수정합니까? 기본적으로 적합하지 않은 경우 모델의 RESIDUALS에는 여전히 유용한 구조 (모집단에 대한 정보)가 포함되어 있으므로 잔차를 기반으로하는 트리를 사용하여 보유한 트리 (또는 비모수 적 예측 변수)를 늘립니다. 이것은 원래 트리보다 더 유연해야합니다. 단계 k에서 k-1 단계의 잔차에 맞는 트리를 기반으로 가중치가 부여 된 트리에 의해 각각 증가 된 더 많은 트리를 반복적으로 생성합니다. 이러한 트리 중 하나가 최적이어야하므로 이러한 모든 트리에 가중치를 부여하거나 가장 적합한 것으로 보이는 트리를 선택하면됩니다. 따라서 그래디언트 부스팅은 더 유연한 후보 트리를 구축하는 방법입니다.

모든 비모수 회귀 또는 분류 접근 방식과 마찬가지로 때로는 bagging 또는 boosting이 훌륭하게 작동하며 때로는 하나 또는 다른 접근 방식이 평범하고 때로는 하나입니다. 또는 다른 접근 방식 (또는 둘 다)이 충돌하고 불타 게됩니다.

또한이 두 기술 모두 트리 이외의 회귀 접근 방식에 적용 할 수 있지만 가장 일반적으로 트리와 관련이 있습니다. 과적 합 또는 과적 합을 피하기 위해 매개 변수를 설정합니다.

설명

  • 과적 합 = 분산, 과소 적합 = 편향 인수에 대한 +1! 의사 결정 트리를 사용하는 한 가지 이유는 구조적으로 불안정하므로 약간의 조건 변경으로 인해 더 많은 이점을 얻을 수 있다는 것입니다. ( abbottanalytics.com / assets / pdf / … )

답변

답변

간단히 요약하면 배깅 부스팅 은 일반적으로 하나의 알고리즘 내에서 사용되는 반면 스태킹 은 일반적으로 서로 다른 알고리즘의 여러 결과를 요약하는 데 사용됩니다.

  • 배깅 : 부트 스트랩 기능 및 샘플의 하위 집합을 사용하여 여러 예측 및 평균 (또는 다른 방법) 결과 (예 : 분산을 제거하고 과적 합 문제가없는 Random Forest).
  • 부스팅 : 배깅 과의 차이점은 최신 모델이 이전 오류에서 발생한 오류 (예 : GBMXGBoost)에 대해 알아 봅니다. 이러한 오류는 분산을 제거하지만 과적 합 문제가 있습니다.
  • 스태킹 : 일반적으로 대회에서 여러 알고리즘을 사용하여 동일한 데이터 세트 및 평균 (max, 최소 또는 기타 조합) 예측의 정확도를 높이기위한 결과입니다.

Answer

둘 다 배깅 부스팅은 모든 단계에 대해 단일 학습 알고리즘을 사용합니다. 그러나 그들은 훈련 샘플을 처리하는 데 다른 방법을 사용합니다. 둘 다 여러 모델의 결정을 결합하는 앙상블 학습 방법입니다.
Bagging :
1. 학습 데이터를 다시 샘플링하여 M 하위 집합 (부트 스트랩)
2. M 개의 데이터 세트 (다른 샘플)를 기반으로 M 개의 분류기 (동일한 알고리즘)를 훈련시킵니다.
3. 최종 분류기는 투표를 통해 M 개의 출력을 결합합니다.
가중치를 동일하게 샘플링,
분류 자 가중치를 동일하게;
분산을 줄여 오류를 줄입니다.
부스팅 : 여기서 adaboost 알고리즘에 중점을 둡니다.
1. 첫 번째 라운드의 모든 샘플에 대해 동일한 가중치로 시작합니다.
2. 다음 M-1 라운드에서 마지막 라운드에서 잘못 분류 된 샘플의 가중치를 증가시키고 감소시킵니다. 마지막 라운드에서 올바르게 분류 된 샘플의 가중치
3. 가중치가 적용된 투표를 사용하여 최종 분류자는 이전 라운드의 여러 분류기를 결합하고 분류기에 더 큰 가중치를 부여하고 오 분류가 적습니다.
단계별 재가 중 샘플; 마지막 라운드의 결과를 기반으로 각 라운드의 가중치
리샘플링 (배깅) 대신 샘플 가중치를 다시 가중치 (부스팅)합니다.

답변

배깅

Bootstrap AGGregatING (배깅) 은 기본 분류자를 학습시키는 데 사용되는 샘플 변형 을 사용하는 앙상블 생성 방법입니다. 생성 할 각 분류기에 대해 Bagging은 크기가 N 인 학습 세트에서 N 개의 샘플을 선택 (반복 포함)하고 기본 분류기를 학습합니다. 이는 원하는 앙상블 크기에 도달 할 때까지 반복됩니다.

Bagging은 불안정한 분류기, 즉 의사 결정 트리 및 퍼셉트론과 같은 학습 세트의 변형에 민감한 분류기와 함께 사용해야합니다.

p>

Random Subspace는 샘플의 변형 대신 특징의 변형을 사용하는 흥미로운 유사한 접근 방식으로, 일반적으로 여러 차원과 희소 특징 공간이있는 데이터 세트에 표시됩니다.

부스팅

부스팅 에 의해 앙상블을 생성합니다. 어려운 샘플을 올바르게 분류 하는 분류 기준 추가 . 반복 할 때마다 부스팅은 샘플의 가중치를 업데이트하므로 앙상블에 의해 잘못 분류 된 샘플은 더 높은 가중치를 가질 수 있으므로 새 분류기를 훈련하기 위해 선택 될 가능성이 더 높아집니다.

부스팅 흥미로운 접근 방식이지만 노이즈에 매우 민감하며 약한 분류기를 사용하는 경우에만 효과적입니다. AdaBoost, BrownBoost (…) 부스팅 기술에는 여러 가지 변형이 있으며, 각각 특정 문제 (노이즈, 클래스 불균형 등)를 피하기 위해 자체 가중치 업데이트 규칙이 있습니다.

스태킹

스태킹 메타 학습 접근 방식 에서 앙상블을 사용하여 “특징 추출” 앙상블의 또 다른 층. 다음 이미지 ( Kaggle Ensembling Guide 에서)는 이것이 어떻게 작동하는지 보여줍니다.

여기에 이미지 설명 입력

첫 번째 (하단) 여러 다른 분류 기가 훈련 세트로 훈련되고 그 결과 (확률)는 다음과 같습니다. 다음 계층 (중간 계층)을 훈련하는 데 사용됩니다. 마지막으로 두 번째 계층에있는 분류기의 출력 (확률)이 평균 (AVG)을 사용하여 결합됩니다.

사용하는 여러 전략이 있습니다. 누적 과적 합을 피하기위한 교차 검증, 혼합 및 기타 접근법. 그러나 몇 가지 일반적인 규칙은 작은 데이터 세트에서 이러한 접근 방식을 피하고 다양한 분류기를 사용하여 서로 “보완”할 수 있도록하는 것입니다.

스태킹은 Kaggle 및 Top과 같은 여러 머신 러닝 대회에서 사용되었습니다. 코더. 머신 러닝에서 꼭 알아야 할 사항입니다.

답변

배깅 및 부스팅은 많은 동종 모델을 사용하는 경향이 있습니다.

p>

스태킹은 이기종 모델 유형의 결과를 결합합니다.

단일 모델 유형이 전체 분포에 가장 적합한 경향이 없기 때문에 이것이 예측력을 증가시킬 수있는 이유를 알 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다