실제 하이퍼 파라미터 최적화 : 랜덤 대 그리드 검색


40

저자는 현재 Bengio와 Bergsta의 Hyper-Parameter Optimization에 대한 Random Search [1]를 진행하고 있는데, 여기서 저자는 거의 동일한 성능을 달성하는 데있어 그리드 검색보다 랜덤 검색이 더 효율적이라고 주장합니다.

내 질문은 : 여기 사람들이 그 주장에 동의합니까? 내 작품에서 나는 무작위 검색을 쉽게 수행 할 수있는 도구가 없기 때문에 그리드 검색을 주로 사용했습니다.

그리드 대 무작위 검색을 사용하는 사람들의 경험은 무엇입니까?


무작위 검색이 더 좋으며 항상 선호해야합니다. 그러나 Optunity , hyperopt 또는 bayesopt 와 같은 하이퍼 파라미터 최적화를 위해 전용 라이브러리를 사용하는 것이 훨씬 좋습니다 .
Marc Claesen

Bengio et al. 여기에 작성하십시오 : papers.nips.cc/paper/… GP는 가장 효과적이지만 RS도 훌륭합니다.
Guy L

10
@Marc 당신이 관련된 것에 대한 링크를 제공 할 때, 당신은 그것과의 연관성을 분명히해야합니다. (한두 단어로 충분할 수 있습니다 our Optunity. 행동에 대한 도움말에서 "일부 제품이나 웹 사이트에 관한 문제가 발생하더라도 괜찮습니다. 그러나 제휴를 공개해야합니다"
Glen_b

답변:


39

랜덤 검색은 단지 60 번의 반복으로 5 % 옵티마 내에서 파라미터의 조합을 찾을 확률이 95 %입니다. 또한 다른 방법과 비교하여 로컬 옵티마에서 멈춰지지 않습니다.

Alice Zheng의 Dato의이 훌륭한 블로그 게시물 , 특히 하이퍼 파라미터 튜닝 알고리즘 섹션을 확인하십시오 .

나는 약자가이기는 영화를 좋아하고 간단한 솔루션이 놀랍도록 효과적인 기계 학습 논문을 좋아합니다. 이것은 Bergstra와 Bengio의“임의 매개 변수 최적화를위한 무작위 검색”의 스토리입니다. [...] 무작위 검색은 이전에 매우 심각하게 받아 들여지지 않았습니다. 모든 그리드 포인트를 검색하지 않기 때문에 그리드 검색에서 찾은 최적을 이길 수 없기 때문입니다. 그러나 Bergstra와 Bengio를 따라 왔습니다. 놀랍게도 많은 경우에 무작위 검색은 그리드 검색뿐만 아니라 수행하는 것으로 나타났습니다. 대체로 그리드에서 샘플링 된 60 개의 임의의 점을 시도하면 충분합니다.

가늠자에는 결과에 대한 간단한 확률 론적 설명이 있습니다. 유한 최대 값을 가진 표본 공간에 분포하는 경우 최대 60 개의 임의 관측치가 실제 최대 값의 상위 5 % 내에 있으며 95 % 확률로 존재합니다. 복잡하게 들릴 수도 있지만 그렇지 않습니다. 실제 최대 값의 5 % 간격을 상상해보십시오. 이제 우리는 그의 공간에서 점을 샘플링하여 그 최대치 내에 도달하는지 확인하십시오. 각 무작위 추첨은 5 % 확률로 그 구간에 상륙합니다. 만약 우리가 n 개의 점을 독립적으로 추첨한다면, 그들 모두가 원하는 구간을 놓칠 확률은 (10.05)n. 따라서 그 중 하나 이상이 간격을 맞추는 데 성공할 확률은 1에서 그 양을 뺀 것입니다. 우리는 적어도 .95의 확률을 원합니다. 필요한 추첨 수를 계산하려면 방정식에서 n을 푸십시오.

1(10.05)n>0.95

우리는 . 타다!n60

이야기의 교훈은 : 하이퍼 파라미터의 최적에 가까운 영역이 그리드 표면의 5 % 이상을 차지하는 경우 60 번의 시도로 랜덤 검색하면 해당 영역이 높은 확률로 발견됩니다.

시험 횟수가 많을수록이 기회를 개선 할 수 있습니다.

튜닝 할 매개 변수가 너무 많으면 그리드 검색이 불가능할 수 있습니다. 그때 무작위 검색을 시도합니다.


3
블로그 게시물에 대한 링크가 다운 :(이 될 수 같은 기사? oreilly.com/ideas/evaluating-machine-learning-models/page/5/...
n1k31t4

@DexterMorgan 안녕하세요, 감사합니다. 예, 블로그가 다운 된 것 같습니다. "공식" 이 아닐 수도있는 다른 소스로 연결해야할지 확실하지 않으므로 지금은 생각대로 그대로 두겠습니다.
Firebug

블로그는 여전히 다운되었습니다 ... 인용 해 주셔서 감사합니다. 더 읽을 수 있도록 링크를 제공해 주셔서 감사합니다!
llrs

8

종이의 그림을 다시보십시오 (그림 1). 3x3 그리드 검색을 사용하면 두 매개 변수가 있고 각 매개 변수에서 세 가지 다른 매개 변수 값 (왼쪽 플롯의 세 행과 세 열) 만 검사하는 반면 임의 검색을 사용하면 9 개의 다른 매개 변수 값을 확인한다고 가정하십시오. 각 매개 변수 (9 개의 개별 행과 9 개의 개별 열)의

그리드 대 무작위 검색

우연히도 무작위 검색은 모든 범위의 매개 변수를 대표하지는 않지만 샘플 크기가 커짐에 따라이 확률은 점점 작아집니다.


6

그리드 검색에 함수를 작성할 수 있다면 그리드를 미리 지정하고 미리 저장할 필요가 없기 때문에 임의 검색을 수행하는 함수를 작성하는 것이 훨씬 쉽습니다.

LIPO, 파티클 스웜 최적화 및 베이지안 최적화와 같은 방법을 제외하면 어떤 하이퍼 파라미터가 더 나은지에 대한 지능적인 선택을 할 수 있습니다. 따라서 모델 수를 절대 최소로 유지 해야하는 경우 이러한 도구는 유망한 옵션입니다. 또한 글로벌 옵티 마이저이므로 글로벌 최대 값을 찾을 가능성이 높습니다. BO 방법의 일부 획득 기능에는 유감스러운 후회가있어 더욱 매력적입니다.

자세한 내용은 다음 질문에서 찾을 수 있습니다.

베이지안 하이퍼 파라미터 최적화의 단점은 무엇입니까?

비용 함수 평가가 느린 경우 최적화


2

기본적으로 임의 검색 및 그리드 검색은 다음 중 하나를 유지하지 않는 한 끔찍한 알고리즘입니다.

  • 문제가 전역 적 구조를 갖지 않는 경우, 예를 들어 문제가 복합적이며 지역 최적화의 수가 많은 경우
  • 문제가 시끄 럽습니다. 즉, 동일한 솔루션을 두 번 평가하면 다른 목적 함수 값으로 이어집니다
  • 목적 함수 호출의 예산은 변수 수에 비해 매우 작습니다 (예 : 1x 또는 10x보다 작음).
  • 변수의 수는 매우 작습니다 (예 : 5보다 작음 (실제로)).
  • 다른 몇 가지 조건.

대부분의 사람들은 무작위 검색이 그리드 검색보다 낫다고 주장합니다. 그러나 총 기능 평가 수가 사전 정의 될 때 그리드 검색은 동일한 예산으로 무작위 검색보다 나쁘지 않은 검색 공간의 좋은 적용 범위로 이어지며 둘 사이의 차이는 무시할 수 있습니다. 문제가 분리 가능하거나 거의 분리 가능하다는 가정을 추가하기 시작하면 그리드 검색을 지원하는 인수를 찾을 수 있습니다. 아주 적은 경우가 아니라면 전반적으로 두 가지 모두 비교할 수 없을 정도로 끔찍합니다. 따라서 문제에 대한 추가 가정이 고려되지 않는 한 이들을 구별 할 필요가 없습니다.


더 나은 것을 제안 할 수 있습니까? 시도하지 않으면 무엇이 가장 좋은지 어떻게 알 수 있습니까? 많은 모델을 무작위로 검색하는 것이 최선의 타협 솔루션입니다.
JPErwin

0

최대 1 개만있는 2D 지형에서 최대 95 % 내에서 스팟을 찾으려면 100 % / 25 = 25 %, 6.25 %, 1.5625 % 또는 16 개의 관측치가 필요합니다. 처음 네 개의 관측치에서 최대 (사 분위수)가 어느 사분면에 있는지 정확하게 결정하는 한 1D 지형은 100 / 2 = 50, 25, 12.5, 6.25, 3.125 또는 5 * 2를 사용합니다. 여러 멀리 떨어진 지역 최대 점을 검색하는 사람들은 큰 초기 그리드 검색을 사용한 다음 회귀 또는 다른 예측 방법을 사용합니다. 60 개의 관측치 그리드는 극한의 100 / 60 = 1.66 % 내에 하나의 관측치가 있어야합니다. 글로벌 최적화 Wikipedia 나는 여전히 무작위보다 더 좋은 방법이 있다고 생각합니다.


시뮬레이션 어닐링은 수년 동안 존재 해 온 임의 검색의 한 형태입니다.
Michael Chernick
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.