넬더-메드법

Nelder–Mead method
Nelder-Mead 시미오네스쿠의 기능에 대한 최소 검색.심플렉스 정점은 그 값에 의해 순서가 정해지고, 1은 가장 낮은 (최상의) 값을 갖는다.

Nelder-Mead 방법(활강 단순화 방법, 아메바 방법 또는 폴리토페 방법)은 다차원 공간에서 객관적 함수의 최소 또는 최대치를 찾기 위해 일반적으로 사용되는 숫자 방법이다.직접 검색 방식(함수비교 기준)으로 파생상품을 알 수 없는 비선형 최적화 문제에 적용하는 경우가 많다.그러나 넬더-미드 기법은 대체 방법으로 해결할 수 있는 문제에 대해 논역적 지점으로[1] 수렴할 수 있는 경험적 접근법이다.[2]

넬더-미드 기법은 1965년 존 넬더로저 미드가 써들리 외 방법의 개발로 제안하였다.[3][4]

개요

방법은 심플렉스(simplex)의 개념을 사용하며, 이 개념은 n차원에서 n + 1 정점의 특수 폴리토프다.단순화의 예로는 선상의 선 세그먼트, 평면의 삼각형, 3차원 공간의 사면체 등이 있다.

이 방법은 객관적 기능이 완만하게 변화하고 단수일 때 n개의 변수에 대한 문제의 국소적 최적치에 가깝다.일반적인 구현은 기능을 최소화하고 우리는 - ( x) {\ ) mathbf 을(를) 최소화하여 ( ) displaystyle -f {x}을으)를 최대화한다.

예를 들어 현수교 엔지니어는 각 스트럿, 케이블 및 교각의 두께를 선택해야 한다.이러한 요소들은 상호의존적이지만, 어떤 특정 요소 변경의 영향을 시각화하기는 쉽지 않다.그러한 복잡한 구조물의 시뮬레이션은 종종 실행하는데 극도로 계산적으로 비용이 많이 들고, 실행당 시간 이상이 소요될 수 있다.Nelder-Mead 방법은 원래 변종에서 나중에 설명한 축소 연산을 제외하고 반복당 2회 이하의 평가를 요구하는데, 이는 다른 직접 검색 최적화 방법에 비해 매력적이다.그러나 제안된 최적화에 대한 전체 반복 횟수는 많을 수 있다.

n 치수의 Nelder-Mead는 심플렉스(simplex)로 배열된 n + 1의 시험 지점 세트를 유지한다.그런 다음 새로운 시험 지점을 찾기 위해 각 시험 지점에서 측정한 목표 함수의 동작을 추론하고 오래된 시험 지점 중 하나를 새로운 시험 지점으로 교체하여 기법을 진행시킨다.가장 간단한 접근법은 최악의 점을 나머지 n개의 점의 중심을 통해 반사되는 점으로 대체하는 것이다.이 지점이 가장 좋은 현재 지점보다 좋다면 이 선을 따라 기하급수적으로 스트레칭을 해 볼 수 있을 것이다.반면에, 만약 이 새로운 지점이 이전 가치보다 훨씬 낫지 않다면, 우리는 계곡을 가로질러 가고 있기 때문에, 우리는 더 나은 지점으로 단순함을 축소한다."수리적 레시피"의 알고리즘에 대한 직관적인 설명:

내리막 심플렉스 방식은 이제 일련의 단계를 거치게 되는데, 대부분의 스텝은 기능이 가장 큰 심플렉스("최고점")의 점을 심플렉스 반대면을 통해 더 낮은 지점으로 이동하기만 하면 된다.이러한 단계를 반사라고 하며, 단순함의 부피를 보존하기 위해 구성된다(따라서 비생식성을 유지한다).그렇게 할 수 있을 때, 그 방법은 심플렉스를 한 방향으로 혹은 다른 방향으로 확장시켜 더 큰 단계를 밟는다.'밸리 바닥'에 이르면 그 방법은 가로 방향으로 저절로 수축되어 골짜기로 흘러내려 한다.심플렉스가 '바늘의 눈'을 통과하려 하는 상황이 발생하면 사방으로 수축해 가장 낮은(최상의) 지점을 중심으로 스스로 끌어당긴다.

