최소제곱해(Least Square solution) 행렬방정식 Ax = b의 해가 없는 모순 시스템(inconsistent system)에서 그 시스템에 가장 적합한 근사해를 찾는 방법으로 최소제곱방법을 사용합니다. 다시말하면 Ax와 b와의 거리를 최소로 하는 벡터 x를 최소제곱해(least-square solution) 라고 하며 식 1과 같이 나타낼 수 있습니다. $$\tag{식 1}||b-Ax|| ≈0$$ 실수 공간에 m×n 차원의 행렬 A와 벡터 b가 존재한다면 Ax = b의 최소제곱해는 식 2를 만족하는 $\hat{x}$가 됩니다. 이 식의 열공간의 차원은 n이므로 $\mathbb{R}^n$ 공간에 존재합니다. $$\tag{식 2}||b-A \hat{x}|| \leq ||b-Ax||$$ Ax = b가 해를 가진다는 것은 선형독립으로 A는 기저벡터들로 구성됨을 의미합니다. 그러나 이미 가정한 것과 같이 이 식은 모순된 시스템으로 해를 가질 수 없습니다. 대신에 식 3에서 나타낸 것과 같이 결정된 최소제곱해와의 선형독립의 결과인 벡터 $\hat{b}$가 존재합니다. \begin{align}\tag{식 3}Ax&\approx b\\ A\hat{x}&=\hat{b} \end{align} 식 3의 b는 식 4와 같이 $\hat{b}$와 두 벡터의 차이로 결정할 수 있습니다. \begin{align}\tag{식 4}b&=\hat{b}+(b-\hat{b})\\ &= \hat{b}+(b-A\hat{x})\end{align} 식 4가 $\mathbb{R}^2$ 차원에서 이루어진다면 다음과 같이 시각화할 수 있습니다. fig, ax=plt.subplots(figsize=(3,2)) nme=[r"b-A$\hat{x}$",r"$\hat{b}=A\hat{x}$", "b"] cod=[(0,3), (2,0), (2,3)] col=["r", "b...
python 언어를 적용하여 통계(statistics)와 미적분(Calculus), 선형대수학(Linear Algebra)을 소개합니다. 이 과정에서 빅데이터를 다루기 위해 pytorch를 적용합니다.