Levenberg-Marquardt Method

Levenberg-Marquardt 정의

  • Levenberg-Marquardt 방법은 Gauss-NewtonGradient Descent가 결합된 형태로서 현재 매개변수 값이 최적해로부터 멀리 떨어져 있을때 Gradient Descent방식으로 동작하고 최적해 근처에서는 Gauss-Newton 방식으로 동작한다.
  • 이러한 특성 덕분에 Levenberg-Marquardt는 초기 추정값이 좋지 않더라도 안정적으로 수렴하며, 최적해 근처에서는 빠른 수렴 속도를 유지할 수 있어 비선형 최고제곱 문제 해결에 널리 사용된다.
  • Least Squares 문제는 개의 변수 개의 데이터에 대한 잔차 함수의 벡터가 일 때, 잔차의 제곱합을 최소화하는 를 찾는다.

Levenberg-Marquardt 알고리즘

Gradient Descent

  • Levenberg-Marquardt 방법은 Gauss-Newton과 Gradient Descent을 결합한 알고리즘으로, 각 방법의 파라미터 업데이트 수식은 다음과 같다.
  • 현재 파라미터 에 대한 비선형 최소제곱 문제에서 Gradinet Descent 업데이트 식은 다음과 같다.
  • : Step Size, Learning Rate
  • : 현재 위치에서의 Jacobian
  • : 현재 잔차 벡터

Gauss-Newton

  • 현재 파라미터 에 대한 Gauss-Newton 선형 근사 정규방정식과 업데이트 식은 다음과 같다.

Levenberg-Marquardt

  • 감쇠 계수(damping parameter) 항을 추가하여 Gradient Descent와 Gauss-Newton 중 어느 방식에 더 가깝게 동작할지를 조절한다.
  • : 감쇠 계수 (Damping Parameter)
  • : 항등 행렬 (Identity Matrix)

감쇠계수 의 역할

  • Levenberg-Marquardt의 핵심은 의 크기 변화에 따라 성격이 바뀐다는 점이다.
  • 작을 때는 Levenberg-Marquardt이 Gauss-Newton과 거의 같아진다.
  • 클 때는 Levenberg-Marquardt이 Gradient Descent와 거의 같아진다.

감쇠계수 의 조절 전략

  • 감쇠계수 가 작을 때는 최적해 근처에서 Gauss-Newton의 빠른 수렴 속도를 활용하고, 클 때에는 최적해로부터 멀리 떨어져 있을 때 Gradient Descent의 안정적인 수렴 특성을 활용하여 발산을 방지 할 수 있다.
  • Levenberg-Marquardt 알고리즘은 각 반복 단계에서  값을 동적으로 조절한다.
  1. 새로운 파라미터 을 계산한 후, 잔차 제곱합 을 평가한다.
  2. 만약 기존 파라미터 의 잔차보다 더 작으면 를 감소시켜 Gauss-Newton에 가깝게 동작하도록 한다.
    • , 여기서
  3. 만약 기존 파라미터 의 잔차보다 더 크면 를 증가시켜 Gradient Descent에 가깝게 동작하도록 한다.
    • 기존 파라미터 는 유지하고, 증가시킨 값으로 다시 를 계산한다.