-
Hermite Interpolation [에르미트 보간법] -01. 도입수학 정리/Numerical Analysis 2021. 4. 5. 13:37
1. 모티베이션.
보간법(Interpolation)은 유한개 지점에서 관찰된 데이터를 통해 각 데이터 사이사이를 연속적인 함수의 모양으로 메우는 방법을 말합니다. 수학적으로 표현하자면, 주어진 유한개의 점을 모두 지나는 연속함수를 얻는 방법을 말합니다.
라그랑지 보간법(Lagrange Interpolation)은 선형대수를 이용해 주어진 유한개 지점을 모두 지나는 다항함수를 얻는 방법을 말해줬습니다. 만약 이 방법으로 얻은 결과가 맘에 들지 않았다고 합시다. 그러니까, 우리가 관측한 지점의 데이터를 가지고 얻은 다항식이 새로운 데이터에는 잘 맞지 않았다고 합시다. 그러면 이를 어떻게 더 보완할 수 있을까요?
더 많은 데이터를 관찰할 수도 있을 것입니다. 그렇지만 이 방법은 관찰을 하면 할수록 더 많은 비용이 든다는 점과 관찰을 한 차례 더 할 때마다 필요한 연산이 매우 많이 늘어난다는 점, 그리고 비싼 돈을 주고 관찰을 매우 많이 했는데 오히려 오차가 더 커지는 이상현상(Runge's Phenomenon or Overfitting)이 발생할 수 있습니다.
따라서 우리는 관측하는 지점은 그대로 유지하고 그 지점에서 차라리 다른 데이터를 더 얻어서 좀 더 정교한 함수를 찾을 것입니다. 비유를 들자면, 고속도로에 카메라를 더 많이 설치하기보다는, 기존에 설치된 카메라들에 차량의 속력만 측정하던 것에서 가속도까지 측정하도록 소프트웨어를 업그레이드하겠다는 말입니다.
2. Hermite Polynomial의 정의
$N+1$개의 점 $x_0, \ldots, x_n$에 대한 함숫값 $f(x_0), \ldots, f(x_n)$과 이 점들 중 일부인 $r+1$개에 대한 순간변화율 $f'(x_0),\ldots, f'(x_r)$ 이 주어졌다고 합시다. 비유하자면, $N+1$ 개의 속도 측정 카메라에서 일부인 $r+1$개에 가속도 측정 기능을 업그레이드해줬다고 생각합시다.
우리는 실제 함수 $f(x)$로 근사하는 다항식 $f_N(x)$을 구할 것입니다. 이 다항식 $f_N(x)$은 다음과 같은 조건을 만족시키도록 설정하는 것이 자연스러울 것입니다.
\begin{cases} f_N(x_i) = f(x_i) & \forall i = 0,1,\ldots, N \\ \\ f'_N(x_i) = f'(x_i) & \forall i=0,1,\ldots,N \end{cases}
그러면 우리가 구하는 함수 $f(x)$ 는 근사 다항식 $f_N(x)$와 오차 $E(x)$의 합으로 표현될 것입니다.
$$f(x) = f_N(x) + E(x)$$
$f_N$을 우리가 다항식으로 설정했다면, 가장 먼저 알아야 할 정보는 $f_N$의 차수가 얼마가 될 것이냐일 것입니다. 일단 $$E(x) = f(x) - f_N(x)$$ 이렇게 둬 봅시다. 여기에 우리가 측정한 데이터들을 사용합니다. 먼저 $x$에 각 $x_i$를 대입하면 $$E(x_i) = f(x_i) - f_N(x_i) = f(x_i) - f(x_i) = 0$$ 이므로, 오차 $E(x)$가 만족해야 할 조건 $N+1$ 개를 얻습니다. 다음으로 $E(x)$의 도함수 $$E'(x) = f'(x) - f'_N(x)$$에 각 $x_i$를 대입해봅시다. 그러면, $$E'(x_i) = f'(x_i) + f'_N(x_i) = f'(x_i) - f'(x_i) = 0 $$ 이므로, 이번에는 조건 $r+1$개를 얻습니다. 따라서 우리에게 주어진 조건식은 총 $N+r+2$개가 됩니다.
다항식을 결정할 때 하나의 조건으로 최대 하나의 (미정) 계수를 결정할 수 있습니다. (문자가 2개이면 조건식이 2개여야 했던 기억을 떠올리면 쉽게 이해할 수 있습니다.) 따라서 다항식 $f_N(x)$를 결정하는 데에 $N+r+2$개의 조건이 사용된다는 말이고, 이는 $f_N(x)$의 계수가 최대 $N+r+2$개까지 결정될 수 있다는 말입니다. 그러므로, $f_N(x) = a_{N+r+1}x^{N+r+1} + \cdots + a_1x_1 + a_0$의 차수는 최대 $N+r+1$임을 알 수 있습니다.
위와 같은 정보를 통해 결정될 '에르미트 다항식 (Hermite Polynomial)의 형태는
$$f_N(x) = \sum_{i=0}^N f(x_i)h_i(x) + \sum_{i=0}^r f'(x_i)\bar{h}_i(x)$$
입니다. 여기서 $h_i(x), \bar{h}_i(x)$는 최대 차수가 $N+r+1$인 다항식들입니다. 이때 $r=N$인 경우를 기본형의 에르미트 다항식이라 부르고, $r\neq N$인 경우를 개조된 에르미트 다항식 (modified Hermite polynomial)이라고 부릅니다.
여기까지 읽느라 수고가 많았습니다. 이제부터는 구체적으로 $h(x)$와 $bar{h}_i(x)$를 구하는 지겨운 과정을 들어갈 것입니다. 잠시 스트레칭도 하고 옆에 펜과 종이, 커피 한 잔 그리고 지겨운 계산을 견뎌낼 인내심을 준비한 뒤 다음 글로 넘어가봅시다.