모델 선택 후 교차 검증 (오류 일반화)


21

참고 : 사례는 n >> p입니다.

통계 학습의 요소를 읽고 있으며 교차 검증을 수행하는 "올바른"방법에 대한 다양한 언급이 있습니다 (예 : 60 페이지, 245 페이지). 특히, 내 질문은 모델 검색이있을 때 k- 폴드 CV 또는 부트 스트랩을 사용하여 (별도의 테스트 세트없이) 최종 모델을 평가하는 방법입니다. 대부분의 경우 (내장 기능 선택이없는 ML 알고리즘)이있는 것 같습니다

  1. 기능 선택 단계
  2. 메타 매개 변수 선택 단계 (예 : SVM의 비용 매개 변수)

내 질문 :

  1. 전체 교육 세트에서 기능 선택을 수행하고 따로 보관하는 기능 선택 단계를 수행 할 수 있음을 확인했습니다. 그런 다음 k- 폴드 CV를 사용하여 특징 선택 알고리즘이 각 접기에서 사용되며 (매번 선택할 수있는 다른 특징을 얻음) 오류는 평균화됩니다. 그런 다음 모든 데이터 (제외 설정)를 사용하여 선택한 기능을 사용하여 최종 모드를 학습하지만 교차 검증의 오류를 향후 모델의 성능 추정값으로 사용합니다. 이 올바른지?
  2. 교차 검증을 사용하여 모델 매개 변수를 선택할 때 나중에 모델 성능을 추정하는 방법 위의 1 단계와 같은 절차는 54 페이지 ( pdf ) 또는 다른 것과 같이 필요한 CV를 사용해야 합니까?
  3. 두 단계 (기능 및 매개 변수 설정)를 수행 할 때 어떻게해야합니까? 복잡한 중첩 루프?
  4. 별도의 홀드 아웃 샘플이있는 경우 우려가 사라지고 교차 검증을 사용하여 기능 및 매개 변수를 선택할 수 있습니다 (성능 추정치가 홀드 아웃 세트에서 나올 것이므로 걱정하지 않아도 됨)?

@ user2040 (+1) 그 질문은 참으로 좋은 질문입니다! 다소 관련된 질문은 여기에서 찾을 수 있습니다 : 기능 선택 "최종"모델 기계 학습에 교차 검증을 수행 할 때 .
chl

@chi 감사합니다. 그 게시물을 보았습니다. 내가 생각하는 과정을 적어도 제대로 진행하고 있다고 생각하십니까? 독립적 인 테스트 세트를 통해 피처 선택 및 모델 튜닝 / 선택에 CV를보다 자유롭게 사용할 수 있습니다. 그렇지 않으면 중첩 된 루프가 모두 동일한 학습 데이터를 사용하여 오류 일반화를 학습, 조정 및 추정하는 데 필요합니다.
B_Miner

답변:


18

기억해야 할 중요한 점은 교차 검증이 (거의) 편견없는 성능 추정치를 제공하기 위해 모델 피팅에 관련된 모든 단계가 교차 검증 절차의 각 접힘에서 독립적으로 수행되어야한다는 것입니다. 가장 좋은 방법은 피처 선택, 메타 / 하이퍼 파라미터 설정을보고 모델 피팅의 필수 부분으로 매개 변수를 최적화하고 다른 두 단계를 수행하지 않고는이 단계 중 하나를 수행하지 않는 것입니다.

Cawley와 Talbot에 의해 입증 된 바와 같이, 그 레시피를 벗어나서 도입 될 수있는 낙관적 편향은 놀라 울 정도로 클 수 있는데, 명백한 이탈에 의해 도입 된 편향은 경쟁하는 분류기들 사이의 성능 차이보다 더 크다. 여전히 나쁜 편향 프로토콜은 하이퍼 파라미터의 튜닝에 더 민감하고 모델 선택 기준을 과도하게 맞추기 쉽기 때문에 나쁜 모델을 가장 선호합니다!

특정 질문에 대한 답변 :

기능 선택은 각 접기마다 개별적으로 수행되므로 1 단계의 절차가 유효하므로 교차 검증하는 것은 최종 모델에 맞는 전체 절차입니다. 교차 검증 추정치는 각 접힘에 대한 데이터 세트가 최종 모델에 사용 된 전체 데이터 세트보다 약간 작기 때문에 약간 비관적 인 편향을 갖습니다.

2의 경우 교차 검증이 모델 매개 변수를 선택하는 데 사용되므로 성능 추정에 사용 된 교차 검증의 각 접힘에서 독립적으로 해당 절차를 반복해야하므로 중첩 된 교차 검증이됩니다.

3의 경우 본질적으로 중첩 중첩 교차 검증을 수행해야합니다. 기본적으로 최종 모델에 맞추기 위해 수행하려는 모든 외부 교차 검증 (성능 추정에 사용)의 각 접기마다 반복해야합니다 .

4-예, 별도의 홀드 아웃 세트가있는 경우 추가 교차 검증없이 편견없는 성능 추정치를 제공합니다.


