[Áú¹®]Levenberg-Marquardt Method¿¡ ´ëÇؼ­...

조회수 89회
읽지 않은 첫 메시지로 건너뛰기

³ªÇöÅÂ

읽지 않음,
2000. 7. 3. 오전 3:00:0000. 7. 3.
받는사람
질문을 올립니다.
질문은 Levenberg-Marquardt algorithm에 대해서 입니다.
이 알고리즘에 대해서 "Numerical Recipes in C"라는 책으로부터 알 수가
있을것 같긴 하네요...
하지만 실제로 complex function( 실제적으로 어떠한 function은 아닙니다.
데이터에 가장 잘 맞게 파라메터를 fitting하려고 하는 functoin입니다.)에
대해서 적용한 결과 완전히 local-minima에 빠지는것 같아서...
과연 이 function을 제대로 사용하려면 어떻게 해야하는지..
어느정도 solution에 대한 근접한 답안은 가지고 있어야 하나요???
( 어디서 그런 말을 들은것 같긴 한데, 초기값을 설정하는게 중요하다고.. )
그리고 이에대해서 잘 알수 있는 서적이나, 논문을 어디서 구할 수 있을지...

좀 어려운 문제일것 같네요...
이 알고리즘에 대해서 아시는 분들 꼭 부탁드립니다.
아주 간단한 내용이라도, 아주 기본적인 내용이라도 상관 없습니다.
지푸라기라도 잡고 싶은 심정이네요...
제 메일 address는 ht...@cse.hanyang.ac.kr(나현태) 입니다.
가능하면 메일로 직접 답변을 해 주셨으면...
( 너무 많은걸 요구하나... 헤헤.. )

그럼 고수님들에게 도움을 청합니다.

즐거운 하루 되십시요...

Seok Gyun Kim

읽지 않음,
2000. 7. 13. 오전 3:00:0000. 7. 13.
받는사람
"나현태" <ht...@cse.hanyang.ac.kr> wrote in message
news:396098D5...@cse.hanyang.ac.kr...

| 질문을 올립니다.
| 질문은 Levenberg-Marquardt algorithm에 대해서 입니다.
| 이 알고리즘에 대해서 "Numerical Recipes in C"라는 책으로부터 알 수가
| 있을것 같긴 하네요...
| 하지만 실제로 complex function( 실제적으로 어떠한 function은 아닙니다.
| 데이터에 가장 잘 맞게 파라메터를 fitting하려고 하는 functoin입니다.)에
| 대해서 적용한 결과 완전히 local-minima에 빠지는것 같아서...
| 과연 이 function을 제대로 사용하려면 어떻게 해야하는지..
| 어느정도 solution에 대한 근접한 답안은 가지고 있어야 하나요???
| ( 어디서 그런 말을 들은것 같긴 한데, 초기값을 설정하는게 중요하다고.. )
| 그리고 이에대해서 잘 알수 있는 서적이나, 논문을 어디서 구할 수 있을지...
("Snip")
|

데이터 Fitting을 위한 파라미터추정 방법은 Least Square Problem이고 여기에
언급하고 있는 Levenverg-Marquardt 방법은 Gradient 방법들 중의 하나로
고전적이긴 하지만 아주 많이 사용되며 수렴효과도 우수한 것으로 알려져 있는 것
같습니다.

질문의 요지로 봐서는 극점이 여러개인 함수로 나타나고 있는 것으로 보이는데
이러한 경우에 이 방법을 적용하기에는 무리가 있을 것입니다. 우선 극점이
한개(unimodal function)인지 여러개인지(multimodal function)를 먼저 검증해야
하는 것이 선행되어야 할 것이며 주어진 영역범위내에서 초기값을 바꾸어 가면서
극저(혹은 극대) 값이 다르게 나타나는지 같은지 확인하는 시행착오의 방법을
시행해 보던가 Swann's 방법(초기 영역이 주어지지 않은 곳에서 unimodal부분을
찾아내는 방법) 등을 거쳐서 극점이 하나가 되는 영역에서만 이 점을 탐색해야 할
것입니다.
(이것을 검증하는 문제는 본인도 관심이 있지만 쉽게 쓰여진 자료가 그리많지
않은것 같군요.)

