SW/딥러닝

26. 딥러닝 : K-FOLD CROSS-VALIDATION (K배 교차 검증) : 개념, 방법, 팁

얇은생각 2020. 3. 13. 07:30
반응형

k-fold cross-validation

 

지난 몇 가지 포스팅에서 왜 데이터를 세 부분으로 훈련, 검증, 테스트로 분할해야 하는지를 알아보았습니다. 이것은 표준 메커니즘이며 일반적으로 머신 러닝이 적절한 경우 적용할 데이터가 충분할 것입니다. 기본 관계의 일부를 잃어 버릴 수 있기 때문에 데이터를 세 개로 나눌 여유가 없거나 데이터가 너무 적어 훈련할 수 없어서 알고리즘이 아무것도 배울 수 없을 수 도 있습니다.

이 문제에 대한 또 다른 답이 있으며 이것을 n 배 교차 검증이라고합니다 . 이것은 일반적인 전략과 비슷하지만 훈련 및 유효성 검사 데이터 세트를 영리하게 결합하는 전략이지만 여전히 테스트 하위 세트가 필요합니다. 훈련 및 유효성 검사 단계를 결합하고 있지만 테스트 단계를 피할 수는 없습니다.

 

 

 

교차 검증 구조

 

11000 개의 관측치가 포함 된 데이터 세트에 테스트에 대한 1000 개의 관측치를 저장한다고 가정해 보겠습니다. 우리가 남은 것은 10000 개의 샘플입니다. 이 데이터 세트가 데이터 과학에 그리 크지 않은 경우가 많습니다. 거대한 데이터 세트는 자체적으로 큰 문제가 있기 때문에 종종 결측값이 많이 발생합니다. 이러한 데이터는 일반적으로 희소한 것으로 간주됩니다. 이는 완전히 새로운 범위의 문제를 야기합니다.

9000 개의 데이터 포인트를 훈련하고 1000을 검증하고자 하는 경우에, 나머지 데이터는 각각 1000 개의 관측 값을 포함하는 10 개의 부분 집합으로 분할할 것입니다. 하나의 부분 집합을 유효성 검사 세트로 취급하고 다른 하나는 훈련 집합으로 조합한 것으로 간주합니다. 시각적으로 10 개의 조합을 갖습니다. 오렌지 세트는 하나입니다. 파란색은 첫 번째 에포크 (epoch) 동안 트레이닝 세트이며, 첫 번째 데이터 청크는 유효성 검사로 사용되며, 두 번째 에포크에서 두 번째 데이터 청크는 유효성 검사 등으로 사용됩니다. 이러한 방식으로 각 에포크 (epoch)에 대해 훈련과 유효성 검사가 겹치지 않습니다.

 

 

 

k 배 교차 검증 찬반

 

이 방법으로 테스트 부분을 제외하고 전체 데이터 세트를 사용할 수 있습니다. 좋은 점이 있기 때문에 좋은 아이디어가 아님에도 불구하고 훈련을 진행할 수 있습니다. 과적합 플래그가 제기 될 가능성은 적습니다. 균형이 맞지 않는 모델이 있거나 모델이 약간 오버피팅된 모델과 교차 검증의 경우에는 데이터 부족 문제를 해결하지만 결코 표준으로 사용해서는 안됩니다. 데이터 부족으로 인해 많은 것을 배우지 못하는 경우에만 활용해야 합니다.

반응형