현대적 최적화 방법과 달리, Nelder-Mead 휴리스틱스는 현대적 방법에 필요한 것보다 더 강한 조건을 만족시키지 않는 한, 논스테이션 포인트로 수렴할 수 있다.[1]넬더-미드 휴리스틱스에 대한 현대의 개선은 1979년부터 알려져 있다.[2]

해결되는 문제의 실제 성격에 따라 많은 변형이 존재한다.일반적인 변종은 구배 방향(가장 가파른 하강)을 대략적으로 따르는 일정한 크기의 소형 심플렉스(simplex)를 사용한다.표고 지도에서 작은 삼각형이 계곡에서 로컬 하단으로 넘어가는 모습을 시각화하십시오. 방법은 융통성 있는 다면체법으로도 알려져 있다.그러나 이것은 별로 흥미가 없는 분야에서는 작고 불필요한 단계를 만들기 때문에 이 글에서 기술된 방법에 대해 저조한 성과를 보이는 경향이 있다.

NM 알고리즘의 가능한 한 가지 변화

(이것은 원본 Nelder-Mead 기사의 절차에 가깝다.)

로젠브록 함수에 적용된 넬더-메드 방식

We are trying to minimize the function , where . Our current test points are .

1. 정점의 값에 따라 정렬한다.

메서드가 중지되어야 하는지 여부를 확인하십시오.아래 종료를 참조하십시오.때때로 부적절하게 "융합"이라고 불린다.

2. { x + 1 를 제외한 모든 점의 중심x o를 계산한다

3. 반사

보다 보다 작은 = x o +( x - x n+ 1){\{}을으)로
반사된 지점이 두 번째 최악의 지점보다 낫지만 좋은 지점보다 낫지 않은 경우, 즉 ( ) ( r)< f( ) {x}}, n}}}, )
그런 다음 최악의 점 + 1 을(를) 반사된 교체하여 새 심플렉스를 구하고 1단계로 이동하십시오.

4. 확장