극점이 영역범위내에서 하나만 존재하는 경우 극점(maximum or minimum)을 구하는
방법은 아주 많은 방법이 사용되고 있고 언급한 방법도 그중의 하나입니다.
Gradient 방법을 2차원 도형으로 표현하면 지도상의 등고선을 연상하면 되고 초기
시작점에서 경사가 오르막길로 올라가는 벡터를 반복하여 구해 그 방향으로
계속이동해 감으로써 산의 정상에 도달하는 방법임을 잘 알고 계실 것입니다.
그러나 변수의 갯수가 많아지면 도면상으로 표현하는 것이 불가능 하고 단지
머릿속으로 상상히가면서 정점을 찾아갈 수 밖에 없습니다.

언급한 방법이 극점을 찾을 수 있으나 Local Extremum인지 Global Extremum인지의
구분은 논외로하고 단지 극점을 맴도는 현상이라면 차라리 1차도함수(Jacobian
Matrix)만으로 Gradient를 구해 탐색하는 것(Cauchy법)이 수렴속도는 느리지만
확실히 찾아갈 수도 있을 것입니다. 이에 반하여 Newton법이나 Modified-Newton법
그리고 Marquardt법과 많은 다른 방법들은 2차 도함수(Hessian Matrix)를 포함를
사용하고 있어서 수렴속도를 개선하고 있지만 극점에서 멀어져 있는 초기값을
사용하는 경우 오히려 수렴이 잘 안되는 경우도 발생합니다. Marquardt법은 이를
개선하여 초기에는 1차도함수를 주로 이용하고 극점에 가까워질 수록
Newton방법을 사용하는 Algorism으로 구성되어 있습니다. 그러나 이것은
Hessian과 Eigen Vector를 계산해야 하기 때문에 번거롭거나 오히려 연산속도를
늦출지도 모르겠습니다.

요즘 컴퓨터 연산속도가 빨라져서 알고리즘에 문제만 없다면 수렴시간은 크게
문제가 되지 않을 지도 모르겠습니다. 대개 최적화, Least Square, Maxmum
Likelyhood등에서는 개략함수의 형상을 염두에 두고 최적화 도구를 사용해야 할
것입니다.

참고되는 아래의 웹사이트는 몇가지 대표적 Nonlinear Optimization 방법을
소개하고 있습니다. 또 LP, OR, Optimization등의 분야에 관해 최근 좋은 책이
하나 발행되고 미국의 기술서적분야에서 (98년도인가?) 우수서적으로 선정되어
수상한 책도 소개합니다.


http://www-fp.mcs.anl.gov/otc/Guide/OptWeb/continuous/unconstrained/nonlinea
rls/index.html

http://gilbreth.ecn.purdue.edu/~rardin/oorbook/

참고하시기 바랍니다.
SGKim/000713


Seok Gyun Kim

읽지 않음,
2000. 7. 14. 오전 3:00:0000. 7. 14.
받는사람
"Seok Gyun Kim" <sy...@channeli.net> wrote in message
news:8kjf16$mnf$1...@b5nntp2.channeli.net...
최적화 참고 사이트를 헷갈리도록 알렸습니다. 죄송~
같은 곳인데 전체 연결 구조를 Tree형식으로 나타낸 곳을 지정했어야 했습니다.
바로 아래의 곳을 알려드린다는 것이 그만..
http://www-fp.mcs.anl.gov/otc/Guide/OptWeb/index.html

SGKim/000714


d

읽지 않음,
2000. 12. 15. 오전 4:22:3200. 12. 15.
받는사람

Seok Gyun Kim 이(가) <8kltsm$t4r$1...@b5nntp2.channeli.net> 메시지에서
작성하였습니다...
전체답장
작성자에게 답장
전달
새 메시지 0개