문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| 최소제곱법 [2026/04/14 18:40] – 최소제곱법 sync flyingtext | 최소제곱법 [2026/04/14 18:45] (현재) – 최소제곱법 sync flyingtext | ||
|---|---|---|---|
| 줄 173: | 줄 173: | ||
| === 행렬 대수를 이용한 해법 === | === 행렬 대수를 이용한 해법 === | ||
| - | 관측 행렬과 설계 행렬을 이용해 최적 매개변수 벡터를 산출하는 행렬 | + | 선형 최소제곱법의 해를 도출하는 과정은 [[선형대수학]](Linear Algebra)의 행렬 연산을 통해 체계적으로 정식화된다. $ n $개의 |
| + | |||
| + | $$ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon} $$ | ||
| + | |||
| + | 여기서 $ $는 $ n $ 크기의 [[관측 벡터]](observation vector)이며, | ||
| + | |||
| + | 최소제곱법의 목적은 [[잔차]](residual)의 제곱합을 최소화하는 최적의 매개변수 벡터 $ $를 찾는 것이다. 잔차 벡터 $ $는 실제 관측값과 모델에 의한 예측값의 차이로 정의되며, | ||
| + | |||
| + | $$ \mathbf{r} = \mathbf{y} - \mathbf{X}\hat{\boldsymbol{\beta}} $$ | ||
| + | |||
| + | 최소화의 대상이 되는 [[목적 함수]](objective function) $ S() $는 잔차 벡터의 내적, 즉 [[잔차 제곱합]](Sum of Squared Residuals, SSR)으로 정의된다. | ||
| + | |||
| + | $$ S(\boldsymbol{\beta}) = \mathbf{r}^T \mathbf{r} = (\mathbf{y} - \mathbf{X}\boldsymbol{\beta})^T (\mathbf{y} - \mathbf{X}\boldsymbol{\beta}) $$ | ||
| + | |||
| + | 위 식을 [[전치 행렬]](transpose matrix)의 성질을 이용하여 전개하면 다음과 같은 형태가 된다. | ||
| + | |||
| + | $$ S(\boldsymbol{\beta}) = \mathbf{y}^T \mathbf{y} - \mathbf{y}^T \mathbf{X}\boldsymbol{\beta} - \boldsymbol{\beta}^T \mathbf{X}^T \mathbf{y} + \boldsymbol{\beta}^T \mathbf{X}^T \mathbf{X} \boldsymbol{\beta} $$ | ||
| + | |||
| + | 이때 $ ^T $는 스칼라 값이므로 그 전치인 $ ^T ^T $와 동일하다. 따라서 목적 함수는 다음과 같이 정리된다. | ||
| + | |||
| + | $$ S(\boldsymbol{\beta}) = \mathbf{y}^T \mathbf{y} - 2\boldsymbol{\beta}^T \mathbf{X}^T \mathbf{y} + \boldsymbol{\beta}^T \mathbf{X}^T \mathbf{X} \boldsymbol{\beta} $$ | ||
| + | |||
| + | 함수 $ S() $를 최소화하기 위해 매개변수 벡터 $ $에 대해 [[편미분]]을 수행하고, | ||
| + | |||
| + | $$ \frac{\partial S}{\partial \boldsymbol{\beta}} = -2\mathbf{X}^T \mathbf{y} + 2\mathbf{X}^T \mathbf{X} \boldsymbol{\beta} = \mathbf{0} $$ | ||
| + | |||
| + | 이를 정리하면 선형 최소제곱법의 핵심인 [[정규 방정식]](Normal Equation)이 도출된다. | ||
| + | |||
| + | $$ \mathbf{X}^T \mathbf{X} \hat{\boldsymbol{\beta}} = \mathbf{X}^T \mathbf{y} $$ | ||
| + | |||
| + | 만약 설계 행렬 $ $가 [[열 풀 랭크]](full column rank)를 가져 $ ^T $의 [[역행렬]](inverse matrix)이 존재한다면, | ||
| + | |||
| + | $$ \hat{\boldsymbol{\beta}} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{y} $$ | ||
| + | |||
| + | 이 식에서 $ (^T )^{-1} ^T $ 부분은 [[무어-펜로즈 유사역행렬]](Moore-Penrose pseudoinverse)의 특수한 형태로 간주될 수 있다. 또한, 이를 통해 계산된 예측값 $ = $는 관측 벡터 $ $를 설계 행렬의 [[열 공간]](column space)으로 투영한 것과 같으며, 이때 작용하는 행렬 | ||
| + | |||
| + | 행렬 대수를 이용한 이러한 해법은 변수의 개수가 많은 복잡한 모델에서도 일관된 계산 절차를 제공하며, | ||
| ==== 단순 선형 회귀 ==== | ==== 단순 선형 회귀 ==== | ||
| 줄 264: | 줄 300: | ||
| === 가우스 뉴턴 방법 === | === 가우스 뉴턴 방법 === | ||
| - | 테일러 전개를 통해 | + | 가우스 뉴턴 방법(Gauss-Newton method)은 비선형 최소제곱 문제를 해결하기 위해 고안된 가장 대표적인 반복적 최적화 알고리즘이다. [[선형 최소제곱법]]과 달리, 모델 함수가 매개변수에 대해 비선형적일 경우 최적해를 단번에 도출할 수 있는 [[정규 방정식]]이 존재하지 않는다. 따라서 가우스 뉴턴 방법은 매개변수의 현재 추정치 근방에서 비선형 함수를 [[테일러 전개]](Taylor expansion)를 통해 선형 |
| + | |||
| + | 가우스 뉴턴 방법의 핵심은 모델 | ||
| + | |||
| + | $$ f(x_i, \boldsymbol{\beta}^{(k)} + \Delta \boldsymbol{\beta}) \approx f(x_i, \boldsymbol{\beta}^{(k)}) + \sum_{j=1}^{p} \frac{\partial f(x_i, \boldsymbol{\beta}^{(k)})}{\partial \beta_j} \Delta \beta_j $$ | ||
| + | |||
| + | 위 식에서 각 매개변수에 대한 모델 함수의 편미분 계수들로 구성된 행렬을 [[야코비 행렬]](Jacobian matrix)이라 하며, 이를 $ $로 표기한다. 야코비 행렬의 각 성분은 $ J_{ij} = $로 정의된다. 이를 행렬 형태로 나타내면 잔차 벡터 $ (^{(k)} + ) $는 다음과 같이 근사된다. | ||
| + | |||
| + | $$ \mathbf{r}(\boldsymbol{\beta}^{(k)} + \Delta \boldsymbol{\beta}) \approx \mathbf{r}(\boldsymbol{\beta}^{(k)}) - \mathbf{J} \Delta \boldsymbol{\beta} $$ | ||
| + | |||
| + | 이제 비선형 최소제곱 문제는 $ $에 대한 선형 최소제곱 문제로 치환된다. 이 선형화된 체계에서 잔차 제곱합을 최소화하는 증분 $ $를 찾기 위해 [[정규 방정식]]의 형태를 | ||
| + | |||
| + | $$ (\mathbf{J}^T \mathbf{J}) \Delta \boldsymbol{\beta} = \mathbf{J}^T \mathbf{r}(\boldsymbol{\beta}^{(k)}) $$ | ||
| + | |||
| + | 이 방정식을 풀어 얻은 $ $를 사용하여 매개변수를 $ ^{(k+1)} = ^{(k)} + $와 같이 갱신한다. 이 과정을 잔차의 변화량이 충분히 작아지거나 미리 설정한 수렴 조건에 도달할 때까지 | ||
| + | |||
| + | 가우스 뉴턴 방법은 일반적인 [[뉴턴 방법]]과 비교했을 때 중요한 수학적 함의를 갖는다. 뉴턴 방법은 목적 함수의 2차 미분 정보인 [[헤세 행렬]]을 필요로 하지만, 가우스 뉴턴 방법은 목적 함수가 잔차의 제곱합이라는 특수한 구조를 가짐을 이용한다. 목적 함수 $ S() $의 헤세 행렬을 직접 계산하면 야코비 행렬의 곱인 $ 2^T $ 항과 잔차의 2차 미분이 포함된 항의 합으로 나타난다. 가우스 뉴턴 방법은 잔차가 0에 가깝거나 모델의 비선형성이 크지 않다는 가정하에 2차 미분항을 무시하고 $ 2^T $만을 사용하여 헤세 행렬을 근사한다. 이는 복잡한 2차 미분 계산을 생략하면서도 최적점 근처에서 [[뉴턴 방법]]에 준하는 빠른 수렴 속도를 유지할 수 있게 한다. | ||
| + | |||
| + | 그러나 가우스 뉴턴 방법은 몇 가지 한계점을 지닌다. 우선, 초기 추정치 $ ^{(0)} $가 실제 최적해에서 멀리 떨어져 있을 경우, 선형 근사의 오류가 커져 알고리즘이 수렴하지 않고 발산할 위험이 있다. 또한, 야코비 행렬의 열들이 [[선형 독립]](linearly independent)이 아니거나 [[조건수]](condition number)가 매우 큰 경우, $ ^T $의 역행렬을 구하는 과정에서 수치적 불안정성이 발생한다. 이러한 수렴 안정성 문제를 해결하기 위해 증분 $ $에 일정한 보정 계수를 도입하거나, | ||
| === 레벤버그 마쿼트 알고리즘 === | === 레벤버그 마쿼트 알고리즘 === | ||
| - | 가우스 뉴턴 방법과 경사 하강법을 결합하여 수렴의 안정성을 | + | [[비선형 최소제곱법]]의 반복적 해법 중 하나인 [[가우스 뉴턴 방법]]은 국소 최적해 근처에서 매우 빠른 수렴 속도를 보이지만, |
| + | |||
| + | 레벤버그 마쿼트 알고리즘은 케네스 레벤버그(Kenneth Levenberg)가 1944년에 처음 제안하고, | ||
| + | |||
| + | $$ (\mathbf{J}^\top \mathbf{J} + \lambda \mathbf{I}) \boldsymbol{\delta} = \mathbf{J}^\top \mathbf{r} $$ | ||
| + | |||
| + | 여기서 $ $는 [[단위 행렬]](Identity matrix)이다. 댐핑 인자 $ $는 알고리즘의 거동을 제어하는 핵심적인 역할을 수행한다. 만약 $ $의 값이 매우 크다면, 좌변의 항 중 $ $가 지배적으로 작용하여 업데이트 방향은 경사 하강법의 방향인 $ ^ $에 가까워진다. 이는 현재 지점에서 목적 함수가 감소하는 안전한 방향으로 이동하게 함으로써 초기 추정값이 부정확하거나 모델의 비선형성이 강할 때 알고리즘의 안정성을 보장한다. 반대로 $ $가 0에 가까워지면, | ||
| + | |||
| + | 도널드 마쿼트는 단순히 단위 행렬을 사용하는 대신, 야코비 행렬의 정보를 반영한 대각 행렬을 사용할 것을 제안하며 알고리즘을 개선하였다. 즉, $ (^ + (^)) = ^ $의 형태를 취함으로써, | ||
| + | |||
| + | 결과적으로 레벤버그 마쿼트 | ||
| ===== 통계적 성질과 타당성 ===== | ===== 통계적 성질과 타당성 ===== | ||
| 줄 455: | 줄 519: | ||
| ==== 기계 학습과 인공지능 ==== | ==== 기계 학습과 인공지능 ==== | ||
| - | 데이터 학습 과정에서 손실 함수를 최소화하는 최적화 기법의 | + | [[기계 학습]](Machine Learning)과 [[인공지능]](Artificial Intelligence)의 영역에서 [[최소제곱법]]은 |
| + | |||
| + | 기계 학습의 [[지도 학습]](Supervised Learning) 회귀 문제에서 가장 널리 사용되는 [[평균 제곱 오차]](Mean Squared Error, MSE)는 최소제곱법의 원리를 통계적 학습의 영역으로 직접적으로 확장한 형태이다. $ n $개의 학습 데이터에 대하여, 실제 타겟값 $ y_i $와 모델의 예측값 $ _i $ 사이의 평균 제곱 오차는 다음과 같이 정의된다. | ||
| + | |||
| + | $$ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 $$ | ||
| + | |||
| + | 이 수식을 | ||
| + | )). 특히 [[딥러닝]](Deep Learning)의 초기 단계에서 [[신경망]](Neural Network)의 가중치를 업데이트하기 위한 목적 함수로 최소제곱 기준이 채택되었으며, | ||
| + | |||
| + | 최소제곱법이 기계 학습에서 강력한 정당성을 갖는 이유는 확률론적 관점에서의 [[최대 우도 추정]](Maximum Likelihood Estimation, MLE)과의 긴밀한 연관성에 있다. 만약 모델의 예측 오차가 서로 독립이며 동일한 [[가우시안 분포]](Gaussian Distribution)를 따른다고 가정할 경우, 데이터에 대한 로그 우도(Log-likelihood)를 최대화하는 문제는 수학적으로 | ||
| + | )). 이러한 통계적 동치성은 최소제곱법이 단순한 수치적 기법을 넘어, 데이터에 내재된 [[노이즈]](Noise)를 확률적으로 처리하는 합리적인 추론 방식임을 뒷받침한다. | ||
| + | |||
| + | 대규모 데이터를 다루는 현대 인공지능 환경에서는 [[정규 방정식]]을 통해 해를 직접 구하는 방식보다 [[경사 하강법]](Gradient Descent)과 같은 반복적 최적화 알고리즘이 주로 사용된다. | ||
| + | )). | ||
| + | |||
| + | 결과적으로 최소제곱법은 | ||