부트 스트랩과 교차 유효성 검사의 차이점은 무엇입니까?


21

기계 학습 모델의 강력한 평가를 위해 K- 폴드 교차 검증을 적용했습니다. 그러나 나는이 목적을 위해 부트 스트랩 방법이 있다는 것을 알고 있습니다. 그러나 성능 평가 측면에서 이들의 주요 차이점을 볼 수는 없습니다.

내가 아는 한 부트 스트랩은 특정 수의 임의의 훈련 + 테스트 하위 세트를 생성하지만 (다른 방법으로도) CV 보다이 방법을 사용하는 이점은 무엇입니까? 부트 스트랩의 경우 실제로 임의의 수의 이러한 하위 집합을 인위적으로 생성 할 수 있지만 CV의 경우 인스턴스 수는 일종의 제한입니다. 그러나이 측면은 약간의 성가신 것으로 보입니다.

답변:


17

교차 유효성 검사와 부트 스트랩은 모두 리샘플링 방법입니다.

  • 부트 스트랩은 교체와 함께 재 샘플링되며 일반적으로 원래 데이터 세트와 동일한 수의 케이스로 새로운 "대리"데이터 세트를 생성합니다. 교체 된 도면으로 인해 부트 스트랩 된 데이터 세트는 동일한 원래 사례의 여러 인스턴스를 포함 할 수 있으며 다른 원래 사례를 완전히 생략 할 수 있습니다.
  • knx=nkk=n

  • 교차 검증 이라는 이름에서 알 수 있듯이 주요 목적은 모델의 성능 (일반화)을 측정하는 것입니다. 반대로 부트 스트래핑은 주로 광범위한 통계 범위에 대한 경험적 분포 함수를 설정하는 데 사용됩니다 (예 : 평균 앙상블에서 bagged 앙상블 모델의 변형에 이르기까지).

  • 부트 스트랩 절차의 일대일 유사 아날로그를 jackknifing 이라고 하며 실제로 부트 스트랩보다 오래되었습니다.

  • 일반화 오류의 유효성 검사 추정값을 교차하는 부트 스트랩 아날로그 는 부트 스트랩 재 샘플링 훈련 세트에서 제외 된 부트 스트랩 추정치 라고 합니다 .

[cross validaton vs. out-of-bootstrap validation] 그러나 성능 평가 측면에서 이들 간의 주요 차이점을 볼 수는 없습니다.

k

Oob 바이어스 (.632-bootstrap, .632 + -bootstrap)를 줄이기위한 여러 가지 시도가 있지만 실제로 상황을 개선할지 여부는 상황에 따라 다릅니다.

문학:


부트 스트랩의 경우 실제로 임의의 수의 이러한 하위 집합을 인위적으로 생성 할 수 있지만 CV의 경우 인스턴스 수는 일종의 제한입니다.

nk

  • 대체가없는 CV 조합 (k <n의 경우 일반적으로 평가 되는 가능성 보다 훨씬 큼 ) vs. k(nk)k
  • 부트 스트랩 / oob 대체 조합 (일반적으로 평가되는 100 또는 1000 대리 모델보다 훨씬 더 큼)(2n1n)

3

부트 스트랩은 대체를 통한 랜덤 샘플링에 의존하는 테스트 또는 메트릭으로, 예측 모델 성능의 검증, 앙상블 방법, 바이어스 추정 및 모델 매개 변수의 변동 등과 같은 여러 상황에서 도움이되는 방법입니다. 선택하지 않은 데이터 포인트가 테스트 데이터 세트라고 가정하고 원래 데이터 세트에서 교체하여 샘플링을 수행합니다. 이 절차를 여러 번 반복하고 모델 성능의 추정값으로 평균 점수를 계산할 수 있습니다. 또한 부트 스트랩은 앙상블 교육 방법과 관련이 있습니다. 각 부트 스트랩 데이터 세트를 사용하여 모델을 구축하고 대다수 투표 (분류) 또는 평균 (수치 예측)을 사용하여 이러한 모델을 앙상블에 "가방"할 수 있기 때문입니다. 이 모델은 최종 결과입니다.

교차 검증은 모델의 성능을 검증하는 절차이며 훈련 데이터를 k 개의 부분으로 분할하여 수행됩니다. k-1 부품은 훈련 세트이고 다른 부품은 테스트 세트라고 가정합니다. 매번 데이터의 다른 부분을 다르게 유지하면서 k 번을 반복 할 수 있습니다. 마지막으로 k 점수의 평균을 성능 추정치로 사용합니다. 교차 검증은 편향 또는 분산으로 인해 어려움을 겪을 수 있습니다. 스플릿 수를 늘리면 분산도 증가하고 바이어스는 감소합니다. 반면에 분할 수를 줄이면 편차가 증가하고 분산이 감소합니다.

요약하면, 교차 유효성 검사는 사용 가능한 데이터 세트를 분할하여 여러 데이터 세트를 작성하며, 부트 스트랩 방법은 원래 데이터 세트를 사용하여 교체로 리샘플링 한 후 여러 데이터 세트를 작성합니다. 부트 스트랩은 모델 검증에 사용될 때 교차 검증만큼 강력하지 않습니다. 부트 스트랩은 앙상블 모델을 작성하거나 매개 변수를 추정하는 것에 관한 것입니다.


2

교차 검증은 모델이 학습되지 않은 데이터를 얼마나 잘 일반화하는지 확인하는 기술입니다. 알고리즘 결과에는 영향을 미치지 않으며 결과 만 평가 합니다.

부트 스트랩은 평균 출력 을 생성하기 위해 의사 결정 트리와 같은 여러 모델의 출력을 집계 하는 Ensemble 방법 입니다 . 기술적으로 말하면 단일 모델을 기반으로 한 분류 알고리즘의 분산을 줄입니다. 동일한 모델 구조의 여러 변형 (출력이 다른 매개 변수)의 출력에 대한 출력을 평균화하기 때문입니다. 따라서 분류 알고리즘 의 성능변경 되므로 평가하지 않습니다 .

, 교차 유효성 검사는 알고리즘의 일반화 수준을 평가하는 반면 부트 스트랩은 실제로 알고리즘의 일반화에 도움이됩니다.

실제로 부트 스트랩 된 모델에서 교차 유효성 검사를 사용하여 일반화 수준을 확인할 수 있습니다.


3
그 가방은 제대로 부트 스트랩되지 않습니까?
elemolotiv 2019 년

0
  • 교차 검증 : 테스트 오류의 추정치를 제공합니다.
  • 부트 스트랩 : 추정치의 표준 오차를 제공합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.