각기 다른 매개 변수에 대해 다양한 목표 시간 함수를 고려한 최적화 방법


9

인구 통계 모델을 데이터에 더 잘 맞출 수 있도록 일부 인구 통계 모델링 소프트웨어의 최적화 프로세스를 개선하기 위해 노력하고 있습니다. 최적화 시간을 줄이고 싶습니다.

목적 함수를 평가하는 데 걸리는 시간은 입력 값에 따라 크게 다릅니다. 목적 함수를 평가하는 시간과 입력 간의 관계가 알려져 있습니다. 평가할 포인트를 선택할 때 목적 함수의 상대 시간 비용을 고려하는 최적화 방법이 있는지 궁금합니다.

감사!

최신 정보:

Paul이 요청한대로이 특정 목적 함수의 두드러진 특징은 다음과 같습니다.

  1. 매개 변수의 수는 보통입니다 (~ 12ish)
  2. 우리의 문제는 볼록하지 않거나, 적어도 목적 함수 표면에 좁고 평평한 "리지"가 있습니다. 지금 우리는 다른 지점에서 여러 최적화를 사용 하여이 문제를 다루고 있지만 더 잘하고 싶습니다.
  3. 우리는 도함수에 대한 유한 차분 근사 만 계산할 수 있지만 목적 함수는 매우 부드럽습니다.
  4. 평가 비용은 매개 변수 값의 원활한 기능이기도하며 예측 가능합니다. 대략적으로 말하면, 각 매개 변수에 대해 평가 비용은 범위의 한쪽 끝에서 높고 다른 쪽 끝에서 낮습니다. 따라서 평가하기에 많은 비용이 드는 매개 변수 세트가 있지만 그 위치는 알고 있습니다.

2
케이트 안녕하세요. Scicomp에 오신 것을 환영합니다! 목적 함수의 특성 중 일부를 공유 할 수 있습니까? 귀하의 사례에 맞는 특정 방법을 찾아내는 데 도움이 될 수 있습니다.
Paul

평가할 점을 선택할 때 명시 적으로 목적 함수 (또는 제약 조건)를 평가하는 비용을 고려하는 알고리즘에 대해 들어 본 적이 없습니다. 그러나 옵티마이 저가 평가할 다음 포인트를 현명하게 선택하려고하는 미분없는 최적화 알고리즘이 있습니다. 기능 평가가 비싸면 기능 평가의 수를 최소화해야한다는 전제가 있습니다. 그러나 파생되지 않은 알고리즘을 사용하면 사용 사례에 도움이 될지 확실하지 않습니다.
Geoff Oxberry

안녕하세요 @Paul, 환영합니다! 이 커뮤니티를 발견하게되어 기쁩니다. 특징을 추가했습니다. 더 중요한 다른 기능이 있는지 알려주세요.
nova

글로벌 최소화에 관심이 있다는 것을 # 2에서 추론 할 수 있습니까? 또는 "충분한"감소에 만족하십니까? 글로벌 최적화는 자체 분야이며, 글로벌 솔루션 (있는 경우)을 얻는 문제는 고가의 시험 포인트를 피하는 것과 완전히 분리 될 수 있습니다.
Dominique

Dominique는 글로벌 옵티마이 저가 문제에 비해 너무 느릴 것이라고 가정하여 로컬 옵티 마이저에 만족했습니다. 글로벌 옵티마이 저는 향후에 살펴볼 계획입니다.
nova

답변:


4

값 비싼 목적 함수를 처리하는 일반적인 방법 중 하나는 회귀 모델링을 통해 원래 목표 함수에 근사한 "응답 표면 모델"을 작성하고 원래 함수로 작업하는 대신 해당 반응 표면에 대해 최적화하는 것입니다. 실제로 반응 표면은 일반적으로 회귀 분석에 적합한 2 차 모형이므로 반응 표면의 최소값을 찾는 것은 매우 쉬운 최적화 문제가됩니다.

당신은 당신의 목적 함수의 매끄러움이나 볼록성에 대해 아무 말도하지 않았습니다. 함수가 부드럽거나 볼록하지 않은 경우 분명히 훨씬 더 어려워집니다.

또한 매개 변수 공간에서 고가의 포인트가 어디에 있는지에 대해서는 언급하지 않았습니다. 매개 변수 공간에 무작위로 분포 된 경우 실험 기술 설계를 사용하여 값 비싼 포인트를 피하면서 반응 표면 모델을 작성할 수 있습니다. 평가가 비싼 매개 변수 공간 영역이 더 큰 경우 응답 표면 모델을 구성하는 데 사용하는 해당 영역의 포인트 수를 최소화 할 수 있습니다. 물론, 최적의 지역이 그러한 지역의 중간에 위치한 경우 고가의 지역에서 기능을 평가할 운명에 처하게됩니다.


1

다른 시험 포인트에서 목표를 평가하는 상대 비용을 구체적으로 평가하는 방법을 모르지만 후보자가 평가하는 데 비용이 많이 드는지 여부를 비교적 안정적으로 예측할 수 있다면 시도해 볼 것을 제안 할 수 있습니다 직접적인 방법 . 직접 분석법은 미분법 분석법에 적합합니다. 원활한 최적화를위한 방법으로는 불가능한 수준의 유연성을 제공 할 수 있기 때문에 문제가 매우 순조로운 것으로 의심 되더라도이를 사용하는 것이 반드시 나쁜 것은 아닙니다.

아이디어는 직접 메소드가 현재 반복에 대한 (반복 종속) 메시와 (반복 종속) 메시 "단계"를 정의한다는 것입니다. 이 메시 단계를 기반으로,이 방법은 현재 반복의 이웃 인 메시의 시험 지점을 결정합니다 (그들은 메시에 있으며 메시 단계에 의해 정의 된 거리에 있습니다). 그런 다음 이웃의 목표 평가를 진행합니다. 더 나은 후보를 찾으면 새로운 현재 반복이됩니다. 선택에 따라 모든 이웃을 평가하고 가장 좋은 것을 선택할 수도 있습니다.

귀하의 경우, 목표를 평가하는 비용의 추정치에 따라 이웃을 주문하는 것이 좋습니다. 이 순서대로 평가하고 다음 반복으로 첫 번째 성공을 선택하십시오. 직관적으로, 당신은 싼 후보를 선호합니다. 직접적인 방법에서, 그러한 순서는 대리 모델 의 범주에 맞으며 , 이는 Brian이 언급 한 반응 표면 모델 의 범주 를 일반화하는 개념입니다 .

다음은 C ++에서 직접 메소드를 훌륭하게 구현 한 것입니다. http://www.gerad.ca/nomad/Project/Home.html

그 결과 유망한 결과가 나오면 언제든지 다시 연락하여 다른 개선 사항을 제안 할 수 있습니다.

NOMAD에는 가변 이웃 검색 개념을 기반으로 전역 최적화 (현재 적용중인 다중 시작과 같은) 기능도 있다고 생각 합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.