본문 바로가기
Archive/수학 & 통계학 관련

[Linalg] 최소제곱법과 응용

by 다람이도토리 2021. 4. 27.
프로그래머스 인공지능과정 Week 2  Day3 강의내용 관련. (사진 및 수식 출처)

(증명 및 추가 comment들은 Freidberg LinearAlgebra를 참조하였습니다)

최소제곱법(Least Squares method)

최소제곱법이란, 해가 없는 선형 시스템에서 가장 가까운 해를 찾는 것이 목표이다.

행렬 A의 열공간(column space)에 b가 없을 경우, b와 가장 가까운 지점을 찾으려고 한다.

즉, 최소제곱법에서는 Ax=b의 해를 풀 수 없을 때, Ax'=b'에서, |b-b'|의의 값이 최소화가 되는 x'를 찾고 싶다. 구체적으로는 벡터 (b-b') 길이의 제곱길이를 최소화 하려고 하기에, 이를 Least squares method라 한다.

 

풀이) 주어진 행렬에 전치행렬을 곱한다.

 

 

Remark 1> 사실, 최소제곱법으로 구한 해는 b를 A의 column space에 사영시킨 벡터가 된다.
이는 그림을 통해 자명하게 알 수 있다.



Remark 2 > 증명의 핵심은, transpose된 행렬의 Range와 Kernel이 직교한다는 사실에 바탕하여, 우선적으로 proj가 정말로 최소해인지를 밝혀야 한다. 또한 최소해인 경우, 벡터의 합 분해를 통해 최소라는 사실을 증명한다.

 

응용 - 선형회귀

2차원 공간에 m개의 좌표가 주어질 때, 이를 잘 설명하는 직선을 구하는 문제를 linear regression이라 한다.

이 때, 직선이 모든 정점을 지나간다고 가정하면 y = mx + b,   이때 모든 점을 대입하면 m과 b의 값을 구하는 문제가 된다.  정확한 해가 없을 경우, 최소제곱법을 적용하여  m, b의 추정값을 얻어내게 된다.

github.com/SeongwonTak/-KDT-_AI_2_Notes/blob/main/Linalg/0427_LeastSquareMethod.ipynb

 

SeongwonTak/-KDT-_AI_2_Notes

Contribute to SeongwonTak/-KDT-_AI_2_Notes development by creating an account on GitHub.

github.com

 

'Archive > 수학 & 통계학 관련' 카테고리의 다른 글

[Stat] 공분산과 상관계수  (0) 2021.04.28
[Prob] 베이즈 정리  (0) 2021.04.28
[Linalg] Orthogonal matrix  (0) 2021.04.27
[Linalg] Change of Basis  (0) 2021.04.26
[Linalg] LU Decomposition  (0) 2021.04.26