최소제곱법 — 못 맞추는 방정식에 답하기
데이터에 직선을 얹는 일
모두를 만족시킬 수 없다면, 가장 덜 틀린 답을 찾습니다.
실험을 해서 점 여섯 개를 얻었습니다. 직선으로 설명하고 싶어요.
그런데 직선은 미지수가 둘(기울기, 절편)인데 조건은 여섯 개입니다.
식이 미지수보다 많으니 대개 해가 없습니다.
그럼 포기할까요? 아니요. 질문을 바꿉니다.
❌ "모든 점을 정확히 지나는 직선은?" → 없습니다
✅ "가장 덜 틀린 직선은?" → 있습니다. 그것도 딱 하나
"덜 틀렸다"를 재는 자로 오차의 제곱의 합을 씁니다.
이것을 가장 작게 만드는 답이 최소제곱해예요.
데이터 분석·회귀분석·기계학습이 매일 하는 일이 이겁니다.
이 공식은 외울 필요가 없습니다 — 정규방정식에서 저절로 나옵니다.
🎮 직접 직선을 맞춰 보세요
점을 눌러 더하거나 지우고, 슬라이더로 내 직선을 움직여 보세요.
오차의 제곱합이 최소제곱 직선보다 작아지는 일이 절대 없습니다.
세로 주황 선분이 각 점의 오차예요.
정사영으로 다시 보기
16강의 눈으로 보면 최소제곱법은 정사영 그 자체입니다.
점 여섯 개를 맞추는 문제를 Ax = b 로 적어 봅시다.
A 는 각 점의 [x, 1] 을 쌓은 6×2 행렬, b 는 y 값 여섯 개,
x 는 우리가 찾는 [기울기, 절편] 입니다.
b 는 6차원 벡터이고, A 의 열공간은 6차원 안의 2차원 평면입니다.
b 가 그 평면 위에 있을 확률은 거의 없어요 — 그래서 해가 없습니다.
그러면 b 를 그 평면 위로 정사영합니다. 그 그림자에 대한 방정식은 반드시 풀리고,
그 답이 최소제곱해예요. "해가 없다"를 "가장 가까운 곳에 대한 해"로 바꾼 것입니다.
회귀분석의 공식은 정규방정식 한 줄에서 전부 나옵니다.
직선만이 아니다
최소제곱법은 직선 맞추기 전용이 아닙니다.
Ax = b 꼴로 적을 수만 있으면 무엇이든 됩니다.
포물선을 맞추고 싶다면 A 의 열을 [x², x, 1] 로 하면 돼요.
y = ax² + bx + c 에서 미지수 a, b, c 에 대해서는 여전히 일차이기 때문입니다.
곡선이라고 비선형인 게 아니에요 — 무엇에 대해 일차인가가 기준입니다.
변수가 여러 개인 경우(다중회귀), 주기함수 맞추기(푸리에),
심지어 신경망의 마지막 층도 전부 같은 틀입니다.
곡선이어도 미지수에 대해 일차면 최소제곱법이 그대로 통합니다.
🤔 확인 문제
최소제곱법이 최소화하는 것은?
해설 오차의 제곱의 합입니다. 그냥 더하면 부호가 상쇄되고, 제곱을 쓰면 미분이 깔끔하며 답이 정사영이라는 기하적 뜻을 가집니다.
🤔 확인 문제
Ax = b 에 해가 없을 때 최소제곱법이 실제로 푸는 식은?
해설 정규방정식 AᵀAx̂ = Aᵀb 입니다. b 를 열공간 위로 정사영한 뒤 그것에 대해 푸는 것과 같아요.
🤔 확인 문제
최소제곱법의 약점으로 자주 지적되는 것은?
해설 오차를 제곱하기 때문에 멀리 떨어진 점 하나가 엄청난 영향을 줍니다. 그래서 이상치가 의심되면 절댓값을 쓰는 방법 등 다른 자를 씁니다.