Lv3 | 튜닝 | 그리드, 랜덤 서치 vs Bayesian Optimization
Data Analyst

빅데이터 관련 자료/수학&x통계

Lv3 | 튜닝 | 그리드, 랜덤 서치 vs Bayesian Optimization

carpe08 2021. 8. 24. 14:03
320x100
320x100

이번 시간에는 Hyper Parameter의 3가지 튜닝 방법을 비교해보겠습니다.

1. GridSearch


기법: =사전에 탐색할 값들을 미리 지정해주고, 그 값들의 모든 조합을 바탕으로 성능의 최고점을 찾아낸다.
장점: 내가 원하는 범위를 정확하게 비교 분석이 가능하다.
단점: 시간이 오래걸린다. (4개의 파라미터에 대해서, 4가지 값들을 지정해두고, 한번 탐색하는데 1분이 걸린다면 -> 4*4*1분 = 16분)

소요)
성능의 최고점이 아닐 가능성이 높다.
"최적화 검색" (여러개들을 비교 분석해서 최고를 찾아내는 기법)이지, "최적화 탐색"(성능이 가장 높은 점으로 점차 찾아가는 기법)이 아니다.

2. Random Search


기법: 사전에 탐색할 값들의 범위를 지정해주고, 그 범위 속에서 가능한 조합을 바탕으로 최고점을 찾아낸다.
장점: Grid Search에 비해 시간이 짧게 걸린다.
      Grid Search보다 랜덤하게 점들을 찍으니 성능이 더 좋은 점으로 갈 가능성이 높다ㅏ.
단점: 하이퍼 파라미터의 범위가 너무 넓으면, 일반화된 결과가 나오지 않는다.
      seed를 고정하지 않으면, 할 때마다 결과가 달라진다.
      "최적값 검색"의 느낌이지, "최적화 탐색"의 개념이 아니다.
      
3.Bayeisan Optimization


기법: 하이퍼파라미터의 범위를 지정한 후 , Random하게 R번 탐색한 후 B번만큼 최적의 값을 찾아간다.
장점: "최적의 값" 을 찾아갈 수 있다.
      상대적으로 시간이 덜 걸린다.
      엔지니어가 그 결과값을 신뢰할 수 있다.
단점: Random하게 찍은 값이 달라질 경우, 최적화 하는데 오래 걸릴 수 있다.
      Random하게 찍은 값이 부족하면, 최적의 값을 탐색하는게 불가능 할 수 있다.
      Random하게 찍은 값이 너무 많으면, 최적화 이전에 이미 최적값을 가지고 있을 수도 있다.

그럼에도 Bayesian Optimization은 수동적으로 하이퍼 파라미터를 튜닝하는데 좋은 결과를 가져온다.

320x100
320x100