훈련 단계와 평가 단계 사이에 왜 비대칭 성이 있습니까?


27

기계 학습은 훈련 단계와 평가 단계의 두 단계로 진행되어야하며 서로 다른 데이터를 사용해야한다는 것이 특히 자연 언어 처리에서 잘 알려져 있습니다. 왜 이런거야? 직관적 으로이 프로세스는 데이터의 과적 합을 피하는 데 도움이되지만 이것이 사실 인 (정보 이론적) 이유는 알 수 없습니다.

관련하여, 나는 훈련에 사용되는 데이터 세트의 양과 2/3 및 1/3과 같은 평가에 얼마나 많은 데이터 세트가 사용되는지에 대해 몇 가지 숫자를 보았습니다. 특정 분포를 선택하기위한 이론적 근거가 있습니까?

답변:


15

가장 유력한 답변이 실제로 질문에 답하지 못한다는 것이 재밌습니다. 그래서 나는 약간 더 많은 이론으로 이것을 뒷받침하는 것이 좋을 것이라고 생각했습니다. 주로 "데이터 마이닝 : 실용 기계 학습 도구 및 기술"Tom Mitchell의 "기계 학습" .


소개.

따라서 분류 자와 제한된 데이터 세트가 있으며 특정 양의 데이터가 학습 세트에 들어가고 나머지는 테스트에 사용됩니다 (필요한 경우 유효성 검증에 사용되는 세 번째 서브 세트).

우리가 직면 한 딜레마는 이것입니다. 좋은 분류를 찾으려면 "훈련 부분 집합"은 가능한 한 커야하지만, 좋은 오류 추정치를 얻으려면 "테스트 부분 집합"은 가능한 한 커야합니다. 그러나 두 부분 집합은 같은 수영장.

훈련 세트가 테스트 세트보다 커야한다는 것이 명백합니다. 즉, 스플릿은 1 : 1이 아니어야합니다 (주된 목표는 훈련 하지 않고 테스트 하지 않아야 함 ). 그러나 스플릿이 어디에 있어야하는지 명확하지 않습니다.

홀드 아웃 절차.

"슈퍼 셋"을 서브 세트로 나누는 절차를 홀드 아웃 방법 이라고 합니다. 쉽게 운이 나지 않을 수 있으며 특정 클래스의 예가 하위 집합 중 하나에서 누락되거나 과장 될 수 있습니다.

  • 랜덤 샘플링 (random sampling) : 각 클래스가 모든 데이터 서브 세트에 올바르게 표시되도록 보장합니다. 절차를 계층화 홀드 아웃 이라고합니다
  • 반복 된 계층화 된 홀드 아웃 이라고하는 반복 된 테스트 테스트 검증 프로세스를 사용한 무작위 샘플링

단일 (반복되지 않은) 홀드 아웃 절차에서는 테스트 및 교육 데이터의 역할을 교환하고 두 결과를 평균화하는 것을 고려할 수 있지만 이는 허용되지 않는 교육 및 테스트 세트간에 1 : 1 분할로만 가능합니다 ( 소개 참조). ). 그러나 이것은 아이디어를 제공하고 개선 된 방법 ( 교차 유효성 검사 가 대신 사용됨)을 제공합니다-아래를 참조하십시오!

교차 검증.

교차 유효성 검사에서는 수정 된 접기 수 (데이터의 분할)를 결정합니다. 3 개의 폴드를 사용하면 데이터가 3 개의 동일한 파티션으로 분할되고

  • 우리는 훈련에 2/3를 사용하고 시험에 1/3을 사용합니다
  • 결국 모든 인스턴스가 테스트에 정확히 한 번 사용되도록 절차를 세 번 반복하십시오.

이것을 삼중 교차 검증 이라고하며, 계층화 도 채택되는 경우 (종종 사실) 계층화 삼중 교차 검증 이라고 합니다 .

그러나 표준 방법은 2/3 : 1/3 분할 이 아닙니다 . "데이터 마이닝 : 실제 머신 러닝 도구 및 기법" 인용 ,

표준 방법 [...]은 계층화 된 10 배 교차 검증을 사용하는 것입니다. 데이터는 무작위로 10 개의 부분으로 나뉘며, 여기서 클래스는 전체 데이터 세트에서와 거의 동일한 비율로 표시됩니다. 각 부분은 차례대로 진행되며 학습 계획은 나머지 9 분의 1에 대해 훈련됩니다. 그 오류율은 홀드 아웃 세트에서 계산됩니다. 따라서 학습 절차는 서로 다른 훈련 세트에서 총 10 회 실행됩니다 (각각 공통점이 많음). 마지막으로 10 개의 오차 추정치가 평균화되어 전체 오차 추정치가 산출됩니다.

