courses
어떤 방정식은 깔끔한 대수적 해를 갖지 않습니다.
인수분해와 치환을 아무리 해도 폐형식을 갖지 않는 방정식이 있습니다. 예를 들어, 5차 이상의 다항식은 일반적인 대수적 해법이 없습니다. e^x = 3x처럼 지수함수와 다항식을 섞은 함수도 같은 부류에 속합니다. 이런 경우에는 다른 접근이 필요합니다.
뉴턴 방법이 바로 그 접근입니다. 함수의 접선을 이용해 더 똑똑한 추정을 반복함으로써 수치적으로 근을 찾습니다.
이 글에서는 뉴턴 방법의 공식, 단계별 작동 방식, 언제 수렴하고 언제 수렴하지 않는지까지 실제 예시와 함께 설명합니다.
데이터 사이언티스트라면 알아야 할 더 많은 수학 주제를 찾고 계신가요? 금융, 물리, 컴퓨터 과학에 어떻게 적용되는지 알아보려면 등비수열: 공식, 수렴, 예시 블로그 게시물을 읽어 보세요.
뉴턴 방법이란?
뉴턴 방법은 함수의 근을 찾는 반복 기법입니다. 근은 함수값이 0이 되는 입력값을 말합니다.
초기 추정값으로 시작합니다. 그 지점에서 함수의 기하학적 성질을 이용해 더 나은 추정을 만듭니다. 이 과정을 반복하면 실제 근에 점점 가까워집니다.
핵심은 이것뿐입니다. 답으로 수렴하는 영리하고 반복 가능한 갱신 규칙이 필요합니다.
뉴턴 방법 공식
뉴턴 방법의 핵심은 근에 충분히 가까워질 때까지 반복 적용하는 단일 갱신 규칙입니다.
공식은 다음과 같습니다:

뉴턴 방법 공식
각 반복에서 현재 추정값 x_n으로부터 더 나은 값 x_{n+1}을 만듭니다. 결과가 0에 충분히 가까워질 때까지 갱신을 계속합니다.
공식은 세 가지 요소로 이뤄집니다:
-
x_n- 현재 근에 대한 추정값 -
f(x_n)- 그 추정값에서의 함수값 -
f'(x_n)- 그 추정값에서의 도함수로, 접선의 기울기를 알려줍니다
f(x_n)이 크면 근에서 멀리 떨어져 있다는 뜻입니다. f'(x_n)의 기울기가 가파르면 함수가 빠르게 변하므로 더 큰 보폭을 취할 수 있습니다. 비율 f(x_n) / f'(x_n)은 얼마나 이동해야 할지를 정확히 알려주며, 이를 현재 추정값에서 빼서 근에 더 가까이 다가갑니다.
f'(x_n)이 0이거나 0에 아주 가까우면 공식이 제대로 작동하지 않습니다. 0으로 나누게 되어 다음 추정값을 만들 수 없기 때문입니다. 자세한 내용은 한계 섹션에서 다룹니다.
뉴턴 방법의 작동 방식
뉴턴 방법은 매 반복마다 같은 네 단계를 따릅니다.
-
초기 추정 선택: 근에 가까운 시작값
x_0를 고릅니다. 정확할 필요는 없고, 그 지점 주변에서 함수가 예측 가능하게 거동할 정도면 됩니다. 수렴 섹션에서 "충분히 가깝다"의 의미를 설명합니다. -
함수값 계산:
f(x_0)를 계산합니다. 현재 추정에서 함수가 0에서 얼마나 떨어져 있는지 알려줍니다.f(x_0) = 0이면 끝입니다. 근을 찾은 것입니다. -
도함수 계산:
f'(x_0)를 계산합니다. 이는x_0에서의 함수 기울기, 즉 그 지점의 접선 기울기입니다. -
추정값 갱신: 이전 섹션의 공식에 따라 갱신 규칙을 적용합니다.
이제 완료입니다!
새 값 x_1은 접선이 x축과 만나는 지점입니다. 기하적으로는, x_0에서 곡선에 맞닿는 직선을 그려 x축까지 따라가 0과 만나는 곳을 찾는 것입니다. 그 교점이 다음, 더 나은 추정입니다.
그리고 반복합니다. x_1을 2~4단계에 다시 넣어 x_2를 구하고, 이어서 x_3를 구하는 식입니다. 매 반복에서 갱신된 지점에서 새 접선을 그려 x축과의 교점을 찾습니다.
f(x_n)이 0에 충분히 가까워지면 과정이 멈춥니다. 보통 미리 정의한 작은 임계값 아래로 내려가면 종료합니다.
뉴턴 방법의 기하학적 해석
그래프 위의 한 곡선을 떠올려 보세요. 그것이 함수 f(x)입니다. 근은 그 곡선이 x축과 교차하는 지점입니다. 아직 그 교차점을 모르므로, x축 위의 어느 지점 x_0을 추정으로 시작합니다.
각 단계에서 곡선 위의 점 (x_0, f(x_0))을 찍고, 그 점에서의 접선을 그립니다. 접선은 그 지점에서 곡선에 닿고 곡선의 기울기를 따르는 직선입니다. 이 접선은 수평이 아니고 기울어져 있으며, 이를 따라 내려가면 어느 지점에서 x축과 만납니다. 그 교점이 다음 추정값 x_1입니다.
그리고 반복합니다. x_1에서 새 접선을 그리고 x축과의 교점을 찾으면 x_2가 됩니다. 각 접선은 곡선의 국소적인 선형 근사이며, 각 교점은 실제 근에 더 가까이 도달합니다.
아래 차트는 f(x) = x^2 - 2에 대해 x_0 = 2.5에서 시작해 뉴턴 방법을 두 번 반복한 모습을 보여줍니다:

