교차 검증 절차가 모델 과적 합 문제를 극복하는 이유는 무엇입니까?
교차 검증 절차가 모델 과적 합 문제를 극복하는 이유는 무엇입니까?
답변:
나는 현재로서는 충분히 명확한 설명을 생각할 수 없으므로 다른 사람에게 맡길 것입니다. 그러나 교차 검증은 모델 선택에서 과적 합 문제를 완전히 극복하지 못하고 단지 감소시킵니다. 교차 검증 오류는 특히 데이터 집합의 크기가 작은 경우 무시할만한 분산을 갖지 않습니다. 즉, 사용하는 특정 데이터 샘플에 따라 약간 다른 값을 얻습니다. 즉, 모델 선택에서 자유도가 높은 경우 (예 : 작은 하위 집합을 선택할 수있는 많은 피쳐, 튜닝 할 많은 하이퍼 파라미터, 선택할 수있는 많은 모델) 크로스 밸리데이션 기준을 과도하게 맞출 수 있습니다. 모델이 실제로 성능을 향상시키는 방식이 아닌 무작위 변형을 활용하는 방식으로 조정되므로 성능이 떨어지는 모델로 끝날 수 있습니다. 이에 대한 논의는 다음을 참조하십시오.Cawley 및 Talbot "성능 평가에서 모델 선택 및 후속 선택 바이어스에 과적 합", JMLR, vol. 11, pp. 2079-2107, 2010
슬프게도 교차 유효성 검사는 작은 데이터 집합이있을 때 가장 쉽게 교차 유효성 검사가 필요할 때 실망시킬 가능성이 높습니다. k- 폴드 교차 검증은 분산이 적기 때문에 일회성 교차 검증보다 일반적으로 신뢰성이 높지만 일부 모델의 경우 계산 비용이 더 높을 수 있습니다 (LOOCV가 모델 선택에 사용되는 경우가 있음) 차이가 크더라도).
내 대답은 엄격한 것보다 직관적이지만 도움이 될 것입니다 ...
알다시피, 오버 피팅은 유연한 피팅 메커니즘을 사용하는 동일한 데이터를 사용한 교육 및 테스트를 기반으로 모델 선택의 결과입니다. 노이즈, 특이 치 및 모든 것을 피팅 할 수 있도록 데이터 샘플을 너무 가깝게 피팅합니다. 다른 차이.
데이터를 교육 및 테스트 세트로 분할하면이 작업을 수행 할 수 없습니다. 그러나 정적 분할은 데이터를 효율적으로 사용하지 않으므로 분할 자체가 문제가 될 수 있습니다. 교차 유효성 검사는 훈련 테스트 분할의 정확한 보상에 맞지 않는 훈련 데이터 이점을 유지하면서 가능한 한 효율적으로 보유한 데이터를 사용합니다 (예 : 모든 데이터가 사용됨) 동일한 실행이 아닌 교육 및 테스트 데이터).
융통성있는 피팅 메커니즘이있는 경우 모델 선택이 "완벽한"것이 아니라 복잡한 피팅을 선호하도록 제한해야합니다. AIC, BIC 또는 다른 복잡한 처벌 방법으로 직접 복잡성을 처벌하거나 CV로 수행 할 수 있습니다. (또는 매우 유연하지 않은 피팅 방법을 사용하여이를 수행 할 수 있습니다. 이것이 선형 모델이 좋은 이유 중 하나입니다.)
그것을 보는 또 다른 방법은 학습이 일반화에 관한 것이고 너무 꽉 맞는 것은 어떤 의미에서는 일반화되지 않는다는 것입니다. 학습 내용과 시험 내용을 다양하게 변경하면 특정 질문에 대한 답변 만 배운 것보다 더 잘 일반화 할 수 있습니다.
베이지안 관점에서, 교차 검증이 모델을 비교하기 위해 "적절한"베이지안 분석이하지 않는 것을 수행하는지 확실하지 않습니다. 그러나 나는 그것이 100 % 확실하지 않다.
이를 사전 예측 분포 라고합니다 . 기본적으로 모델이 실제로 관찰 된 데이터를 얼마나 잘 예측했는지를 말합니다. 이는 "사전"모델이 "트레이닝"모델로 대체되고 "데이터"가 "테스트"로 대체되어 교차 검증이 수행하는 것과 정확히 일치합니다. 데이터. 따라서 모형 B가 모형 A보다 데이터를 더 잘 예측 한 경우 후방 확률은 모형 A에 비해 증가합니다. 베이 즈 정리는 실제로 부분 집합이 아닌 모든 데이터를 사용하여 교차 검증을 수행하는 것 같습니다. 그러나 나는 이것을 완전히 확신하지 못합니다-우리는 아무것도 얻을 것이없는 것 같습니다.
이 방법의 또 다른 좋은 특징은 각 모델에 대한 이전 분포의 정규화 상수 비율에 의해 주어진 "옥캠 면도기"가 내장되어 있다는 것입니다.
그러나 교차 유효성 검사는 낡은 "다른 것"또는 때때로 "모델 축소"라고하는 것에 유용합니다. 나는이 "다른 것"이 중요한지 아닌지에 대해 끊임없이 찢어졌다. 왜냐하면 그것이 중요해 보일 것이기 때문이다. 그러나 그것은 명백하게 중요 할 때 전혀 해결책없이 마비된다. 당신에게 두통을 줄 수있는 무언가, 그러나 당신이 할 수있는 일은 없습니다. "다른 것"이 무엇인지 생각하고 모델에서 그것을 시도하는 것을 제외하고는 (더 이상 "다른 것"의 일부가 아닙니다) .
또한 교차 검증은 위의 적분이 엄청나게 어려울 때 실제로 베이지안 분석을 수행하는 방법입니다. 그리고 교차 검증은 거의 모든 사람에게 "이해됩니다"- "수학적"이 아니라 "기계적"입니다. 그래서 무슨 일이 일어나고 있는지 이해하기 쉽습니다. 또한 머리가 모델의 중요한 부분에 집중하여 좋은 예측을하는 것처럼 보입니다.