그리드 서치 vs 랜덤 서치 비교

Python에서의 하이퍼파라미터 튜닝

Alex Scriven

Data Scientist

공통점은?

랜덤/그리드 서치의 공통점은?

  • 둘 다 하이퍼파라미터를 자동으로 튜닝합니다.
  • 둘 다 샘플링할 그리드를 설정합니다(하이퍼파라미터와 각 값).

 

그리드는 신중히 설계하세요!

 

  • 둘 다 교차 검증 방식과 스코어링 함수를 설정합니다.
Python에서의 하이퍼파라미터 튜닝

차이점은?

그리드 서치:

  • 샘플 공간의 모든 조합을 철저히 탐색합니다.
  • 샘플링 방법 없음
  • 계산 비용이 더 큽니다.
  • 샘플 공간 내 최상 점수를 보장합니다.

랜덤 서치:

  • 지정한 샘플 공간에서 일부 조합을 무작위로 선택합니다.
  • 기본 균등 외 다른 샘플링 방법을 선택할 수 있습니다.
  • 계산 비용이 더 낮습니다.
  • 샘플 공간 내 최상 점수를 보장하지 않습니다(대신 _좋은_ 점수를 더 빠르게 찾을 가능성).
Python에서의 하이퍼파라미터 튜닝

무엇을 선택할까?

그럼 무엇을 써야 할까요? 고려 사항은?

  • 데이터가 얼마나 많습니까?
  • 튜닝할 하이퍼파라미터/값이 얼마나 많습니까?
  • 리소스는 얼마나 있습니까? (시간, 연산)

 

  • 데이터가 많을수록 랜덤 서치가 유리할 수 있습니다.
  • 위 항목이 많을수록 랜덤 서치가 유리할 수 있습니다.
  • 리소스가 적을수록 랜덤 서치가 유리할 수 있습니다.
Python에서의 하이퍼파라미터 튜닝

연습해 봅시다!

Python에서의 하이퍼파라미터 튜닝

Preparing Video For Download...