우리는 항상 이력서를해야합니까?


9

내 질문 : 비교적 큰 데이터 세트에서도 CV를 수행해야합니까?

비교적 큰 데이터 세트가 있으며 데이터 세트에 기계 학습 알고리즘을 적용합니다.

PC가 빠르지 않기 때문에 CV (및 그리드 검색)에 시간이 너무 오래 걸립니다. 특히 많은 튜닝 매개 변수로 인해 SVM이 종료되지 않습니다. 따라서 CV를 수행하는 경우 상대적으로 작은 데이터를 선택해야합니다.

반면에 유효성 검사 세트도 커야하므로 훈련 세트와 크기가 같은 유효성 검사 세트를 사용하는 것이 좋습니다. (즉, CV 대신 매개 변수 조정에 큰 유효성 검사 세트를 사용합니다.)

그래서 이제 적어도 두 가지 옵션이 있습니다.

  1. 작은 데이터 세트에서 CV를 수행하십시오.
  2. CV없이 비교적 큰 트레이닝 세트 및 검증 세트를 사용합니다.
  3. 다른 생각.

가장 좋은 아이디어는 무엇입니까? 이론적이거나 실제적인 의견은 모두 환영합니다.


1
이 질문은 분명히 CW 여야합니다.
H. Shindoh

1
큰 것은 무엇입니까? 관측치는 몇 개입니까? 기능 / 변수 / 회귀 자 수는 몇 개입니까?
Jim

1
PC에 따라 다릅니다. 즉, 여러 대의 컴퓨터가 필요한 "빅 데이터"에 대해서는 생각하지 않습니다.
H. Shindoh

답변:


3

일반적으로 항상 교차 검증을 사용할 필요는 없습니다. CV의 포인트는 하나의 테스트 세트 만 사용할 수있는 분류기의 일반화 가능성을보다 안정적으로 추정하는 것입니다. 데이터 세트가 엄청 나면 CV를 사용할 필요가 없으므로 훈련 세트에 데이터를 추가해도 모델이 크게 향상되지는 않으며 무작위로 테스트 세트에서 오 분류가 거의 발생하지 않으므로 성능 메트릭이 실제로 변경되지는 않습니다. .

작은 훈련 세트와 큰 테스트 세트를 사용하면 추정치가 편향됩니다. 따라서 더 많은 데이터를 사용하면 정규화가 덜 필요하기 때문에 더 많은 교육 데이터를 사용하는 것보다 더 나쁜 데이터가 있고 더 큰 데이터 세트의 경우 최적 하이퍼 파라미터가 다를 수 있습니다.

그러나 최적의 하이퍼 파라미터를 얻는 것이 중요한 부분은 아니며 성능을 크게 향상시키지 않습니다. 문제를 이해하고, 좋은 기능을 만들고, 데이터를 올바르게 구성하려면 에너지를 집중해야합니다.

속도를 높이기 위해 고려할 수있는 몇 가지 사항은 다음과 같습니다.

  1. 더 적은 기능으로 훈련하십시오. 피처 선택 및 / 또는 차원 축소를 사용하여 문제의 크기를 줄입니다.
  2. SVM에 사전 캐시 된 커널 사용
  3. 그리드에서 하이퍼 파라미터를 선택할 필요가없는 알고리즘을 사용하십시오. 특히 릿지 / 라소 / 탄성 순 패널티를 갖는 로지스틱 회귀 또는 선형 SVM과 같은 선형 회귀 분석. 구현에 따라 이러한 분류기는 하나의 피팅 비용으로 선택한 경로의 모든 하이퍼 파라미터에 대한 모델을 적합시킬 수 있습니다
  4. 문제 유형에 더 빠른 구현을 사용하십시오 (구글해야합니다)

컴퓨터 속도가 느린 경우에도 다음을 수행 할 수 있습니다.

  1. 더 많은 코어 사용
  2. GPU 사용

2

교차 유효성 검사는 데이터의 임의성 (결정적이 아닌 경우 학습 알고리즘)으로 인한 성능 메트릭의 분산을 추정하는 도구입니다.

따라서 단일 실험 (예 : 80 % train + 20 % test)을 사용하고이 단일 실험에서 성능 메트릭을보고하면 정확히 동일한 매개 변수를 사용하여 실험을 재현하려는 사람이 다른 성능 수치를 발견 할 가능성이 높습니다 (때로는 매우 높음) 다른). 물론 의미가없는 동일한 정확한 분할을 제공하지 않는 한.

귀하의 질문으로 돌아가려면 CV를 사용 하여 성과보고 해야한다고 생각합니다 (예 : 10 배 CV를 수행하고 성과 지표의 평균 및 표준 편차를보고). 이제 알고리즘을 조정하기 위해 훈련 세트에서 샘플링 된 훨씬 작은 검증 세트를 사용할 수 있습니다 (테스트 세트에 포함되지 않았는지 확인).

작은 세트를 사용하여 최상의 하이퍼 파라미터를 찾지 못할 것으로 예상되는 경우 알고리즘을 데이터 세트의 특성에 맞게 맞추는 것일 수 있습니다. 모든 폴더 에서 합리적인 성능을 제공하는 작은 샘플을 사용하여 구성을 찾을 수 없으면 알고리즘이 실제로 유용하지 않을 수 있습니다.

또한 일부 알고리즘은 너무 느리거나 일부 구성에서는 확장 성이 좋지 않습니다. 실제 모델 선택의 일부이기도합니다.

SVM을 언급 했으므로 그리드 검색으로 비선형 커널에 대한 매개 변수를 찾으려면 대부분의 구현이 느려집니다. 그리드 검색은 기하 급수적으로 복잡하므로 매개 변수를 거의 사용하지 않습니다. 또한 대부분의 라이브러리는 적절한 기본 매개 변수를 제공합니다 (또는 적어도 하나의 매개 변수를 설정하고 다른 매개 변수를 설정하는 휴리스틱이 있음).

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