K-fold vs. Monte Carlo 교차 검증


29

감독되는 다변량 분석 기법에 주로 적용하려는 다양한 교차 검증 방법을 배우려고합니다. 제가 접한 두 가지는 K-fold와 Monte Carlo 교차 검증 기술입니다. 나는 K-fold가 Monte Carlo의 변형이라는 것을 읽었지만 Monte Carlo의 정의를 구성하는 것이 무엇인지 완전히 이해하지 못했습니다. 누군가이 두 가지 방법의 차이점을 설명해 주시겠습니까?



그렇다면 Monte Carlo는 훈련 및 테스트 세트의 임의 크기이고 k- 폴드는 정의 된 세트 크기라고 말할 수 있습니까? 위의 페이지를 보았지만 그 차이점이 무엇인지 파악하지 못했습니다.
Liam

다른 유형의 교차 유효성 검사 및 부트 아웃 스트랩 유효성 검사에 익숙하지만 아직 Monte Carlo 교차 유효성 검사라는 용어를 사용하지 않았습니다 (다른 이름으로 알고있을 수도 있음). Monte Carlo 교차 검증의 작동 방식에 대한 설명을 링크하거나 인용 할 수 있습니까?
cbeleites는 Monica

Monte Carlo의 가장 간단하고 공개 된 액세스 설명은 Wiki에 있습니다. k-fold와 Monte Carlo 방법의 차이점을 보지 못하는 것 같습니다.
Liam

답변:


36

k 폴드 크로스 검증

100 개의 데이터 포인트가 있다고 가정하십시오. 들면 교차 검증 -fold로 분할되어이 100 포인트 k는 크기 및 상호 배타적 "주름"과 동일. 의 경우 K = 10, 당신은 점 1-10 # 2를 접어 # 1, 11 ~ 20 배에 할당 할 수있는 등, # 10을 접어 할당 점 91-100으로 마무리. 다음으로 테스트 세트로 사용할 폴드를 하나 선택하고 나머지 k - 1 폴드를 사용하여 훈련 데이터를 구성합니다. 첫 번째 실행의 경우 테스트 세트로 1-10을, 훈련 세트로 11-100을 사용할 수 있습니다. 다음 실행에서는 11-20 점을 테스트 세트로 사용하고 각 접힘이 테스트 세트로 한 번 사용될 때까지 1-10 플러스 21-100 등을 학습합니다.kkkk1

몬테카를로 크로스 검증

몬테 카를로는 약간 다르게 작동합니다. 훈련 세트를 구성하기 위해 데이터의 일부를 무작위로 선택하고 (교체하지 않고) 나머지 세트를 테스트 세트에 할당합니다. 그런 다음이 프로세스를 여러 번 반복하여 매번 새로운 학습 및 테스트 파티션을 (임의로) 생성합니다. 예를 들어, 10 %의 데이터를 테스트 데이터로 사용하기로 선택했다고 가정하십시오. 그런 다음 담당자 # 1의 테스트 세트는 64, 90 , 63, 42 , 65, 49, 10, 64, 96 및 48이 될 수 있습니다. 다음 실행시 테스트 세트는 90 , 60, 23, 67, 16, 78, 이것은 Monte Carlo와 교차 검증의 주요 차이점 입니다. 42 격벽 각 실행에 대해 독립적으로 수행되어, 17, 73, 26 및 이후 테스트가 여러 번 세트의 동일한 점은 게재

비교

각 방법에는 고유 한 장단점이 있습니다. 교차 검증에서 각 포인트는 정확히 한 번만 테스트됩니다. 그러나 교차 유효성 검사는 데이터가 분할 될 수있는 몇 가지 가능한 방법 만 탐색합니다. 가 - 몬테 카를로 당신이 그들 모두를 얻을 가능성이있어지만, 다소 가능한 파티션을 탐색 할 수 있습니다 50/50 가능한 방법은 100 데이터 포인트 세트 (분할!).(10050)1028

추론을 시도하는 경우 (즉, 두 알고리즘을 통계적으로 비교) 폴드 교차 검증 실행 의 결과를 평균화 하면 알고리즘 성능에 대한 (거의) 편견없는 추정치를 얻을 수 있지만 편차는 높습니다 5 개 또는 10 개의 데이터 포인트 만 가질 것으로 예상). Monte Carlo 교차 검증은 원칙적으로 원하는만큼 여유가있는 한 실행할 수 있기 때문에 변수가 적지 만 편향된 추정치를 제공 할 수 있습니다.케이

5x2 교차 검증 ( 그 이후 아이디어가 개선 되었음에도 불구하고 아이디어에 대해서는 Dietterich (1998) 참조 )이나 편향을 수정하여 (예 : Nadeau and Bengio, 2003 ) 일부 접근법은 두 가지를 융합합니다. .


2
누군가가 제안 된 수정 대기열을 통해 Monte Carlo의 교체 유무를 묻습니다. 각 Monte Carlo 런에 대해 훈련 및 테스트 세트가 교체없이 그려집니다 (즉, 각 포인트는 기차 또는 테스트 세트에 정확히 한 번 할당 됨). 그러나 실행은 독립적으로 수행되므로 주어진 예제가 동일한 세트에 여러 번 나타날 수 있습니다. 이것이 몬테카를로와 k- 폴드 교차 검증의 주요 차이점입니다!
Matt Krause

13

이제 가정하자 데이터 세트의 크기, k는 의 수입니다 K -fold 부분 집합은, N t는 훈련 집합의 크기이며, n은 V는 검증 세트의 크기입니다. 따라서, N = K × N VNkkntnvN=k×nv 교차 검증 -fold 및 N = N t + N V 몬테카를로 교차 검증.kN=nt+nv

kkFCV ( k -foldcross-validation)는 데이터 포인트를동일한 크기의 k 개의 상호 배타적 인 서브 세트로나눕니다. 그런 다음 k 서브 세트중 하나를유효성 검증 세트로 남기고 나머지 서브 세트를 학습합니다. 이 과정은 k 번반복되며 매번 k 개의 부분 집합중 하나는 제외됩니다. k 의 크기는 N 에서 2 까지의 범위 일 수 있습니다 ( k = N 은 일대일 교차 검증이라고 함). [2]의 저자는 k = 5 또는 10 설정을 제안합니다.NkkkkkN2k=Nk=510

Nntnvntntnv(Nnt)N2고유의 훈련 설정합니다. 문헌에는 큰 N에 대한 연구가 부족하다는 점에 유의해야합니다. (Nnt)

kntkntknt


v

[2] Hastie, T., Tibshirani, R. 및 Friedman, J. (2011). 통계 학습의 요소 : 데이터 마이닝, 추론 및 예측 두 번째 에디션. 뉴욕 : 스프링거.

[3] Zhang, P. (1993). 멀티 폴드 교차 검증을 통한 모델 선택. 앤 통계 21 299–313


7

다른 두 가지 대답은 훌륭합니다. 두 개의 그림과 하나의 동의어 만 추가하겠습니다.


K- 폴드 교차 검증 (kFCV) :

enter image description here

몬테카를로 교차 검증 (MCCV) = 반복 랜덤 서브 샘플링 검증 (RRSSV) :

enter image description here


참고 문헌 :

그림은 (1) ( 64 및 65 페이지 )에서 왔으며 동의어는 (1) 및 (2)에 언급되어 있습니다.

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