Q1에 대한 귀하의 답변을 다시하십시오. 그게 문제가 아니야? 모델링 절차를 교차 검증 할 때 모델을 교차 검증하는 경우가 종종 있습니다. 수학을 기록 할 때 f는 모델 또는 모델링 절차를 나타낼 수 있기 때문에 차이점은 철학적 일 수 있습니다. 그러나 우리가 요청할 수있는 것은, 우리가 원하는 절차를 교차 검증하거나 모델을 교차 검증하는 것입니다. 당신의 생각은 어떻습니까?
qoheleth

모델이 학습 된 데이터 샘플에 따라 모델이 다르기 때문에 모델을 교차 검증 할 수 없습니다. 모델을 다른 데이터 샘플에 맞추 자마자 다른 모델입니다. 필자가 실제로 만들고자하는 점은 전체 데이터 샘플에서 어떤 방식 으로든 모델을 조정하는 경우 (예 : 기능 선택 수행) 테스트 파티션이 조정에 사용되었으므로 교차 유효성 검사는 낙관적 인 일반화 추정치를 제공한다는 것입니다. 모델의 측면 (즉, 사용 된 기능 세트) HTH.
Dikran Marsupial

의견 섹션에서 논의를 계속해도 괜찮은지는 모르겠지만 누군가가 달리 말할 때까지는 ... CV에 대한 귀하의 요점은 최 외곽 단계에서 이루어져야한다는 것을 이해합니다. 사실, 나는 어제 동료에게 같은 조언을 주었다. 나는 우리가 종종 교차 검증하는 것을 확신하지 못한다고 지적하고 있습니다. 동시에 모델링 절차보다는 모델에 대한 평가를받는 것이 실제로 원하는 것인지 궁금합니다. 해결책은 그가 모델 오류를 추정하기 위해 프로 시저 오류를 사용하고 있다고 생각할 수 있습니다. 어쩌면 이것이 효과가 있습니다.
qoheleth

외부 테스트 세트 없이는 특정 모델의 성능을 직접 추정 할 수 없습니다. 그러나 모델을 생성하는 방법의 성능은 교차 검증 된 전체 방법 인 경우 모델 자체의 성능을위한 합리적인 대리입니다. 다시 말해서, 나는 당신의 마지막 문장의 요약에 동의합니다!
Dikran Marsupial

5

수집하는 데 수백만 달러가 소요되는 데이터 세트에 대해 광범위한 교차 검증 분석을 수행했으며 사용 가능한 외부 유효성 검사 세트가 없습니다. 이 경우, 유효성을 보장하기 위해 광범위한 중첩 교차 검증을 수행했습니다. 각 트레이닝 세트에서만 기능과 최적화 된 파라미터를 선택했습니다. 큰 데이터 세트의 경우 계산 비용이 많이 들지만 유효성을 유지하기 위해해야했습니다. 그러나 여기에는 복잡한 문제가 있습니다. 예를 들어, 각 트레이닝 세트마다 다른 기능이 선택됩니다.

따라서 제 대답은 외부 데이터 세트에 액세스 할 수없는 경우 합리적인 방법입니다. 외부 데이터 세트가있는 경우 기본 데이터 세트에서 원하는대로 이동하여 외부 데이터 세트에서 한 번 테스트 할 수 있습니다.


@ user2643 : 중첩 된 CV를 생성 한 방법에 대해 공유 할 참조가 있습니까? 내 질문에서 링크 한 pdf와 동일한 줄을 따라 왔습니까? 또한이 데이터 마케팅 데이터는 우연입니까?
B_Miner

@ user2643이 접근법의 문제점 (정확한)은 정확도 (분류) 또는 정밀도 (회귀)에 대한 단일 기준 만 산출한다는 것입니다. 당신이 말했듯이 "이것은 가장 흥미로운 기능입니다"라고 말할 수 없습니다. 나는 우리가 연구 결과의 신뢰성을 평가하기 위해 순열 체계 (k = 1000, 5 % 수준에서 편안함) 하에서 임베디드 기능 선택과 함께 10 배 CV를 사용하는 유전자 데이터 (600k 변수)로 작업하고 있습니다. 이런 식으로 우리는 "우리 모델은 잘 일반화되고 그렇지 않다"고 말할 수 있습니다.
chl

2
기능이 접기마다 다를 경우 유용한 기능을 자신있게 식별 할 수있는 정보가 충분하지 않다는 것을 의미하므로 교차 검증의 이점으로 (단일 모델의 결과를 보는 것만으로도) 기능 선택 기준을 과도하게 맞추므로 오도의 소지가 있습니다. 많은 피처와 관측치가 거의없는 문제의 경우 능선 회귀는 종종 더 나은 성능을 제공하므로 피처 식별이 핵심 목표가 아닌 경우 피처 선택을 수행하지 않는 것이 좋습니다.
Dikran Marsupial


@ user2040 : 답변이 늦어서 죄송합니다. 내포 된 CV 방식의 자체 소프트웨어 구현을 만들었습니다. 저의 연구는 생물 정보학에 관한 것이므로, 소프트웨어에 대한 설명을 곧 생물 정보학 저널에 제출할 계획입니다. 그러나 모든 연구 분야에서 사용할 수 있습니다. 시험해보고 싶으시면 알려주십시오. yahoo dot com에서 goldfish1434
2643
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.