지금까지 반사된 점이 가장 좋은 점이라면 (x )<( ) {x}),
다음 확장된 점 x = + ( r - ) 계산한다.
확장 지점이 반사 지점보다 나은 경우, ( )< f( ){\,
그런 다음 최악의 지점 + 을(를) x e {\ \ _{ 교체하여 새 심플렉스를 구하고 1단계로 이동하십시오.
그렇지 않으면 최악의 점 + 1 을(를) 반사된 교체하여 새 심플렉스를 구하고 1단계로 이동하십시오.

5. 수축

( x ) f( ) f. (: n {} _{n가 두 번째 또는 "가장 높은 값보다 "다음"인 것이 확실하다.)
( )< f( + ) f인 경우
then compute the contracted point on the outside with .
수축된 점이 반사된 점보다 나은 경우( c)< f( )
그런 다음 최악의 점 + 1 을(를) 된 점 교체하여 새 심플렉스를 구하고 1단계로 이동하십시오.
그렇지 않으면 6단계에 도달한다.
( ) ( n+ 1) 인 경우
then compute the contracted point on the inside with .
만약 그가 수축된 점이 최악의 지점보다 낫다면, 즉, ( )< ( + 1){\ f
그런 다음 최악의 점 + 1 을(를) 된 점 교체하여 새 심플렉스를 구하고 1단계로 이동하십시오.
그렇지 않으면 6단계에 도달한다.

6. 수축

최량(x 을 제외한 모든 점을 다음으로 교체하십시오.
= x + ( - ) {x}) _{1} 단계로

참고: 각각 반사, 팽창, 수축 계수, 수축 계수다.표준 값은 = = =1/ 2 = =1 / \sigma 2}이다.

반사의 경우, + 정점들 사이에서 연관 값이 더 높은 정점이기 때문에, 모든 정점 i { 반사에서 더 낮은 값을 찾을 수 있을 것으로 예상할 수 있다.을(를) 제외하고 n+ 1

확장의 경우, 반사점 이 정점을 따라 새로운 최소값이라면 에서 까지의 방향을 따라 흥미로운 값을 찾을 수 있을 것으로 기대할 수 있다.

수축과 관련하여 ( )> ( x ) })>>f(\mathbf {n 가 되면 모든 i 에 의해 형성된 심플렉스 안에 더 나은 값이 있을 것으로 기대할 수 있다

마지막으로, 수축은 가장 큰 지점에서 멀리 떨어져 수축하는 희귀한 사례를 다루며 비음향적 최소치에 충분히 근접할 수 없는 어떤 을 f를 증가시킨다.그 경우 우리는 더 단순한 경관을 찾으려는 기대에서 최저점을 향해 수축한다.그러나 내시는 유한정밀 산술은 때때로 실제로 심플렉스를 축소하지 못할 수 있다는 점에 주목하고, 실제로 크기가 축소되는 체크도 실행했다.[6]

초기 심플렉스

초기 심플렉스는 중요하다.실제로 너무 작은 초기 단순화는 로컬 검색으로 이어질 수 있으며, 결과적으로 NM이 더 쉽게 고착될 수 있다.그래서 이 심플렉스는 문제의 본질에 의존해야 한다.그러나 원문에서는 각 차원을 차례로 따라 고정된 스텝으로 생성된 다른 점들과 함께 초기 가 x {\ }로 주어지는 심플렉스(simplex)를 제안했다.따라서 이 방법은 를) 구성하는 변수의 스케일링에 민감하다

종료

반복 주기를 깨기 위해서는 기준이 필요하다.Nelder와 Mead는 현재 심플렉스 함수 값의 표본 표준 편차를 사용했다.이러한 점이 어느 정도 허용오차 이하로 떨어지면 주기가 정지되고 제안된 최적점으로서 심플렉스 내 최저점이 반환된다.매우 "평평한" 함수는 큰 도메인에 걸쳐 거의 동일한 함수 값을 가질 수 있으므로 솔루션이 허용오차에 민감하게 반응한다는 점에 유의하십시오.내시는 수축에 대한 시험을 또 다른 종료 기준으로 추가한다.[6]반복이 수렴되는 동안 프로그램이 종료된다는 점에 유의하십시오.

참고 항목

참조

  1. ^ a b
    • Powell, Michael J. D. (1973). "On Search Directions for Minimization Algorithms". Mathematical Programming. 4: 193–201. doi:10.1007/bf01584660. S2CID 45909653.
    • McKinnon, K. I. M. (1999). "Convergence of the Nelder–Mead simplex method to a non-stationary point". SIAM Journal on Optimization. 9: 148–158. CiteSeerX 10.1.1.52.3900. doi:10.1137/S1052623496303482. (온라인 요약 참조).
  2. ^ a b
    • 유, 원씨. 1979년."긍정적 기반과 직거래 검색 기법의 클래스"사이언톨리아 시니카 [중궈 케슈에]: 53-68.
    • 유, 원씨. 1979년."간단한 진화 기법의 융합 특성"사이언티니아 시니카 [중궈 케슈에]: 69–77.
    • Kolda, Tamara G.; Lewis, Robert Michael; Torczon, Virginia (2003). "Optimization by direct search: new perspectives on some classical and modern methods". SIAM Rev. 45 (3): 385–482. CiteSeerX 10.1.1.96.8672. doi:10.1137/S003614450242889.
    • Lewis, Robert Michael; Shepherd, Anne; Torczon, Virginia (2007). "Implementing generating set search methods for linearly constrained minimization". SIAM J. Sci. Comput. 29 (6): 2507–2530. CiteSeerX 10.1.1.62.8771. doi:10.1137/050635432.
  3. ^ Nelder, John A.; R. Mead (1965). "A simplex method for function minimization". Computer Journal. 7 (4): 308–313. doi:10.1093/comjnl/7.4.308.
  4. ^ Spendley, W.; Hext, G. R.; Himsworth, F. R. (1962). "Sequential Application of Simplex Designs in Optimisation and Evolutionary Operation". Technometrics. 4 (4): 441–461. doi:10.1080/00401706.1962.10490033.
  5. ^
  6. ^ a b Nash, J. C. (1979). Compact Numerical Methods: Linear Algebra and Function Minimisation. Bristol: Adam Hilger. ISBN 978-0-85274-330-0.

추가 읽기

외부 링크