기하학적 해석 차트
이 방법이 효과적인 이유는 접선이 주어진 점에서 곡선을 가장 잘 근사하는 직선이기 때문입니다. 근에 가까워질수록 접선은 곡선 자체와 더 닮아가며, 다음 단계의 정확도도 높아집니다.
실제로 추정값은 근에 조금씩만 다가가는 것이 아니라 빠르게 도약하며, 반복할 때마다 맞는 소수 자릿수가 종종 두 배로 늘어납니다.
뉴턴 방법의 단계별 예시
f(x) = x^2 - 2에 뉴턴 방법을 적용해 보겠습니다. 이 함수의 근은 x = sqrt(2) ≈ 1.4142로, 2의 제곱근을 구하는 셈입니다.
도함수는 f'(x) = 2x이므로 갱신 규칙은 다음과 같습니다:

예시 (갱신 규칙)
초기 추정값을 x_0 = 2.5로 시작해 보겠습니다.
반복 1:

예시 (반복 1)
반복 2:

예시 (반복 2)
반복 3:

예시 (반복 3)
단 3번의 반복만에 소수점 넷째 자리까지 정확해졌습니다. x_0에서의 오차 1.086은 x_3에서 0.0001까지 줄었고, 반복할수록 계속 감소합니다.
이 추정값과 오차가 시각적으로 어떻게 보이는지 살펴보겠습니다:

