알고리즘 벤치마킹, 기능 선택, 파라미터 튜닝 중 어느 것이 먼저입니까?


11

예를 들어 분류를 시도 할 때 현재 나의 접근 방식은

  1. 먼저 다양한 알고리즘을 시도하고 벤치마킹하십시오
  2. 위의 1에서 최상의 알고리즘에 대한 기능 선택 수행
  3. 선택한 기능과 알고리즘을 사용하여 매개 변수를 조정

그러나 다른 알고리즘이 최상의 매개 변수 / 가장 적합한 기능으로 최적화 된 경우 선택한 알고리즘보다 더 나은 알고리즘이있을 수 있음을 종종 확신 할 수 없습니다. 동시에 모든 알고리즘 * 매개 변수 * 기능에서 검색을 수행하면 시간이 너무 많이 걸립니다.

올바른 접근 방식 / 순서에 대한 제안 사항이 있습니까?

답변:


8

기능 엔지니어링 으로 기능 선택 을 의미한다고 가정합니다 . 내가 일반적으로 따르고 일부 사람들이하는 과정은

  1. 기능 공학
  2. 기능에서 RandomForest, Gradient Boosted Trees, Neutral Networks 또는 SVM과 같은 고성능 알고리즘을 사용하십시오.

    2.1 작은 범위의 파라미터에서 그리드 검색과 같은 간단한 파라미터 튜닝

2 단계의 결과가 만족스럽지 않은 경우 1 단계로 돌아가서 더 많은 기능을 생성하거나 중복 기능을 제거하고 최상의 기능을 유지하면 사람들은 일반적으로이 기능 선택을 호출합니다 . 새로운 기능에 대한 아이디어가 부족하면 더 많은 알고리즘을 시도하십시오.

결과가 괜찮거나 원하는 결과에 가깝다면 3 단계로 이동하십시오.

  1. 광범위한 파라미터 튜닝

이 작업을 수행하는 이유는 분류가 모든 기능 공학 에 관한 것이며 Computer Vision과 같은 특정 문제에 맞게 사용자 지정된 딥 러닝과 같은 믿을 수없는 강력한 분류기를 모르는 경우입니다. 좋은 기능을 생성하는 것이 핵심입니다. 분류자를 선택하는 것은 중요하지만 중요하지는 않습니다. 위에서 언급 한 모든 분류기는 성능면에서 상당히 비교할 수 있으며 대부분의 경우 최상의 분류 기준은 그중 하나입니다.

매개 변수 조정은 성능을 향상시킬 수 있으며 경우에 따라 상당히 많은 경우가 있습니다. 그러나 좋은 기능이 없으면 튜닝은 큰 도움이되지 않습니다. 항상 매개 변수 조정 시간이 있습니다. 또한 매개 변수를 광범위하게 조정하지 않아도 새로운 기능을 발견하고 모든 것을 다시 실행할 수 있습니다.


2

방금 질문을 봤어요 기능 선택을 먼저 수행 한 다음 교차 검증을 사용하여 모델을 조정하는 것은 완전히 잘못되었습니다. 통계 학습 및 블로그 게시물의 요소에서 CV 방법은 모든 모델 작성이 CV 루프 내에서 수행되는 경우에만 편향되지 않습니다. 파라미터 튜닝을 위해 CV 루프 내에서 기능을 선택하십시오. R의 MLR 패키지에있는 필터 래퍼를 사용하여 쉽게 수행 할 수 있습니다.


1

나는 이미 비슷한 질문에 대답 했다 . 과정은 다음과 같습니다.

  • 변환 및 축소 : 변환, 평균 및 중간 크기 조정 등과 같은 프로세스가 포함됩니다.
  • 기능 선택 : 임계 값 선택, 서브 세트 선택 등과 같은 다양한 방법으로 수행 할 수 있습니다.
  • 예측 모델 설계 : 보유하고있는 기능에 따라 교육 데이터에 대한 예측 모델을 설계합니다.
  • 교차 검증 및 파라미터 튜닝 :
  • 최종 예측, 검증

항상 모델을 선택하기 전에 형상 엔지니어링을 시도하고 수행하십시오. 그런 다음 최상의 기능 (또는 문제 / 종속 변수에 더 영향을주는 기능)에 따라 모델을 선택하십시오.


0

새로운 도구의 작동 방식을 배우는 데 시간을 할애 할 준비가된다면 autosklearn을 사용해보십시오. ML 파이프 라인을 구축하는 데 필요한 모든 작업을 수행합니다. 전처리, 선택, 모델 앙상블 구축 및 교차 검증을 통한 튜닝 기능. 가지고있는 데이터의 양에 따라 좋은 예측을위한 더 빠른 방법 일 수도 있고 아닐 수도 있습니다. 그러나 그것은 유망한 것입니다.

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