이 모델 접근 방식에 과적 합이 있습니까?


11

나는 최근에 내가 따르는 과정 (MS 논문의 구성 요소)이 과적 합으로 보일 수 있다고 들었다. 나는 이것을 더 잘 이해하고 다른 사람들이 동의하는지 확인하려고합니다.

이 부분의 목적

  • 데이터 세트에서 그라디언트 부스트 회귀 트리의 성능을 랜덤 포레스트와 비교하십시오.

  • 선택한 최종 모델 (GBM 또는 RF)의 성능을 확인하십시오.

R 의 gbmrandomForest패키지가 함께 사용
caret됩니다.

그 과정 은 다음과 같습니다.

  • 데이터의 예비 전처리 (예 : "Missing"이라는 별개의 범주로 명목 예측 변수의 결 측값을 플러깅) 대상 변수는 사전 처리와 관련하여 보지 않았습니다 (매우 최소화 됨).
  • 각 알고리즘의 메타 매개 변수에 대한 값의 그리드를 작성하십시오 (예 : GBM의 반복 횟수).
  • 25 개의 무작위 데이터 세트를 생성합니다 (65 % 훈련 및 35 % 테스트).

GBM에 대해 다음을 25 번 반복 하십시오 (임의의 열차 / 테스트 분할 중 하나를 사용하는 각 시간. 교육 및 테스트 세트가 코스 변경의 "현재"인 경우마다-그룹 간 교차 검증이 반복됨).

  • 5 중 교차 검증을 사용하여 그리드 검색에서 알고리즘의 "최적"매개 변수 설정을 찾으십시오. 현재 실행에서 이전 실행의 아무것도 사용되지 않았습니다.
  • 일단 결정되면 모델을 전체 "현재"교육 세트에 맞추고 "현재"테스트 세트를 예측하십시오. 이 실행의 성능 측정을 따로 설정하십시오.

이 방식으로 25 개의 성능 측정치 (실제로 도메인 별 측정 값이지만 정확도로 생각 함)를 얻은 후에는 RF (동일한 프로세스, 다른 프로세스와 동일한)의 동일한 열차 및 테스트 샘플을 사용하여 동일한 프로세스를 따르십시오. 물론 그리드 검색).

이제 GBM 및 RF에 대한 당시 "현재"테스트 세트에서 25 개의 성능 측정 값이 있습니다. 나는 Wilcoxon Signed Rank Test와 순열 테스트를 사용하여 그것들을 비교합니다. GBM이 우수하다는 것을 알았습니다. 또한 GBM에 대한 이러한 25 회 실행의 성능 측정 값 분포는 최종 GBM 분류기의 예상 성능이라고 주장했습니다.

내가하지 않은 것은 처음부터 무작위 테스트 세트를 꺼내어 모든 교육 데이터에서 작성된 최종 GBM 모델과 비교하도록 따로 설정하는 것이 었습니다. 나는 분할 데이터 / 튜닝 모델 / 테스트를 홀드 아웃 프로세스에서 25 번 반복하여 한 번만 반복했을 때 실제로 한 것이 훨씬 낫다고 주장했다.

여기에 과적 합이 있습니까? GBM 대 RF를 선택하는 데 25 회 실행이 사용되었으므로 프로세스에서 얻은 성능 측정 값을 전체 모델의 성능 평가로 사용할 수 없습니까?

편집 Wayne의 의견에 따라 25 번의 각 달리기 동안 수행 된 작업은 다음과 같습니다.

  1. i 번째 훈련 세트 (i = 1, .., 25)에 대해 샘플링 된 데이터를 5 개의 동일한 크기 그룹으로 나누었다. GBM 매개 변수 (예 : 반복 횟수)를 j 번째 (j = 1, .., 18) 그리드의 값과 동일하게 설정하여 5 개 그룹 중 4 개를 사용하여 모형을 적합했습니다.
  2. 5 번째 그룹의 성능은이 모델을 사용하여 계산되었습니다.
  3. 단계 1 및 2를 4 회 더 반복 하였다 (k = 5 인 정규 구형 k- 폴드 CV). 성능은 5 번의 하위 실행에서 평균화되었으며 이는 특정 매개 변수 값 세트로 GBM의 예상 성능을 구성했습니다.
  4. 그리드에서 17 개의 다른 "행"에 대해 1-3 단계를 반복했습니다.

완료되면, 위 실습에서 최상의 파라미터 값을 결정하고 GBM을이 파라미터 값과 전체 i 번째 트레이닝 세트를 사용하여 맞추 었습니다. 성능은 i 번째 테스트 세트에서 추정되었습니다.

