좋은 질문. 나는 문헌에서 많은 중지 규칙을 보았으며 상황에 따라 각각의 장단점이 있습니다. optim
예를 들어 R 의 함수에는 적어도 세 가지 다른 중지 규칙이 있습니다.
maxit
즉, 미리 정해진 최대 반복 횟수. 문헌에서 본 또 다른 유사한 대안은 시간이 초과되기 전의 최대 시간 (초)입니다. 필요한 모든 것이 근사치 인 경우 매우 합리적 일 수 있습니다. 실제로 조기 정지가 매개 변수 값보다 가우시안을 배치하는 것과 유사한 모델 클래스 (특히 선형 모델)가 있습니다. 잦은 주의자는 당신이 이전보다는 "L2 규범"을 가지고 있다고 말하지만, 그들은 또한 그것을 합리적인 일로 생각할 것입니다. 나는 이 논문을 훑어 보았지만 조기 중지와 정규화의 관계에 대해 이야기하고 더 많은 정보를 얻는 데 도움이 될 수 있습니다. 그러나 짧은 버전은 그렇습니다. 조기 중지는 무엇을 하느냐에 따라 완벽하게 존경받을 수 있습니다.
abstol
즉, 함수가 "충분히 근접해"0에 도달하면 중지합니다. 이것은 당신과 관련이 없을 수도 있습니다 (0을 기대하는 것처럼 들리지 않습니다). 건너 뛸 것입니다.
reltol
, 이는 두 번째 제안과 같습니다. 개선이 임계 값 아래로 떨어지면 중지합니다. 나는 실제로 이것에 대한 이론이 얼마나 많은지 알지 못하지만, 최대 반복 횟수가 적은 것보다 이런 식으로 최소값을 낮추는 경향이 있습니다. 그것이 당신에게 중요하다면, 더 많은 반복을 위해 코드를 실행할 가치가 있습니다.
중지 규칙의 또 다른 패밀리는 학습 데이터가 아닌 유효성 검증 데이터 세트 (또는 교차 유효성 검증)에서 비용 함수를 최적화하는 것과 관련이 있습니다. 모델을 사용하려는 대상에 따라 과적 합이 수반 될 수 있기 때문에 훈련 데이터에 대한 현지 최소값에 도달하기 전에 멈추는 것이 좋습니다. Trevor Hastie가이 작업을 수행하는 좋은 방법에 대해 썼다고 확신하지만 인용을 기억할 수 없습니다.
합리적인 시간 내에 최소 최소값을 찾는 다른 가능한 옵션은 다음과 같습니다.
확률 적 그라디언트 디센트-한 번에 데이터의 작은 부분에 대한 그라디언트 만 추정하면됩니다 (예 : "순수한"SGD를위한 하나의 데이터 포인트 또는 작은 미니 배치).
목표 함수의 곡률에 대한 정보를 사용하여 더 나은 방향을 가리키고 내리막 길을 이동할 때 더 나은 단계 크기를 취하는 고급 최적화 함수 (예 : 뉴턴 유형 방법 또는 공역 그라디언트)
업데이트 규칙에서 "모멘텀"이라는 용어로, 옵티마이 저는 목표 함수에서 협곡 벽을 제한하지 않고 내리막 길을 더 잘 돌립니다.
이러한 접근 방식은 모두 온라인에서 찾은 강의 노트 에서 논의됩니다 .
이것이 도움이되기를 바랍니다!
오 편집 , 당신은 또한 더 나은 시작 값을 얻을 수 있습니다 (예를 들어 더 간단한 버전의 문제를 해결함으로써) "따뜻한 시작"에서 최적에 가까워지는 반복 횟수가 줄어 듭니다.