작은 유효성 검사 세트를 사용할 수 있습니까?


15

데이터를 테스트 세트와 검증 세트로 나누는 이유를 이해합니다. 또한 분할 규모는 상황에 따라 다르지만 일반적으로 50/50에서 90/10까지 다양합니다.

철자를 수정하고 ~ 5m 문장의 데이터 세트로 시작하기 위해 RNN을 만들었습니다. 나는 500k 문장을 깎고 나머지 ~ 4.5m 문장으로 훈련합니다. 훈련이 끝나면 검증 세트를 가져와 정확도를 계산합니다.

흥미로운 점은 유효성 검사 세트의 4 % 만 정확도가 69.4 %이며이 비율이 어느 방향 으로든 0.1 % 이상 변하지 않는다는 것입니다. 결국 나는 숫자가 69.5 %에 머물러 있기 때문에 유효성 검사를 짧게 줄였습니다.

그렇다면 아마도 1 %로 도망 갈 수있을 때 유효성 검사를 위해 10 %를 잘라내는 이유는 무엇입니까? 상관이 있나?


4
일반적인 대답은 표본 크기가 10,000보다 크면 모집단의 대표적인 부분이 될 것입니다. 표본이 올바르게 추출 된 경우 표본을 늘리면 비용이 많이 들지만 추정치가 거의 같습니다. 신뢰 구간 개념을 찾으십시오.
Alexey Burnakov

답변:


20

더 큰 검증 세트는 샘플 외부 성능에 대한보다 정확한 추정치를 제공합니다. 그러나 알다시피, 어느 시점에서 예측이 필요한만큼 정확할 수 있으며 해당 지점에 도달하는 데 필요한 검증 샘플 크기에 대해 대략적인 예측을 할 수 있습니다.

간단한 정확 / 잘못된 분류 정확도를 위해 추정의 표준 오차를 로 계산할 수 있습니다. (베르누이 변수의 표준 편차). 여기서p는 올바른 분류의 확률이고,n은 검증 세트의 크기입니다. 물론p는 모르지만 범위에 대한 아이디어가있을 수 있습니다. 예를 들어 60-80 %의 정확도를 기대하고 추정치의 표준 오차가 0.1 %보다 작길 원한다고 가정 해 봅시다. p(1p)/npnpn(유효성 검증 세트의 크기)은 얼마나 커야합니까? 를 들어P=0.6: 우리가 얻을 N> 0.6 - 0.6 (2)

p(1p)/n<0.001
np=0.6 의 경우P=0.8우리가 얻을 : N>0.8-0.82
n>0.60.620.0012=240,000
p=0.8 따라서 이것은 검증을 위해 5 백만 개의 데이터 샘플 중 5 % 미만을 사용하여 벗어날 수 있음을 알려줍니다. 더 높은 성능을 기대하거나 특히 샘플 외부 성능 추정치의 더 낮은 표준 오류에 만족하는 경우 (예 :p=0.7및 se <1 %의 경우) 2100 개의 검증 샘플 만 있으면이 비율이 감소합니다. 또는 데이터의 20 % 미만).
n>0.80.820.0012=160,000
p=0.7

이러한 계산은 또한 Tim이 그의 대답에서 한 점을 보여줍니다. 추정의 정확성은 훈련 세트에 상대적인 크기가 아니라 검증 세트의 절대 크기 (즉, 에 따라 다름)에 있습니다.n

(또한 여기에서 대표 샘플링을 가정한다고 덧붙일 수 있습니다. 데이터가 매우 이질적인 경우 유효성 검사 데이터에 기차 및 테스트 데이터와 동일한 조건이 모두 포함되어 있는지 확인하기 위해 더 큰 유효성 검사 세트를 사용해야 할 수도 있습니다. )


14
p(1p)p=1/2p(1p)=1/4p(1p)/n1/4n

11

Andrew Ng 는 Coursera.org의 딥 러닝 과정 에서이 문제에 대해 설명 합니다. 그가 언급했듯이, 데이터가 작거나 중간 정도 인 경우 8 : 2 또는 9 : 1과 같은 표준 분할은 유효하지만 오늘날 많은 머신 러닝 문제는 많은 양의 데이터를 사용합니다 (예 : 경우와 같이 수백만 건의 관측치). 이러한 시나리오에서는 2 %, 1 % 또는 더 적은 데이터를 테스트 세트로 남겨두고 트레이닝 세트에 대한 나머지 모든 데이터를 가져옵니다 (실제로 개발자 세트도 사용한다고 주장합니다). 그가 주장으로, 더 많은 데이터를 사용하면 성능에 대한 더 나은 알고리즘을, 공급이 깊은 학습에 특히 사실이다 * (그는 또한 노트이 필수 알고리즘을 학습 이외의 깊은 학습 기계의 경우하지 않는 것이).

Alex Burn이 이미 언급했듯이 실제로 테스트 세트의 크기가 아니라 문제의 대표성에 관한 것입니다. 일반적으로 더 큰 크기의 데이터를 사용하면 데이터가 더 대표적이기를 바랍니다. 그러나 반드시 그런 것은 아닙니다. 이것은 항상 절충점이며 문제 별 고려 사항을 작성해야합니다. 테스트 세트가 X 케이스보다 작거나 데이터의 Y %보다 작아서는 안된다는 규칙은 없습니다.

* 면책 조항 : 나는 여기서 Andrew Ng의 주장을 반복하고 있으며, 나는 딥 러닝 전문가라고 생각하지 않습니다.


2
"실제로 테스트 세트의 크기가 아니라 문제의 대표성에 관한 것입니다." -아마도 그림 같은 방법은 훈련 세트가 거의 완전히 고양이로 구성되어 있다면 개와 고양이를 다루는 것에 큰 훈련 세트를 사용하지 않는 것입니다.
JM은 통계가 아닙니다.

구체적으로이 주 1에서 '기차 / 개발 / 테스트 세트'강의에 있었던의 '깊은 신경망을 개선 Hyperparameter 튜닝, 규칙을 정한다 및 최적화' (. 전체 깊은 학습 전문 PT 2) 과정
icc97

2
강의에서 인용 한 내용은 다음과 같습니다. "따라서 백만 개의 예제가있는이 예제에서는 개발자에게 10,000, 테스트에 10,000이 필요한 경우 비율은이 10,000이 1 백만의 1 %와 같으므로 98 %의 기차, 1 %의 개발, 1 %의 테스트를 할 것이며, 백만 개가 넘는 예제가 있다면 99.5 %의 기차와 0.25 %의 dev, 0.25 %의 테스트로 끝나는 응용 프로그램을 보았습니다. 또는 0.4 % 개발, 0.1 % 테스트 일 수 있습니다. "
icc97

5

기사에 Asymptotic Statistical Theory of Overtraining and Cross-Validation순 이치 아마리 등으로. [1] 그들은 (초기 정지를 목적으로) 검증 세트로 남길 최적의 양의 샘플을 연구하고 최적의 분할이 라고 결론 지었다.1/2NNN=51060.00032=0.032%

[1] https://www.ncbi.nlm.nih.gov/pubmed/18255701

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