이 전체 프로세스가 25 회 완료되면 GBM에 대해 25 개의 성능 측정 값이 제공되었습니다. 그런 다음 동일한 방식으로 RF를 위해 수집되었습니다.

GBM을 비교하고 선택한 후,이 25 가지 성능 측정 방법을 살펴보고이 데이터에 대한 GBM 모델의 신뢰 구간을 결정하기 위해 평균 및 Stnd Error를 측정했습니다.


"다음 반복 25 번 반복"섹션의 첫 번째 글 머리에서 자세한 내용을보고 싶습니다. 어떤 데이터가 5 중으로 표시되고 각 메타 매개 변수 세트에 데이터가 어떻게 사용됩니까?
Wayne

@ 웨인, 내 편집 내용을 참조하십시오.
B_Miner

답변:


5

GBM 대 RF를 선택하는 대신 100 개의 다른 GBM 분류기 중 하나를 선택했다고 가정 해보십시오 (GBM 교육에서 임의의 종류를 사용하고 임의의 시드를 1에서 100으로 지정한다고 가정). 그런 다음 100GBM 중 하나를 최고의 GBM으로 선택합니다. 그러나 선택한 100 개의 모델 중 하나가 99 개의 형제를 능가하여 운이 좋았으므로 성능 추정이 낙관적 일 것입니다.

두 명의 학습자 만 사용했으며 동일한 알고리즘으로 학습하지 않았으므로 단일 GBM에 대한 선택 압력이 많지 않았을 것입니다 (특히 RF를 크게 능가하는 경우). 약간 낙관적입니다.


GBM이 최종 모델로 선택되면 (처음에 단일 테스트 세트를 뽑은 척하는 경우) 모든 교육 데이터를 가져와 GBM에 맞추십시오 (CV를 사용하여 알고리즘의 매개 변수 선택) 그런 다음이 테스트 세트를 채점합니다. 한 테스트 세트의 오류 측정이 25 개의 재 샘플에서 얻은 것보다 낫다고 생각하십니까? 이것은 내가 고투하는 부분입니다. 모델 선택에 동일한 데이터 를 사용할 수 없습니까 (RF를 통한 GBM 또는 GBM 대 100 개의 다른 선택) 그리고 그로 인한 오류 측정을 사용합니까?
B_Miner

물론 훈련 데이터를 사용하여 성과를 평가하지 않는다는 아이디어를 얻었지만,이 사례는 다르고 타당 해 보였습니다 ....
B_Miner

@B_Miner 아주 작은 위반이라고 생각하지만 논문위원회에는 없습니다 : P
rrenaud

위반이 존재하기 때문에 "모델 선택에 동일한 데이터를 사용 (GBM over RF 또는 GBM vs 100 다른 선택)하고 그 결과로 발생한 오차 측정을 사용하는 것"으로 간주합니까?
B_Miner

3

각각 합법적 인 두 가지 기술을 혼합하려고 시도한 것처럼 들리지만, 수행 한 방식은 사례간에 데이터가 유출되는 것처럼 느껴집니다.

낮은 수준에서는 CV를 올바르게 사용하는 것 같습니다. 따라서 최상위 레벨도 CV 여야하며 중첩 된 CV가 발생하지만 최상위 레벨은 CV가 아닙니다.

최상위 레벨에서는 부트 스트랩 유효성 검사를 원했던 것처럼 들립니다.이 경우 이중 부트 스트랩은 최상위 및 하위 레벨에서 작동하지만 최상위 레벨은 적절한 부트 스트랩이 아닙니다.

이 스택 교환 기사 를 볼 수 있습니다 . 그리고 그 기사와 연결되고 아마도 최상위 레벨을 CV로 재구성 할 수도 있습니다. 또한 Frank Harrell 외에 그 누구도 그 스레드에 글을 올리지 않고 CV에 보트로드가 반복 될 것을 제안합니다. (한 번의 반복으로해야한다고 생각하면서 충격을 받았습니다.)


반복 휴가 그룹의 25 번 반복 된 최상위 레벨이란 무엇입니까?
B_Miner

하렐 박사의 의견을 읽었습니다. 나는 그 조언 중 일부와 데이터 마이닝 (큰 데이터) 사이에 단절이 있다고 생각합니다. 내가 완료 한 25 회 반복에는 4 일이 걸렸으며 부정적인 사례를 거의 샘플링하지 못했습니다.
B_Miner
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.