왜 10? 때문에 "다른 학습 기술과 수많은 데이터 세트에 ..Extensive 테스트, 10 오류에 대한 최선의 추정치를 얻을 수있는 주름의 오른쪽 숫자에 대해, 그리고 이론적 증거도 있다는 것을 보여 주었다 그 뒤이 최대 .." 나는 천국 그들이 의미하는 광범위한 테스트와 이론적 증거를 찾지 못했지만 이것은 원한다면 더 많은 것을 파기위한 좋은 시작처럼 보입니다.

그들은 기본적으로 그냥 말합니다

이러한 주장이 결코 결정적인 것은 아니며 머신 러닝 및 데이터 마이닝 분야에서 평가를위한 최상의 체계에 대한 논쟁이 계속되고 있지만 10 배 교차 검증은 실질적인 측면에서 표준 방법이되었습니다. [...] 게다가, 정확한 숫자 10에 대해서는 마법이 없습니다 : 5 배 또는 20 배 교차 검증은 거의 좋을 것 같습니다.

부트 스트랩, 그리고 마침내! -원래 질문에 대한 답변.

그러나 우리는 왜 2/3 : 1/3가 종종 권장되는지에 대한 대답에 아직 도달하지 못했습니다. 필자는 부트 스트랩 메소드 에서 상속받은 것 입니다.

교체를 통한 샘플링을 기반으로합니다. 이전에는 "그랜드 세트"의 샘플을 서브 세트 중 정확히 하나에 넣었습니다. 부트 스트랩은 다르며 샘플은 교육 및 테스트 세트 모두에 쉽게 나타날 수 있습니다.

우리는 데이터 집합 걸릴 하나 개의 특정 시나리오로 살펴 보자 D1을n 개의 인스턴스과 샘플 N 교체와 시간은 다른 데이터 세트 얻을 D2n 개의 인스턴스를.

이제 좁게 봐

D2의 일부 요소 는 (거의 확실하게) 반복 되기 때문에 원래 데이터 세트에 선택되지 않은 일부 인스턴스가 있어야합니다.이를 테스트 인스턴스로 사용합니다.

특정 인스턴스가 D2에 대해 선택되지 않았을 가능성은 무엇입니까 ? 각 테이크에서 픽업 될 확률은 1 / n 이므로 반대는 ( 1-1 / n) 입니다.

이 확률을 곱하면 ( 1-1 / n) ^ ne ^ -1 이며 약 0.3입니다. 이는 테스트 세트가 약 1/3이고 훈련 세트가 약 2/3임을 의미합니다.

이것이 1/3 : 2/3 분할을 사용하는 것이 권장되는 이유 라고 생각 합니다.이 비율은 부트 스트랩 핑 추정 방법에서 가져옵니다.

그것을 마무리.

나는 그들이 일반적으로 10 배 교차 검증을 선호하는 데이터 마이닝 북 (나는 증명할 수는 없지만 정확하다고 가정)의 인용으로 마무리하고 싶다.

부트 스트랩 절차는 매우 작은 데이터 세트에 대한 오류를 추정하는 가장 좋은 방법 일 수 있습니다. 그러나 일대일 교차 검증과 마찬가지로, 특수한 인공 상황을 고려하여 설명 할 수있는 단점이 있습니다. 실제 오류율은 모든 예측 규칙에 대해 50 %입니다. 그러나 훈련 세트를 암기 한 체계는 100 %의 완벽한 대체 대체 점수를 제공하여 etraining 인스턴스가 0이되고 0.632 부트 스트랩이이를 0.368의 가중치와 혼합합니다. 전체 오류율은 31.6 % (0.632 ¥ 50 % + 0.368 ¥ 0 %)로 오해의 소지가 있습니다.


13

유한 한 m 레코드 세트를 고려하십시오. 모든 레코드를 훈련 세트로 사용하면 다음 다항식으로 모든 점을 완벽하게 맞출 수 있습니다.

y = a0 + a1 * X + a2 * X ^ 2 + ... + an * X ^ m

이제 훈련 세트에 사용되지 않은 새로운 레코드가 있고 입력 벡터 X의 값이 훈련 세트에 사용 된 벡터 X와 다른 경우 예측 y의 정확도에 대해 무엇을 알 수 있습니까?

