이번 포스팅에서는 선형대수방정식을 통해
curve fitting 하는 방법에 대해 알아보겠습니다.
임의의 점을 지나는 함수를 구할 때 - curve fitting
많은 경우에 우리는 특정 점을 지나는 함수를 구하고 싶은 경우가 있습니다.
그리고 이런 경우 대부분 함수를 다항함수(Polynomial)로 가정하여 구합니다.
예를 들어
$$(x_{1},y_{1}), (x_{2}, y_{2}), ... , (x_{n}, y_{n})$$
위와 같은 n개의 점을 지나는 다항함수를 구할 때
미지수가 n개이므로 n-1차 다항함수로 fitting할 수 있습니다.
아래와 같이 다항함수의 경우 y절편까지가 미지수이기 때문이죠.
$$y = a_{0} + a_{1}x + a_{2}x^{2} + ... + a_{n-2}x^{n-2}+a_{n-1}x^{n-1}$$
미지수가 3개인 2차함수의 경우 ffiting하면 아래와 같은 모습일겁니다.
Curve fitting 하는 방법 및 예제
선형대수방정식을 통해 curve fitting을 손쉽게 할 수 있습니다.
이 때 gauss elimination이 필요한데, 이 부분은 아래 포스트에 설명되어있으니
필요하시면 참고하시면 좋을 것 같습니다.
예제를 통해 바로 알아보죠.
아래 세 점을 지나는 2차 함수를 fitting해봅시다.
$$(1,6), (2,3), (3,2)$$
그럼 2차함수는 아래와 같이 가정할 수 있습니다.
$$y=a_{0}+a_{1}x+a_{2}x^{2}$$
가정한 2차함수에 위 3점을 넣어 대수방정식을 구성해봅시다.
$$a_{0}+a_{1}+a_{2} = 6$$
$$a_{0}+2a_{1}+4a_{2} = 3$$
$$a_{0}+3a_{1}+9a_{2} = 2$$
이는 아래와 같이 나타낼 수 있죠.
$$\begin{bmatrix}1 & 1 & 1 & : & 6 \\1 & 2 & 4 & : & 3 \\ 1 & 3 & 9 & : & 2 \end{bmatrix}$$
이제 gauss elimination을 해봅시다.
첫번째 행에 -1을 곱하여 두번째, 세번째 행에 더해주면 아래와 같습니다.
$$\begin{bmatrix}1 & 1 & 1 & : & 6 \\0 & 1 & 3 & : & -3 \\ 0 & 2 & 8 & : & -4 \end{bmatrix}$$
이번엔 두번째 행에 -1을 곱하여 첫번째, 세번째 행에 더해줍시다.
$$\begin{bmatrix}1 & 0 & -2 & : & 9 \\0 & 1 & 3 & : & -3 \\ 0 & 0 & 2 & : & 2 \end{bmatrix}$$
세번째 행을 2로 나누면
$$\begin{bmatrix}1 & 0 & -2 & : & 9 \\0 & 1 & 3 & : & -3 \\ 0 & 0 & 1 & : & 1 \end{bmatrix}$$
마지막으로 세번째 행에 2를 곱하여 첫번째 행에 더하고, -3을 곱하여 두번째 행에 더합니다.
$$\begin{bmatrix}1 & 0 & 0 & : & 11 \\0 & 1 & 0 & : & -6 \\ 0 & 0 & 1 & : & 1 \end{bmatrix}$$
따라서 $a_{0} = 11, a_{1} = -6, a_{2} = 1$ 이므로
세 점 $(1,6), (2,3), (3,2)$를 지나는 2차함수는 아래와 같습니다.
$$y=11-6x+x^{2}$$
여기까지 선형대수방정식을 통한 curve fitting법에 대해 알아보았습니다.
'공학 > 선형대수학' 카테고리의 다른 글
[선형대수학] 벡터의 내적(dot product)과 성질 (0) | 2021.08.01 |
---|---|
[선형대수학] 행렬식(Determinant) (0) | 2021.05.11 |
[선형대수학] 역행렬(Inverse matrix) (0) | 2021.05.11 |
[선형대수학] 고유값(Eigenvalue)과 고유벡터(Eigenvector) (0) | 2020.11.10 |