본문 바로가기
딥러닝

하이퍼파라미터 튜닝 종류: Grid vs Random search

by 데이널 2024. 2. 14.

하이퍼파라미터 튜닝은 머신러닝 모델 개발에서 중요한 단계입니다. 여기에는 성능을 향상시키기 위해 최적의 하이퍼파라미터를 선택하는 작업이기 때문이죠. 하이퍼파라미터 조정에는 여러 가지 방법이 있으며 각각 고유한 특징이 있습니다.

 

 

이 글은 하이퍼파라미터 튜닝 중 모델을 사용하지 않는 밥벙에 대해 소개하겠습니다. 

 

하이퍼파라미터 튜닝 종류
하이퍼파라미터 튜닝 종류

하이퍼파라미터 튜닝 종류

1. Model-Free(모델을 사용하지 않는 방법)

  • Manual(수동) search, Grid(그리드) search, Random(랜덤) search
  • 분석가가 매뉴얼하게 하게 범위를 좁혀간다는 측면에서 Manual Search라고 합니다. 실제 분석가의 감이나 경험으로 하는 방법을 manual search라고 합니다. 

2. Model-Based(모델을 사용하는 방법)

  • Bayesian Optimization, Non-Probailistic, Evolutionary Algorithms 
  • Bayesian Optimization를 많이 사용합니다.
  • 모델을 사용하면 하아퍼파라미터 최적값이 결과로 도출되기 때문에 자동화 가능합니다. 

 

Manual Search 

이 접근 방식에서는 데이터 과학자의 직관과 전문 지식을 기반으로 하이퍼파라미터가 선택됩니다. 검증 세트의 모델 성능을 기반으로 수동으로 파리미터를 조정되고 평가됩니다. 단순하지만 수동 검색은 시간이 많이 걸릴 수 있다는 단점이 있어요. 그리고 항상 최적의 하이퍼파라미터로 이어지지는 않을 수 있습니다.

 

 

Grid Search

 

Grid search는 각 하이퍼파라미터에 대한 값 목록을 지정한 다음 이러한 값의 가능한 모든 조합에 대해 모델 성능을 평가하는 방식입니다. Grid search는 모든 조합의 가능성을 살펴보기에 특히 하이퍼파라미터와 데이터가 많은 경우 계산 비용이 많이 들 수 있습니다. 결과까지 오래 걸릴 수 있다는 말입니다. 

 

각 하이퍼파라미터를 Categorical 후보군 생성 후 조합을 만듭니다. 방법은 아래 두가지를 생각해 볼 수 있습니다. 

  • 방법 1 : 파라미터 별 균등한 간격으로 생성 후 조합
  • 방법 2 : 파라미터 별 사전에 랜덤으로 후보값 추출 후 카테고리로 만들어 조합

Auto-SKLearn의 GridSearchCV 메소스 통해 최적화하려는 파라미터를 Dict 형식으로 입력하여 하이퍼파라미터 최적화 가능합니다. 

 

Random Search

Random search에는 지정된 범위 내의 각 하이퍼 매개변수에 대한 값을 무작위로 선택하고 모델 성능을 평가하는 방법입니다. Grid search와 달리 무작위 검색은 가능한 모든 조합을 시도하지 않고 대신 하이퍼파라미터 공간에서 무작위로 샘플링합니다. Random search는 Grid search보다 효율적인 경향이 있으며 더 적은 반복으로 좋은 하이퍼파라미터 값을 찾을 수 있는 경우가 많습니다.

 

경계 내에서 임의의 조합을 추출하여 최적의 조합을 찾는 방법으로 특히 적은 수의 하이퍼파라미터가 모델 성능의 영향을 미치는 경우에 좋은 결과를 만듭니다. Grid Search와 마찬가지로 최적의 값을 찾기 위해 넓은 범위를 탐색하기 때문에 비효율적이다는 단점이 있습니다. Auto-SKLearn의 RandomSearchCV 메소스 통해 하이퍼파라미터 최적화 가능합니다. 

 

 

 

하이퍼파라미터 튜닝 방법과 특징은?

하이퍼파라미터 튜닝을 꼭 해야 할까요? 답은 해야 한다입니다. 우리가 만든 모델은 아직 최적화가 되어 있지 않은 상태입니다. 보이지 않는 모델 성능을 올릴 수 있게 해 주기 때문에 머신러닝

bommbom.tistory.com