이번 글에서 다룰 내용
이 글에서는 최소제곱 (least squares)과 선형회귀 (linear regression)의 기초를 다룹니다.
- 정확한 해가 없을 때 왜 근사 해가 필요한지 설명합니다.
- 최소제곱이 무엇을 최소화하는지 정리합니다.
- 정사영(projection)과 잔차 (residual)의 직교 조건이 어떻게 연결되는지 설명합니다.
- 회귀(regression) 문제의 선형대수적 뼈대를 이해합니다.
이번 글에서 새로 나오는 용어
- 최소제곱 (least squares): 오차 벡터 크기의 제곱합을 최소화하는 방법입니다.
- 선형회귀 (linear regression): 데이터를 가장 잘 설명하는 선형 관계를 찾는 모델입니다.
- 정규방정식 (normal equation): 최소제곱 조건을 대수식으로 정리한 방정식입니다.
- 잔차 (residual): 모델 설명과 실제 관측값 사이에 남는 차이입니다.
- 열공간 (column space): 행렬
A의 열들이 만드는 설명 가능한 공간입니다.
핵심 아이디어
현실 데이터는 대개 깔끔하지 않습니다. 모든 관측값이 하나의 직선이나 평면 위에 정확히 놓이지 않습니다. 그래서 Ax=b가 정확히 풀리지 않는 경우가 많습니다.
이럴 때 우리는 완벽한 해 대신 오차 벡터의 유클리드 노름(Euclidean norm)을 최소화하는 해를 찾습니다. 보통은 계산을 쉽게 하기 위해 길이 제곱을 최소화하는 형태로 씁니다.
min ||Ax - b||^2
여기서 Ax는 모델이 설명하는 부분이고, b는 실제 관측값입니다. 둘의 차이 Ax-b가 오차입니다.
왜 제곱을 쓰는가
오차를 그냥 더하면 양수와 음수가 상쇄될 수 있습니다. 하지만 제곱하면 큰 오차에 더 큰 패널티를 주면서, 부호 상쇄 문제도 사라집니다. 그래서 최소제곱은 통계와 머신러닝, 수치해석에서 매우 널리 쓰입니다.
단계별 예시
예시 1) 직선 맞추기
데이터 점 (x1, y1), (x2, y2), ..., (xn, yn)에 대해 y = ax + b 형태 직선을 맞춘다고 합시다. 계수 벡터를 [b; a]로 두면 행렬 형태는 다음처럼 쓸 수 있습니다.
A = [1 x1
1 x2
...
1 xn]
x_hat = [b
a]
b_vec = [y1
y2
...
yn]
이제 문제는 A x_hat ≈ b_vec가 됩니다. 모든 점이 한 직선 위에 있지 않다면 정확한 등식은 불가능할 수 있고, 이때 최소제곱 해를 구합니다.
예시 2) 정사영 관점
행렬 A의 열공간 (column space)은 모델이 설명할 수 있는 모든 출력의 집합입니다. 관측 벡터 b가 이 열공간 밖에 있으면 정확히 맞는 해는 없습니다. 이때 최소제곱 해가 만드는 A x_hat는 b를 Col(A) 위로 정사영한 결과와 같습니다.
그래서 잔차 r = b - A x_hat는 A의 열공간과 직교합니다.
예시 3) 구체적인 센서 예시
시간이 [1, 2, 3, 4, 5]일 때 온도 측정값이 [20.1, 21.5, 19.8, 21.2, 20.3]이라고 합시다. 이 점들을 정확히 지나는 직선은 없을 가능성이 큽니다. 최소제곱은 이 다섯 점에 가장 가까운 직선을 찾습니다.
수학 주석
- 최소제곱 해(least squares solution)는 오차 벡터가
A의 열공간Col(A)에 직교하도록 선택됩니다. - 잔차를
r = b - Ax라고 두면 직교 조건은A^T r = 0입니다. - 이를 정리하면 정규방정식(normal equation)
A^T A x = A^T b
를 얻습니다.
A가 full column rank이면A^T A가 가역(invertible)이라 최소제곱 해가 유일합니다.- full column rank가 아니면 최소제곱 해가 여러 개일 수 있고, 실무에서는 보통 최소 노름(minimum norm) 해를 의사역행렬(pseudoinverse)로 구합니다.
- 실무에서는 수치 안정성(numerical stability) 때문에 정규방정식을 직접 푸는 대신 QR 분해나 특이값 분해(SVD)를 쓰는 경우도 많습니다.
선형회귀는 통계 모델이기도 하지만, 여기서는 우선 선형대수적 최적화 문제로 보는 관점에 집중하면 됩니다.
자주 하는 오해
선형회귀를 통계 공식 암기로만 보기
선형회귀는 통계 모델이기도 하지만, 동시에 선형대수 문제입니다. 설명 가능한 공간 위로 데이터를 정사영하는 관점이 핵심입니다.
해가 없으면 문제를 못 푼다고 생각하기
정확한 해가 없더라도 가장 잘 맞는 근사 해를 구할 수 있습니다. 현실 데이터에서는 오히려 이 경우가 더 흔합니다.
최소제곱 해가 항상 유일하다고 생각하기
A가 full column rank가 아니면 최소제곱 해가 여러 개일 수 있습니다. 이 경우에는 보통 최소 노름 해를 선택합니다.
연습 또는 확장
다음 질문을 생각해 보세요.
- 왜 현실 데이터에서는
Ax=b의 정확한 해가 자주 존재하지 않는가? - 왜 오차 합이 아니라 오차 제곱합을 최소화하는가?
- 최소제곱 해가 정사영과 연결된다는 말은 무엇을 뜻하는가?
마무리
이번 글에서는 최소제곱 (least squares)과 선형회귀 (linear regression)의 기초를 정리했습니다.
- 정확한 해가 없어도 가장 잘 맞는 근사 해를 구할 수 있습니다.
- 최소제곱은 오차 벡터 길이의 제곱합을 최소화합니다.
- 이 해는 정사영(projection)과 직교 조건으로 해석할 수 있습니다.
- 이 관점은 이후 주성분 분석 (PCA), 특이값 분해(SVD), 데이터 근사 문제와도 이어집니다.
다음 글에서는 반복 변환 속에서 특별한 방향을 찾는 고유값(eigenvalue)과 고유벡터(eigenvector)를 보겠습니다.
💬 댓글
이 글에 대한 의견을 남겨주세요