서포트 벡터 머신에 대한 학습 파라미터를 선택할 때 교차 검증을 어떻게 적절하게 적용합니까?


9

훌륭한 libsvm 패키지는 파이썬 인터페이스와 분류기의 정확성을 최대화하는 학습 매개 변수 (비용 및 감마)를 자동으로 검색하는 파일 "easy.py"를 제공합니다. 주어진 학습 매개 변수 집합 내에서 교차 유효성 검사에 의해 정확도가 작동하지만 교차 유효성 검사의 목적을 손상시키는 것 같습니다. 즉, 학습 매개 변수 자체가 데이터의 과잉 적합을 유발할 수있는 방식으로 선택 될 수 있다면 검색 자체 수준에서 교차 유효성 검사를 적용하는 것이 더 적절한 방법이라고 생각합니다. 학습 데이터 세트에 대해 학습 한 후 별도의 테스트 데이터 세트 내에서 평가하여 최종 선택된 학습 매개 변수로 인한 SVM의 정확성을 평가합니다. 아니면 여기에 뭔가 빠졌습니까?

답변:


10

전체 교육 데이터에서 하이퍼 파라미터를 학습 한 후 교차 검증하면 각 폴드의 테스트 데이터가 하이퍼 파라미터 설정에 이미 사용 되었기 때문에 최적화 된 바이어스 성능 추정치를 얻게됩니다. 선택된 파라미터는 테스트 세트의 데이터에 적합하기 때문에 부분적으로 선택됩니다. 이러한 방식으로 도입 된 낙관적 편견은 예상치 못하게 클 수 있습니다. 페이지의 "모델 선택과 성과 평가의 후속 선택 바이어스에 오버 피팅에"콜리와 탈봇, JMLR 11 (7월) : 2,079에서 2,107 사이, 2010.(특히 섹션 5.3). 가장 좋은 방법은 중첩 교차 검증입니다. 기본 아이디어는 모델을 생성하는 데 사용 된 전체 방법을 교차 검증하므로 모델 선택 (하이 파라미터 선택)을 단순히 모델 피팅 절차 (매개 변수가 결정되는)의 일부로 취급하면 갈 수 없습니다. 너무 잘못되었습니다.

훈련 세트에서 교차 검증을 사용하여 하이퍼 파라미터를 결정한 다음 별도의 테스트 세트를 사용하여 전체 훈련 세트에서 해당 매개 변수를 사용하여 훈련 된 모델의 성능을 평가하는 경우에도 괜찮습니다 (충분한 데이터가있는 경우). 분리 된 파티션을 사용하여 모델을 안정적으로 피팅하고 성능을 추정합니다.


좋은 참조!
Andrew

두 번째 단락에서는 기능 선택을 어떻게 통합 할 것인가? i) 위에서 설명한대로 하이퍼 파라미터 최적화를 수행하십시오 (최적의 하이퍼 파라미터 가져 오기) ii) 교차 예측의 또 다른 라운드에서 기능 선택을 실행하여 최고 예측 변수 세트를 얻습니다 (기능 선택은 분할 된 교육 데이터에서 실행됩니다) 하이퍼 파라미터 최적화에 사용 된 리샘플링 방법을 사용하는 서브 트레이닝 및 유효성 검사 세트). iii) 전체 훈련 데이터에 설정된 최고 하이퍼 파라미터와 최고 예측 변수로 모델을 훈련시킵니다. 별도의 테스트 세트에서 테스트하십시오.
sma

ii) 교차 예측의 또 다른 라운드에서 기능 선택을 실행하여 최고 예측 변수 세트를 얻습니다 (트레이닝 데이터는 하이퍼 파라미터 최적화에 사용 된 리샘플링 방법을 통해 서브 트레이닝 및 유효성 검사 세트로 분할 된 다음 기능 선택이 실행 됨). 서브 트레이닝 데이터).
sma

또는 교차 검증을 통해 기능 선택을 먼저 수행하여 최상위 기능 세트를 얻은 다음 최상위 기능 세트를 사용하여 관심있는 모델에 대한 하이퍼 파라미터 튜닝을 수행 할 수 있습니까 (위의 교차 검증에서)? 그런 다음 이미 결정된 최상위 기능 세트만으로 전체 교육 데이터에서 최적의 하이퍼 파라미터로 모델을 학습하고 별도의 테스트 세트에서 테스트 하시겠습니까?
sma

0

LIBSVM의 경우 교차 검증이 테스트 데이터 수준에서 수행되기 때문에 잘못 사용 된 것으로 생각하지 않습니다. 그것은 k- 폴드 교차 검증과 RBF 커널에 대한 최상의 매개 변수를 검색하는 것입니다. 당신이 동의하지 않음을 알려주세요.


하이퍼 파라미터의 선택은 어떤 식 으로든 테스트 데이터를 포함하지 않아야합니다. 이는 최적화 된 편향된 성능 추정으로 이어질 것입니다. 본질적으로 하이퍼 매개 변수를 선택하는 것은 SVM을 장착하는 데 필수적인 부분으로 취급되어야하므로 테스트 절차는 하이퍼 매개 변수를 선택하여 오류를 테스트해야합니다. (오픈 액세스입니다).
Dikran Marsupial
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.