2012-09-10 4 views
1
의 기능을 로컬/글로벌 최소값을 찾을

은 우리가 두 변수의 함수를 보자 어떤 간격이나 극단적 인 극단에서는 극단적입니까?알고리즘,이 개 변수

도움 주셔서 감사합니다.

+0

함수에 대한 수학 공식이 있습니까? f는 어떻게 정의됩니까? – ninjagecko

+0

이것이 가능하다면 단순한 미적분과 닫힌 형태의 해법으로 충분할 것입니다. – duffymo

+0

@duffymo 정말 간단한 표현은 엄청나게 오작동하는 표면을 나타낼 수 있으며, 미적분은 지금까지만 진행됩니다. –

답변

3

열역학 및 야금의 아이디어로 구동되는 알고리즘 아이디어가 마음에 들면 simulated annealing을 볼 수도 있습니다.

생물학에서 현재 지식의 폭발을 좋아하기 때문에 어쩌면 genetic algorithms,을보고 싶을 것입니다.

+1

왜 투표가 중단 되었습니까? – duffymo

+0

유전 알고리즘이 알려진 2 차원 함수의 간단한 최소화와 어떻게 관련이 있는지 간단하게 코드화 할 수 있고 빠른 수렴을 통해 합리적으로 설명 할 수 있다면 나는 downvote를 upvote로 바꾸어 드리겠습니다. – ninjagecko

+0

아이디어 자체는 꽤 쉽습니다. 그들은 또한 글로벌 max 또는 min을 찾을 수 있다는 좋은 품질을 가지고 있습니다. 그라디언트 방법은 로컬 극한에 걸릴 수 있습니다. 코딩에 관해서는 두 가지를 돕기위한 라이브러리가 있습니다. 그보다 쉬운 게 뭔가요? 그러나 당신의 "행복하게 돌아서는"소리는 초대장처럼 들리지 않으며 도전처럼 들립니다. – duffymo

4

Gradient Descent은 그라디언트를 계산할 수 있다고 가정 할 때 함수에 대한 로컬 최소값을 찾는 현명한 선택입니다.

특정 도메인에 따라 다른 해결책이있는 경우도 있습니다. 예를 들어
는 로컬 찾을 수 있습니다 (기계 학습 분야에서 회귀 분석에 사용되는) Linear-Least-Squares에 대해 (글로벌,이 경우 함수는 볼록) - 당신이 사용할 수있는 normal equations

편집 : 의견에 제안 된대로 : 기능에 정보가없는 경우 hill climbing algorithm을 사용하여 어디에서 후보를 샘플링 할 수 있는지 알 수 있습니다 (방향을 무한대로 지정할 수 있기 때문에 샘플을 가져 가야합니다. 함수는 실수의 것입니다.) - 가장 유망한 것을 선택했습니다.
도형을으로 추출하고 numerical differentiation을 사용하고 그래디언트 디센트를 사용할 수도 있습니다.

+0

@undur_gongor : 나는 명시 적으로 언급했다. 이 지식이 없으면 힐 클라이밍 알고리즘을 사용하여 가능한 방향을 샘플링하고 가장 유망한 방향을 선택합니다. – amit

+0

미안, 분명히 나는 ​​그 부분을 간과했다. –

+0

@undur_gongor : 또한, 방금 편집하고 다른 솔루션을 추가했습니다. 미분을 수치로 계산합니다. – amit