기계학습 2013. 4. 26. 18:56
뉴턴법/뉴턴-랩슨법 하면 대부분 방정식의 근사해를 구하는 방법 정도로 알고 있지만 뉴턴법을 확장하면 연립방정식의 해, 나아가서는 비선형(non-linear) 모델의 파라미터를 구하는 문제까지 확장될 수 있습니다.
뉴턴법/뉴턴랩슨법 뿐만 아니라 가우스-뉴턴법, 비선형 최소자승법은 모두 연관된 내용이기 때문에 이들을 한꺼번에 알아두면 좋을 것 같습니다. 그러면 구체적인 예와 함께 이들을 하나씩 살펴보도록 하겠습니다.
뉴턴법(Newton's Method)의 이해
뉴턴법(Newton's Method)의 특징 및 제약사항
뉴턴법의 활용
가우스-뉴턴 방법을 이용한 연립방정식의 근사해 구하기
가우스-뉴턴 방법을 이용한 비선형 최소자승법
비선형 최소자승법 예제: 원 근사
1. 뉴턴법(Newton's Method)의 이해
뉴턴법(Newton's method)은 뉴턴-랩슨법(Newton-Raphson method)이라고도 불리는데, 방정식 f(x) = 0의 해를 근사적으로 찾을 때 유용하게 사용되는 방법이다.
예를 들어, 아래와 같이 x에 대한 7차 방정식이 있는데 이건 머 인수분해도 안되고 도저히 정상적인 방법으로는 해를 구하기 힘들다. 이럴 때 사용해 볼 수 있는 방법이 뉴턴법이다.
뉴턴법은 기본적으로는 f'(a)가 x = a에서의 접선의 기울기라는 미분의 기하학적 해석을 이용한다. f(x) = 0인 x를 찾고 싶은데 그러한 해를 전혀 모른다고 하자.
그럴 땐, 일단은 아무값이나 x = a를 넣고 f(a)의 값을 살펴본다. 만일 f(a)>0이고 f'(a)>0라면 f(x) = 0이 되는 x는 a보다 작은 값일 것이다 (머리 속으로 그래프를 그려보시길..). 따라서 다음에는 a보다 작은 값을 넣고 함수값을 살펴본다. 그런데, 해가 a보다 작은 곳에 있다는 것은 알겠는데 얼마나 값을 줄여야 하는 걸까? 만일 x=a에서의 |함수값|이 작고 접선의 기울기가 가파르다면 바로 근처에 해가 있을 것이고, 반대로 |함수값|이 크고 접선 기울기가 완만하다면 멀리 떨어진 곳에 해가 존재할 것이다.
뉴턴법(Newton's method)/뉴턴-랩슨법(Newton-Raphson method)은 현재 x값에서 접선을 그리고 접선이 x축과 만나는 지점으로 x를 이동시켜 가면서 점진적으로 해를 찾는 방법이다.
아래 그림을 예로 들면, 만일 처음에 x = x1에서 시작했다면 그 다음 x값은 x2가 될 것이고, x2에서 다시 접선을 그려보면 점차 실제 해에 가까워지는 것을 확인할 수 있다. 이와 같은 과정을 계속 반복하다보면 해를 찾을 수 있다는 게 뉴턴법(Newton's method)이다.
뉴턴법(Newton's method)/뉴턴-랩슨법(Newton-Raphson method)을 수식화하면 아무 값이나 초기값 x1에서 시작해서 다음 수식에 따라 수렴할 때까지 계속 x를 이동시켜 나간다 이다.