Least squares란 측정 등을 통해 얻어진 여러 개의 데이터를 가장 잘 나타내는 수식의 형태를 아는 경우, 해당 수식과 데이터들의 오차의 제곱의 합을 최소로 하는 수식을 구하는 방법이다.
Least squares는 linear least squares와 non-linear least squares로 나눌 수 있다. Non-linear least squares의 경우 주로 문제를 linear equation 형태로 고친 후 linear least squares의 방법을 반복적으로 이용하여 푼다.
어떤 식 $f(x)$와 데이터 $(x_i, y_i)$의 오차의 제곱은 다음과 같다.
\begin{equation} R_i^2 = [y_i - f(x_i, a_1, a_2, \cdots, a_n)]^2 \end{equation}
여기서 $f(x_i, a_1, a_2, \cdots, a_n)$란 계수가 $a_1, a_2, \cdots, a_n$인 $x$에 대한 식 $f(x)$에 측정값인 $x_i$을 대입했음을 의미한다. 오차의 제곱의 합은 다음과 같다.
\begin{equation} R^2 = \sum_{i=1}^n[y_i - f(x_i, a_1, a_2, \cdots, a_n)]^2 \end{equation}
이 때 $R^2$을 최소로 하는 조건은
\begin{equation} \frac{\partial(R^2)}{\partial a_i} = 0 \end{equation}
for $i = 1,2,\cdots,n$
이다. 즉, 미지수가 $a_1, a_2, \cdots, a_n$인 n개의 연립방정식을 푸는 형태가 된다.
가장 간단한 경우인 $f(a,b)=a+bx$를 예를 들면,
\begin{eqnarray*} & & R^2 = \sum_{i=1}^n [y_i - (a+bx_i)]^2\\ & & \frac{\partial(R^2)}{\partial a} = -2 \sum_{i=1}^n [y_i - (a+bx_i)] \\ & & \frac{\partial(R^2)}{\partial b} = -2 \sum_{i=1}^n [y_i - (a+bx_i)]x_i ; \end{eqnarray*}
이 equation은 다음과 같이 정리할 수 있다.
\begin{eqnarray*} & & na + b \sum_{i=1}^n x_i = \sum_{i=1}^n y_i \\ & & a \sum_{i=1}^n x_i + b \sum_{i=1}^n x_i^2 = \sum_{i=1}^n x_i y_i ; \end{eqnarray*}
이를 matrix form으로 다시 쓰면
\begin{equation} \left( \begin{array}{cc} n & \sum_{i=1}^n x_i \\ \sum_{i=1}^n x_i & \sum_{i=1}^n x_i^2 \end{array} \right) \left( \begin{array}{c} a \\ b \end{array} \right) = \left( \begin{array}{c} \sum_{i=1}^n y_i \\ \sum_{i=1}^n x_i y_i \end{array} \right) \end{equation}
위 식에서 왼쪽 matrix의 inverse를 구하여 양변에 곱해주면 계수 $a$, $b$를 구할 수 있다. 수치 해석에서 matrix의 inverse는 Gauss-Jordan elimination 등의 방법으로 구할 수 있다.