추정과 오차의 시각적 개요
왼쪽 패널은 각 추정이 sqrt(2) ≈ 1.4142에 가까워지는 모습을, 오른쪽 패널은 로그 스케일에서 오차가 작아지는 모습을 보여줍니다. 각 반복은 대략 이전보다 정밀도를 제곱합니다.
뉴턴 방법의 수렴
뉴턴 방법은 빠르게 수렴할 수 있지만, 조건이 맞아야 합니다.
초기 추정이 근에 가깝고 그 주변에서 함수가 매끄럽다면, 방법은 이차 수렴을 보입니다. 예시에서 본 것처럼 각 반복에서 오차가 대략 제곱으로 줄어듭니다. 두 자리의 정확도가 네 자리, 여덟 자리로 이어집니다.
이를 위해서는 두 가지 조건이 필요합니다:
- 좋은 초기 추정:
x_0가 실제 근에 가까울수록 더 빨리 수렴합니다. 너무 멀리서 시작하면 그 지점의 접선이 잘못된 방향으로 안내할 수 있습니다. - 잘 거동하는 함수: 근 주변에서 함수가 매끄럽고 미분 가능해야 합니다. 급격한 굴절이나 평평한 구간은 접선 근사를 방해할 수 있습니다.
가장 흔한 실패 모드는 도함수가 0에 가까운 경우입니다.
f'(x_n)이 0에 가까우면 갱신 규칙에서 아주 작은 수로 나누게 되어 다음 추정이 근에서 멀리 벗어납니다. 최악의 경우 f'(x_n) = 0이면 0으로 나눌 수 없으므로 계산이 중단됩니다.
나쁜 시작점은 방법을 진동하게 하거나 발산시키기도 합니다. 근에 가까워지지 않고 추정값이 이리저리 튀거나 매 반복마다 멀어질 수 있습니다.
뉴턴 방법은 좋은 설정을 보상합니다. 합리적인 초기 추정과 매끄러운 함수만 있으면 빠르게 수렴합니다.
뉴턴 방법의 장점
조건이 맞을 때 뉴턴 방법의 성능을 능가하기는 어렵습니다.
가장 큰 장점은 이차 수렴입니다. 대부분의 수치 기법은 선형 속도로 근에 접근해, 반복마다 오차를 일정량씩 줄입니다. 뉴턴 방법은 오차를 제곱으로 줄이므로, 매우 적은 반복으로도 빠르게 정확해집니다.
또한 범용적입니다. 다항식, 삼각함수, 지수함수 등 매우 다양한 함수에 아무것도 바꾸지 않고 적용할 수 있습니다. 그래서 공학 시뮬레이션부터 머신러닝 모델 학습에 이르기까지 많은 분야에서 쓰입니다.
뉴턴 방법의 한계
뉴턴 방법은 그 속도만큼 대가를 요구합니다. 유의해야 할 한계는 다음과 같습니다:
-
도함수가 필요합니다: 한 번의 반복을 시작하기 전에
f'(x)의 해석적 표현이 필요합니다. 도함수를 구하기 어렵거나 존재하지 않는 함수라면 다른 접근이 필요합니다. -
초기 추정에 민감합니다: 근에서 너무 멀리서 시작하면 잘못된 방향으로 갈 수 있습니다.
-
수렴하지 않을 수 있습니다: 함수에 평평한 구간이나 급격한 곡률이 있으면 접선 근사가 제대로 작동하지 않습니다.
-
발산하거나 진동할 수 있습니다: 나쁜 경우에는 추정값이 수렴하지 않고 근에서 더 멀어지거나 무한히 앞뒤로 튈 수 있습니다.
따라서 뉴턴 방법을 적용하기 전에 함수의 성질을 이해해야 합니다.
뉴턴 방법과 다른 근 찾기 방법 비교
뉴턴 방법이 근을 찾는 유일한 방법은 아니며, 항상 최선의 선택도 아닙니다.
흔히 거론되는 다른 방법으로 이분법과 할선법이 있습니다. 간단히 살펴보겠습니다.
이분법
이분법은 세 가지 중 가장 단순합니다. 함수의 부호가 바뀌는 구간 [a, b]에서 시작합니다. 즉, 그 안 어딘가에 근이 존재한다는 뜻입니다. 그런 다음 구간을 계속 반으로 나누며, 부호 변화가 남아 있는 절반을 유지합니다.
이 방법은 작동하지만 느립니다. 반복마다 오차가 절반으로 줄어드는 선형 수렴을 보입니다. 하지만 함수가 연속이고 초기 구간이 근을 끼고 있으면 작동이 보장됩니다. 도함수도 필요 없습니다.
할선법
할선법은 뉴턴 방법과 가까운 친척입니다. 도함수를 해석적으로 계산하는 대신, 이전 두 추정을 이용해 도함수를 근사합니다:

