수치 해석: 테일러 정리
테일러 정리 (Taylor’s theorem)는 복잡한 형태의 비선형 함수 (nonlinear function)를 다항식의 무한 급수 (infinite series) 형태로 근사 (approximate)할 수 있게 해주며, 수치 해석 (numerical analysis)와 딥 러닝 (deep learning)을 이해하기 위해 반드시 알아야 하는 수학적 개념이다.
수열의 극한
수열 (sequence) \({a_n}\)은 \(a_1, a_2, \cdots, a_n\)와 같이 순서가 정해진 수를 나열한 것이다.
수열을 이루는 각각의 수를 수열의 항 (term)이라고 하는데, 예를 들어 \(a_10\)은 수열에서 \(10\)번째로 나타나는 수 또는 수열의 \(10\)번째 항을 뜻한다.
\(a_1, a_2, \cdots, a_n, \cdots\)처럼 수열의 항을 무한히 나열한 것을 무한 수열 (infinite sequence)라고 하는데, 무한 수열은 정의역이 양의 정수이고 공역이 실수 또는 복소수인 \(f(n) = a_n\) 형태의 함수로 볼 수 있다.
무한 수열 중에는 \(n\)이 증가함에 따라 \(a_n\)이 특정 값에 수렴 (converge)하는 수열도 있고, \(a_n\)이 무한히 커지거나 작아지는, 즉 \(a_n\)이 발산 (diverge)하는 수열도 있다. 수열의 극한에 대한 내용을 엄밀하게 정의하면 다음과 같다.
$$ \lim_{n \rightarrow \infty} a_n = L $$임의의 \(\epsilon > 0\)에 대해 \(n > N \Rightarrow |a_n - L| < \epsilon\)을 만족하는 정수 \(N\)이 존재하는 수열 \({a_n}\)는 극한 \(L\)에 수렴 (converge)하며, 그렇지 않은 수열은 발산 (diverge)한다.
\({a_n}\)이 \(L\)에 수렴할 때, 다음과 같이 나타낸다.
$$ \lim_{n \rightarrow \infty} a_n = \infty $$$$ \lim_{n \rightarrow \infty} a_n = -\infty $$또한, \({a_n}\)이 양의 무한대 또는 음의 무한대로 발산할 때, 다음과 같이 나타낸다.
무한 급수
무한 수열의 각 항을 더한 합 \(\sum_{k = 1}^{\infty} a_n = a_1 + a_2 + \cdots\)을 무한 급수 (infinite series)라고 한다.
무한 급수에서 첫 번째 항부터 \(n\)번째 항까지의 합 \(s_n = a_1 + a_2 + \cdots + a_n\)을 \(n\)번째 부분 합 (\(n\)-th partial sum)이라고 한다.
$$ \sum_{k = 1}^{\infty} ar^{n - 1} = a + ar + ar^2 + \cdots $$상수 \(a \ne 0\)와 \(r\)에 대해, 아래와 같은 형태를 가진 무한 급수를 기하 급수 (geometric series) 또는 등비 급수라고 하며, \(a\)와 \(r\)을 각각 초기 항과 공비 (ratio)라고 한다.
기하 급수는 \(|r|\)에 따라 수렴 여부가 달라지는데, 기하 급수의 수렴 여부를 확인해보기 위해 급수의 부분 합을 이용해보자.
$$ s_n = a + ar + \cdots + ar^{n - 1} $$$$ rs_n = ar + ar^2 + \cdots + ar^n $$$$ (1 - r)s_n = a - ar^n = a(1 - r^n) $$$$ \therefore s_n = \frac{a(1 - r^n)}{1 - r} (r \ne 1) $$따라서 \(|r| < 1\)일 때 기하 급수의 극한을 얻을 수 있다.
$$ L = \frac{a}{1 - r} $$\(|r| > 1\)이면 기하 급수 \(\sum_{k = 1}^{\infty} ar^{n - 1}\)는 발산하며, \(|r| < 1\)이면 기하 급수는 극한 \(L\)을 가진다.
거듭제곱 급수
수로 이루어진 무한 급수가 아닌, 다항식의 항으로 이루어진 무한 급수를 거듭제곱 급수 (power series) 또는 멱급수라고 한다.
$$ \sum_{n = 0}^{\infty} c_n (x - a)^n = c_0 + c_1(x - a) + c_2(x - a)^2 + \cdots $$아래와 같은 형태의 무한 급수를 \(x = a\)를 중심 (center)으로 하는 거듭제곱 급수라고 하며, 상수 \(c_0, c_1, \cdots\)를 \(n\)번째 계수 (coefficient)라고 한다.
이제 다음과 같은 거듭제곱 급수를 생각해보자.
$$ \sum_{n = 0}^{\infty} x^n = 1 + x + x^2 + \cdots $$이 거듭제곱 급수는 기하 급수이기도 하므로, \(|x| < 1\)일 때 \(\frac{1}{1 - x}\)로 수렴한다.
$$ \frac{1}{x - 1} = 1 + x + x^2 + \cdots (|x| < 1) $$여기서 알 수 있는 중요한 사실은, \(\frac{1}{1 - x}\)를 단순히 극한으로 보는 것이 아니라, 하나의 함수로 볼 수도 있다는 것이다. 그러면 거듭제곱 급수의 부분 합 \(1 + x + x^2 + \cdots + x^n\)은 \(\frac{1}{1 - x}\)를 근사적으로 나타낸 함수라고 생각할 수 있다.
$$ f(x) = \frac{1}{x - 1} = 1 + x + x^2 + \cdots (|x| < 1) $$테일러 급수
테일러 급수 (Taylor series)를 이용하면 \(f(x) = \frac{1}{1 - x}\) 형태의 함수 외에도, 무한 번 미분 가능한 일반적인 함수에 대한 거듭제곱 급수를 만들 수 있다.
$$ \sum_{k = 0}^{\infty} \frac{f^{(k)}(a)}{k!}(x - a)^k = $$$$ f(a) + \frac{f'(a)}{1!}(x - a)^1 + \cdots $$\(x = a\)가 속한 구간에서 \(f\)가 무한 번 미분 가능할 때, \(x = a\)에서의 테일러 급수 (Taylor series)를 다음과 같이 정의한다.
또한, \(x = 0\)에서의 테일러 급수를 \(f\)의 매크로린 급수 (Maclaurin series)라고 한다.
테일러 급수의 \(n\)번째 부분 합은 \(n\)계 테일러 다항식 (Taylor polynomial of order \(n\))이라고도 한다.
$$ P_n(x) = f(a) + \frac{f'(a)}{1!}(x - a) + \cdots + $$$$ \frac{f^{(n)}(a)}{n!}(x - a)^n $$\(x = a\)가 속한 구간에서 \(f\)가 \(k\)번 미분 가능할 때, \(x = a\)에서 \(f\)의 \(n\)계 테일러 다항식 \(P_n(x)\)를 다음과 같이 정의한다.
(단, \(k = 1, 2, \cdots, N\)이고, \(0 \le n \le N\))
이제 몇 가지 일반적인 함수들을 테일러 (매크로린) 급수로 나타내보자.
- \(f(x) = e^x\)의 테일러 급수
- \(f(x) = sin \ x\)의 테일러 급수
- \(f(x) = cos \ x\)의 테일러 급수
선형 근사
함수 \(f(x)\)의 그래프와 \(f(x)\) 위의 점 \(x = a\)에서의 접선 (tangent line)의 방정식의 그래프에서 접점 \((a, f(a))\)이 있는 곳을 계속 확대해보면, \(f(x)\)를 나타내는 곡선이 점 \(x = a\)에서의 접선과 점점 비슷하게 보이는 것을 확인할 수 있다.
여기서 알 수 있는 사실은 \(x\)가 \(a\)에 충분히 가까울 때 \(f(x)\)의 접선의 방정식을 이용하면 \(f(x)\)를 근사적으로 나타낼 수 있다는 것이다.
선형 근사 (linear approximation): 함수 \(f(x)\)가 \(x = a\)에서 미분 가능할 때, 점 \(x = a\)에서 \(f(x)\)의 접선의 방정식 또는 \(1\)계 테일러 다항식 \(L(x) = P_1(x) = f(a) + f'(a) (x - a)\)에 대하여 \(f(x) \approx L(x)\)이다.
테일러 정리
테일러 정리 (Taylor’s theorem)는 \(n\)계 테일러 다항식 \(P_n(x)\)를 이용해 함수 \(f(x)\)를 나타냈을 때 발생하는 오차를 어떻게 제어할 수 있는지를 보여준다.
$$ f(b) = f(a) + f'(a)(b - a) + \frac{f''(a)}{2!}(b - a)^2 + $$$$ \cdots + \frac{f^{n}(a)}{n!}(b - a)^n + \frac{f^{n + 1}(a)}{(n + 1)!}(b - a)^{n + 1} $$테일러 정리: 함수 \(f\)와 \(f\)의 첫 \(n\)개의 도함수 \(f', f'', \cdots, f^{(n)}\)가 \([a, b]\)에서 연속이고 \(f^{(n)}\)이 \([a, b]\)에서 미분 가능하면, 아래 수식을 만족하는 \(c\)가 \((a, b)\)에 존재한다.
여기서 \(a\)를 상수, \(b\)를 독립 변수 \(x\)로 보면 테일러 공식 (Taylor’s formula)을 얻을 수 있다.
$$ f(x) = f(a) + f'(a)(x - a) + \frac{f''(a)}{2!}(x - a)^2 + $$$$ \cdots + \frac{f^{n}(a)}{n!}(x - a)^n + \frac{f^{n + 1}(a)}{(n + 1)!}(x - a)^{n + 1} $$$$ = P_n(x) + R_n(x) $$테일러 공식은 \(n\)계 테일러 다항식 \(P_n(x)\)을 이용해 함수 \(f(x)\)를 근사적으로 나타냈을 때, \(P_n(x)\)과 실제 \(f(x)\) 사이에 \(R_n(x)\)만큼의 오차 (error)가 발생한다는 것을 알려준다. 여기서 \(R_n(x)\)를 \(n\)계 나머지 항 (remainder of order \(n\)) 또는 오차 항 (error term)이라고 하며, \(|R_n(x)| < \epsilon\)과 같이 나머지 항의 임계치 (tolerance) \(\epsilon\)를 \(\epsilon = 10^{-6}\) 등으로 적절히 설정하여 오차 항을 제어할 수 있다.
평균값 정리의 일반화
평균값 정리 (mean value theorem, MVT)는 사실 테일러 정리와 밀접한 관련이 있는데, 이러한 내용을 알아보기 전에 함수의 극값 (extreme values)에 대한 내용을 다시 생각해보자.
함수 \(f(x)\)의 정의역에 포함된 모든 점 \(x\)에 대해 \(f(x) \le f(c)\)를 만족하는 점 \(c\)를 \(f\)의 최댓값 (absolute maximum)이라고 하며, \(f(x) \ge f(c)\)를 만족하는 점 \(c\)를 \(f\)의 최솟값 (absolute maximum)이라고 한다.
극값 정리 (extreme value theorem, EVT)는 \(f\)의 미분 가능성과 관계 없이, \(f\)가 닫힌 구간에서 연속이기만 하면 최댓값과 최솟값이 반드시 존재한다는 것을 알려준다. 따라서 주어진 구간의 시작점과과 끝점, 그리고 구간 내에서 미분 계수가 \(0\)이거나 정의되지 않는 임계점 (critical point)을 확인해보면 \(f\)의 극댓값 (local maximum)과 극솟값 (local minimum)이 무엇인지를 알 수 있다.
극값 정리: 함수 \(f\)가 닫힌 구간 \([a, b]\)에서 연속일 때, \(f\)는 \([a, b]\)에서 최댓값 \(M\)과 최솟값 \(m\)을 가지며, 구간 내의 모든 \(x\)에 대해 \(m \le f(x) \le M\)이다.
평균값 정리는 극값 정리를 바탕으로, 닫힌 구간 \([a, b]\)에 속한 모든 점 중에서 미분 계수 (접선의 기울기 또는 순간 변화율)가 \([a, b]\)의 평균 변화율과 같은 점이 적어도 하나 이상 존재한다는 것을 보장한다.
$$ f'(c) = \frac{f(b) - f(a)}{b - a} $$평균값 정리: \(y = f(x)\)가 닫힌 구간 \([a, b]\)의 모든 점에서 연속이고 열린 구간 \((a, b)\)에서 미분 가능할 때, 다음을 만족하는 \(c\)가 \((a, b)\)에 적어도 1개 존재한다.
이 수식을 \(f(b)\)에 대해 나타내면, \(c = a\)일 때 \(1\)계 테일러 다항식 \(P_1(x)\)를 얻을 수 있다.
$$ f(b) - f(a) = f'(c)(b - a) $$$$ f(b) = f(a) + f'(c)(b - a) $$따라서 테일러 정리는 평균값 정리를 일반화한 것이라고 볼 수 있다.