맨위로가기

로젠브록 함수

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

로젠브록 함수는 다변수 함수 최적화 문제에서 사용되는 함수로, 전역 최솟값을 찾는 것이 어려운 벤치마크 함수로 활용된다. 이 함수의 일반화는 여러 변형이 있으며, 그중 두 가지가 널리 사용된다. 첫 번째는 짝수 N에 대해서만 정의되며, 두 번째 변형은 N=3일 때 하나의 최솟값을 갖고, 4≤N≤7일 때 두 개의 최솟값을 갖는다. 로젠브록 함수는 최적화 알고리즘의 성능을 평가하는 데 사용되며, 적응 좌표 하강법이나 넬더-미드 방법과 같은 최적화 기법을 통해 효율적으로 최적화할 수 있다.

더 읽어볼만한 페이지

  • 수학적 최적화 - 제약된 최적화
    제약된 최적화는 제약 조건을 만족하는 해 중에서 목적 함수를 최적화하는 해를 찾는 문제로, 자원 할당, 스케줄링 등에 활용되며, 다양한 제약 조건과 해법을 통해 해결될 수 있습니다.
  • 수학적 최적화 - 모서리해
    모서리 해는 경제학에서 소비자가 예산 제약 하에 효용을 극대화할 때, 두 상품 중 하나만 소비하는 경우를 의미하며, 이는 소비자의 극단적인 선택이나 완전 대체재 관계에서 가격이 낮은 상품만 구매하는 경우 등에 나타나는 현상입니다.
로젠브록 함수

2. 다차원 일반화

로젠브록 함수는 다차원으로 일반화할 수 있으며, 일반적으로 두 가지 변형이 사용된다.

첫 번째 변형은 짝수 N에 대해서만 정의되며, N/2개의 비결합 2차원 로젠브록 문제의 합으로 표현되어 예측 가능한 간단한 해를 갖는다.

두 번째 변형은 더 복잡하며, N=3일 때 하나의 최솟값을, 4 \le N \le 7일 때 두 개의 최솟값을 갖는다. 더 큰 N의 경우에는 관련된 계수의 크기로 인해 최솟값을 구하는 것이 어렵다.

2. 1. 첫 번째 일반화

일반적으로 사용되는 두 가지 로젠브록 함수 변형이 있다.

세 변수 로젠브록 함수의 애니메이션
[2]

첫 번째 변형은 짝수 N에 대해서만 정의되며, N/2개의 비결합 2차원 로젠브록 문제의 합으로 표현된다.

:f(\mathbf{x}) = f(x_1, x_2, \dots, x_N) = \sum_{i=1}^{N/2} \left[100(x_{2i-1}^2 - x_{2i})^2 + (x_{2i-1} - 1)^2 \right].[3]

이 변형은 예측 가능한 간단한 해를 가진다.

2. 2. 두 번째 일반화

일반적으로 사용되는 두 가지 변형이 있다.[2]

하나는 N/2개의 비결합 2차원 로젠브록 문제의 합이며, 짝수 N에 대해서만 정의된다.

:f(\mathbf{x}) = f(x_1, x_2, \dots, x_N) = \sum_{i=1}^{N/2} \left[100(x_{2i-1}^2 - x_{2i})^2 + (x_{2i-1} - 1)^2 \right].[3]

이 변형은 예측 가능한 간단한 해를 갖는다.

두 번째로 더 복잡한 변형은 다음과 같다.

:f(\mathbf{x}) = \sum_{i=1}^{N-1} [100 (x_{i+1} - x_i^2 )^2 + (1-x_i)^2] \quad \mbox{where} \quad \mathbf{x} = (x_1, \ldots, x_N) \in \mathbb{R}^N.[4]

N=3일 때 정확히 하나의 최솟값((1, 1, 1)에서)을 가지며, 4 \le N \le 7일 때 정확히 두 개의 최솟값, 즉 (1, 1, ..., 1)에서의 전역 최솟값과 \hat{\mathbf{x}} = (-1, 1, \dots, 1) 근처의 지역 최솟값을 갖는다. 이 결과는 함수의 기울기를 0으로 설정하고, 결과 방정식이 x유리 함수임을 관찰하여 얻어진다. 작은 N의 경우 다항식을 정확하게 결정할 수 있으며, Sturm의 정리를 사용하여 실수 근의 수를 결정할 수 있으며, 근은 |x_i| < 2.4 영역에서 경계를 정할 수 있다.[5] 더 큰 N의 경우에는 관련된 계수의 크기로 인해 이 방법은 실패한다.

3. 정류점

함수의 많은 정점들은 그래프로 나타낼 때 규칙적인 패턴을 보인다.[5] 이러한 구조를 이용하여 정점의 위치를 찾을 수 있다.

4. 최적화 예시

로젠브록 함수는 경사 정보를 사용하지 않거나 지역 근사 모델을 구축하지 않고도 적절한 좌표계를 적용하여 효율적으로 최적화할 수 있다.

적응 좌표 하강법을 사용한 로젠브록 함수 최적화


Rosenbrock function Nelder-Mead
로젠브록 함수에 적용된 넬더-미드 방법

4. 1. 적응 좌표 하강법



로젠브록 함수는 경사 정보를 사용하지 않고, 지역 근사 모델을 구축하지 않고도 (많은 무미분 최적화와 대조적으로) 적절한 좌표계를 적용하여 효율적으로 최적화할 수 있다. 다음 그림은 시작점 x|엑스영어=(-3,-4)에서 적응 좌표 하강법을 사용하여 2차원 로젠브록 함수를 최적화한 예시를 보여준다. 함수 값 10-10을 갖는 해는 325번의 함수 평가 후에 찾을 수 있다.

4. 2. 넬더-미드 방법



정규 초기 심플렉스를 사용하여 시작점 x_0=(-1,1)에서 넬더-미드 방법을 사용하면 185번의 함수 평가 후에 함수 값 1.36 \cdot 10^{-10}을 갖는 최솟값을 찾을 수 있다. 위 그림은 알고리즘의 진행 과정을 시각화한 것이다.

참조

[1] 논문 An automatic method for finding the greatest or least value of a function
[2] 서적 Computer Aided Graphing and Simulation Tools for AutoCAD users CRC Press
[3] 논문 Effect of Rounding Errors on the Variable Metric Method http://portal.acm.or[...]
[4] 웹사이트 Generalized Rosenbrock's function http://docs.scipy.or[...] 2008-09-16
[5] 논문 Locating and Characterizing the Stationary Points of the Extended Rosenbrock Function
[6] 저널 An automatic method for finding the greatest or least value of a function



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com