교차 검증 : K- 폴드 대 반복 무작위 서브 샘플링


10

분류 문제에 대해 어떤 모델 교차 검증 유형을 선택해야하는지 궁금합니다. K- 폴드 또는 랜덤 서브 샘플링 (부트 스트랩 샘플링)?

가장 좋은 추측은 훈련에 2/3의 데이터 세트 (~ 1000 개 항목)를 사용하고 검증에 1/3을 사용하는 것입니다.

이 경우 K-fold는 세 번의 반복 (폴드) 만 제공하므로 안정적인 평균 오류를 볼 수 없습니다.

반면에 무작위 서브 샘플링 기능은 마음에 들지 않습니다. 일부 항목은 교육 / 검증 대상으로 선택되지 않으며 일부 항목은 두 번 이상 사용됩니다.

사용 된 분류 알고리즘 : 랜덤 포레스트 및 로지스틱 회귀.


1
이전 질문은 다음과 같습니다.이 선택이 평가되는 알고리즘 (주로 동작)에 의존하지 않습니까?
Rubens

1
@Rubens, 나는 질문을 업데이트했습니다 : 나는 RF와 로지스틱 회귀에
얽매여 있습니다

답변:


7

적절한 수의 샘플이 있고 모든 데이터를 사용하려는 경우 k- 폴드 교차 검증이 좋습니다. ~ 1,500을 갖는 것은 많은 것처럼 보이지만 k- 폴드 교차 검증에 적합한 지 여부는 데이터의 차원 (속성 수 및 속성 값 수)에 따라 다릅니다. 예를 들어, 각 관측치에 100 개의 속성이 있으면 1,500 개의 관측치가 낮습니다.

k- 폴드 교차 검증에 대한 또 다른 잠재적 단점은 결과가 하나의 극단적 인 특이 치 치우침의 가능성입니다. 예를 들어 분류자를 크게 바이어스 할 수있는 극단적 인 특이 치가 하나 있다면 10 배 교차 검증에서 10 개의 파티션 중 9 개가 영향을받습니다 (임의의 포리스트의 경우에도 그 문제는 없을 것이라고 생각합니다) ).

언더 샘플링되거나 위의 상황에서 각 관측치가 k-1 배로 표시되지 않도록하려는 경우 무작위 서브 샘플링 (예 : 부트 스트랩 샘플링)이 바람직합니다.


4

데이터에 대해 알고 있기 때문에 3 배 교차 검증을 사용하고 싶다고 생각합니다 (k = 10을 사용하면 과적 합이 발생할 수 있습니까? 추론에 궁금합니다). 나는 당신이 이것을 알지 못한다면, 그렇지 않으면 단순히 더 큰 k를 사용할 수 있습니다.

여전히 표준 k- 폴드 교차 검증을 사용할 수 없다고 생각한다면 알고리즘을 약간 수정할 수 있습니다. 데이터를 30 배로 나누고 매번 훈련에 20을, 평가에 10을 사용한다고 가정하십시오. 한 번 접고 첫 번째와 마지막 9를 평가로 사용하고 나머지는 교육으로 사용하십시오. 즉, 모든 데이터를 사용할 수 있습니다.

k-fold cross-validation을 사용할 때 일반적으로 다른 무작위 배정으로 프로세스를 여러 번 실행하여 충분한 데이터가 있는지 확인합니다. 그렇지 않으면 무작위 배정에 따라 다른 성능을 보지 못할 것입니다. 그런 경우 샘플링을 제안합니다. 그 때의 트릭은 자주하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.