할선법 공식
도함수를 계산하기 어려울 때 좋은 접근입니다. 다만 수렴 속도는 약간 떨어집니다. 할선법은 이분법보다 빠르지만 뉴턴 방법보다는 느립니다.
뉴턴 방법의 응용
뉴턴 방법은 과학, 공학, 머신러닝 전반에 걸쳐 사용됩니다. 구체적으로 살펴보겠습니다.
방정식의 수치적 해 구하기
가장 직접적인 응용입니다. 함수가 폐형식을 갖지 않을 때 뉴턴 방법으로 근을 찾습니다. 이는 과학 계산에서 자주 등장합니다. 예를 들어 화학 반응의 평형점 찾기나 신호처리에서의 초월방정식 풀이 등이 있습니다.
최적화
함수 f(x)의 최솟값 또는 최댓값을 찾는 것은 그 도함수 f'(x) = 0이 되는 지점을 찾는 것입니다. 이는 근 찾기 문제이므로 뉴턴 방법을 적용할 수 있습니다. f(x) 대신 f'(x)에 알고리즘을 적용하고, 1차 도함수 대신 2차 도함수 f''(x)를 사용합니다.
이 변형은 최적화를 위한 뉴턴 방법이라 부르며, 매끄럽고 잘 거동하는 함수에서는 경사하강법보다 더 빠르게 수렴합니다.
머신러닝
머신러닝에서 모델 학습은 손실 함수를 최소화하는 일입니다. 뉴턴 방법과 그 변형은 여기서 여러 용도로 사용됩니다.
L-BFGS(Limited-memory Broyden-Fletcher-Goldfarb-Shanno)는 2차 도함수를 직접 계산하지 않기 위해 이를 근사하는 준-뉴턴 최적화기입니다. 로지스틱 회귀 등 볼록 문제에서 표준 선택지입니다. 또한 뉴턴 방법은 일반화 선형모형 등 통계 모델 적합에서 쓰이는 뉴턴-랩슨 갱신의 기반이 됩니다.
물리와 공학
뉴턴 방법은 시뮬레이션과 설계 전반에 걸쳐 사용됩니다. 엔지니어는 물리 시스템을 설명하는 비선형 연립방정식을 풀기 위해 이를 활용합니다. 구조 응력 해석이나 유체역학을 떠올려 보세요. 이런 문제는 결국 일련의 방정식이 0이 되는 지점을 찾는 문제로 귀결됩니다.
뉴턴 방법에서 흔한 실수
뉴턴 방법에서 발생하는 대부분의 오류는 네 가지로 요약됩니다. 하나씩 살펴보겠습니다.
-
근에서 너무 멀리서 시작함: 잘못된 초기 추정은 발산이나 진동의 가장 흔한 원인입니다. 근이 어디쯤인지 감이 없다면 먼저 함수를 그려보세요. 어디서 시작할지 알 수 있습니다.
-
도함수를 잘못 구함: 갱신 규칙은
f'(x)에 의존합니다. 계산 실수나 코딩 오류로 도함수가 틀리면 첫 반복부터 잘못된 추정이 나오고, 반복할수록 오차가 누적됩니다. -
0으로 나누기를 확인하지 않음.
f'(x_n)이 0이거나 매우 가까워지면 갱신 단계가 작동하지 않습니다. 구현에 가드를 추가하세요. 도함수가 어떤 작은 임계값 아래로 내려가면, 의미 없는 결과를 내기보다 중단하고 실패를 보고해야 합니다. -
너무 일찍 중단함. 수렴하기 전에 반복을 끊으면 겉보기에만 그럴듯한 답을 얻게 됩니다. 정해진 반복 횟수가 아니라, 실제 오차
|f(x_n)|또는|x_{n+1} - x_n|이 신중히 선택한 임계값 아래로 떨어질 때 중단하도록 조건을 설정하세요.
결론
뉴턴 방법은 수치 계산에서 가장 유용한 도구 중 하나입니다. 하나의 갱신 규칙을 반복 적용하는 것만으로도 몇 번의 반복 안에 임의의 정밀도로 근을 찾을 수 있습니다.
이 속도를 얻기 위한 조건이 있습니다. 빠른 수렴을 위해서는 좋은 초기 추정, 평평하지 않은 함수, 지나치게 뾰족하지 않은 함수, 0이 아닌 도함수가 필요합니다. 이 조건들을 이해하면 언제 뉴턴 방법을 쓰고, 언제 이분법이나 할선법 같은 다른 방법을 써야 할지 알 수 있습니다.
직관을 기르는 가장 좋은 방법은 간단한 예제로 연습하는 것입니다. f(x) = x^2 - 2부터 시작해 다양한 시작점을 시도해 보고 어떻게 되는지 살펴보세요. 여러 근이나 평평한 구간이 있는 함수로 넘어가 방법이 어디서 한계를 보이는지도 관찰해 보세요.
반복을 통한 최적화 개념이 마음에 든다면 경사하강법을 꼭 알아두세요. 머신러닝 모델을 어떻게 최적화하는지 알아보려면 머신러닝에서의 경사하강법: 심층 탐구를 읽어 보세요.
FAQs
뉴턴 방법은 무엇에 사용되나요?
뉴턴 방법은 함수의 근, 즉 x의 값 중 f(x) = 0이 되는 값을 찾는 수치 기법입니다. 대수적으로 깔끔한 해가 없는 방정식을 다룰 때 과학, 공학, 머신러닝 전반에서 사용됩니다. 대표적인 용도는 비선형 방정식 풀이, 통계 모델 적합, L-BFGS 같은 최적화 알고리즘의 동력 제공 등입니다.
뉴턴 방법이 수렴하려면 몇 번의 반복이 필요하나요?
함수와 초기 추정에 따라 다르지만, 조건이 맞으면 뉴턴 방법은 매우 적은 반복으로 수렴합니다. 이차 수렴 덕분에 매 단계마다 맞는 소수 자릿수가 대략 두 배로 늘어납니다. 실제로는 몇 번의 반복만으로 기계 정밀도에 도달하는 경우가 흔합니다.
뉴턴 방법이 수렴하지 않으면 어떻게 되나요?
초기 추정이 근에서 너무 멀거나, 시작 지점 근처에서 함수가 평평하면 수렴하지 않고 발산하거나 진동할 수 있습니다. 도함수가 0에 가까운 경우가 흔한 원인으로, 다음 추정을 크게 벗어나게 만듭니다. 이런 경우에는 더 안정적인 이분법으로 전환하거나 초기 추정을 개선하면 보통 문제가 해결됩니다.
뉴턴 방법과 할선법의 차이는 무엇인가요?
두 방법은 핵심 갱신 아이디어는 같지만, 뉴턴 방법은 해석적 도함수 f'(x)가 필요하고, 할선법은 이전 두 추정을 이용해 이를 근사합니다. 도함수 계산이 어려울 때 할선법이 유용하지만, 수렴 속도는 뉴턴 방법보다 다소 느립니다.
뉴턴 방법에서 이차 수렴은 무엇을 의미하나요?
이차 수렴이란 각 반복의 오차가 이전 반복 오차의 제곱에 비례한다는 뜻입니다. 쉽게 말해, 두 자리 정확도가 있었다면 다음 반복에서 네 자리, 그다음은 여덟 자리로 늘어납니다. 이는 매번 오차를 절반으로만 줄이는 이분법보다 뉴턴 방법이 훨씬 빠른 이유입니다.