1 또는 2 차원 입력 벡터 X가있는 예제를 살펴보고 (과적 합 다항식을 시각화하기 위해) X 값이 단지 어떤 쌍 (X, y)에 대한 예측 오차가 얼마나 큰지 확인하십시오 훈련 세트의 값과 약간 다릅니다.

이 설명이 충분히 이론적인지 모르겠지만 희망이 도움이 될 것입니다. 회귀 모델에 대한 문제를 다른 사람들보다 직관적으로 이해할 수 있다고 생각하면서 회귀 모델에 대해 설명하려고했습니다 (SVM, 신경망 ...).

모델을 구축 할 때는 데이터를 최소한 훈련 세트와 테스트 세트로 분할해야합니다 (일부는 데이터를 훈련, 평가 및 교차 검증 세트로 분할). 일반적으로 데이터의 70 %는 훈련 세트에, 30 %는 평가에 사용 된 다음 모델을 작성할 때 훈련 오류 및 테스트 오류를 ​​확인해야합니다. 두 오차가 모두 크면 모형이 너무 단순하다는 것입니다 (모델의 치우침이 높음). 반면에 훈련 오차가 매우 작지만 훈련 오차와 시험 오차 사이에 큰 차이가있는 경우 모델이 너무 복잡하다는 것을 의미합니다 (모델의 분산이 높음).

올바른 절충안을 선택하는 가장 좋은 방법은 다양한 복잡성 모델에 대한 훈련 및 테스트 오류를 ​​그린 다음 테스트 오류가 최소 인 오류를 선택하는 것입니다 (아래 그림 참조). 여기에 이미지 설명을 입력하십시오


5
이것은 왜 그렇게 대단하지 않은지에 대한 훌륭한 답변입니다. 그러나 그것은 아마도 잘못된 질문 일 것입니다. 우리가 정말로 관심을 갖는 것은 이론이 아닌 경험적으로 작동하는 것입니다.
Tamzin Blake

@Thom : 실제로 당신의 질문은 두 번째 문단이며 첫 번째 문단의 끝이 아닙니다 ( "이유를 보지 못했습니다"). 일반적인 경우에는없는 훈련 데이터.
winwaed

1
@winwaed 질문은 "왜 존재 하는가?", "왜 이런가?"및 "어떤 것이 있습니까?"입니다. 모두 물음표로 명확하게 표시됩니다. 나는이 현상에 익숙하고, 직관적이며, 실증적 인 예에 익숙하지만, 왜 그런지 잘 모르겠 으며, 정보 이론이 나에게 답이 될 것 같습니다. 위의 의견은 당신이 악용 할 수있는 규칙을 경험적으로 검증 한 후에 아마도 "왜"질문이 특별히 관련이 없다는 것을 반영한 것일뿐입니다.
Tamzin Blake

7

이것이 일반화의 문제입니다. 즉, 가설이 훈련 세트의 일부가 아닌 미래의 예를 얼마나 잘 분류 할 것인지입니다. 이 환상적인 예를 참조하십시오. 모델이 보유한 데이터에만 적합하고 새로운 데이터에는 적합하지 않은 경우에 발생한 결과 : Titius-Bode law


좋은 예-과학적 가설과 매우 유사합니다. 우리는 모델이 통계적 ML 모델인지 우주 모델인지에 대해 여전히 이야기하고 있습니다.
winwaed

1

지금까지 @andreiser는 교육 ​​/ 테스트 데이터 분할에 관한 OP 질문의 두 번째 부분에 대해 훌륭한 답변을했으며 @niko는 과적 합을 피하는 방법을 설명했지만 아무도 교육 및 평가에 다른 데이터를 사용하는 이유 는 없습니다. 과적 합을 피하는 데 도움이됩니다.


우리의 데이터는 다음과 같이 나뉩니다.

  1. 교육 사례
  2. 검증 인스턴스
  3. 테스트 (평가) 인스턴스

1,...,

유효성 검사 및 테스트 인스턴스의 다른 역할이 무엇인지 인식하는 것이 중요합니다.

  1. 교육 인스턴스-모델에 적합합니다.
  2. 검증 인스턴스-모델 선택에 사용
  3. 테스트 (평가) 인스턴스-새 데이터에서 모델의 정확도를 측정하는 데 사용

자세한 내용 은 통계 학습 요소 : 데이터 마이닝, 추론 및 예측의 222 페이지 를 참조하십시오.

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