Least Square Method
개요
- 최소자승법(최소제곱법, Least Square Method)은 관측된 데이터가 있을 때, 이 데이터를 가장 잘 설명하는 모델(직선/곡선/다항식/파라미터) 을 찾는 방법.
- 예측값과 실제값의 차이(오차/잔차 제곱합)가 최소가 되도록 모델 파라미터를 찾는 방법.
- RANSAC과 다르게 모든 데이터를 사용하여 에러를 최소화 하므로, 노이즈는 있지만 outlier가 거의 없는 데이터에 용이하다.

Linear Least Square
- 선형 회귀(Linear Regression)에서 최소자승법은 주어진 데이터 {(x1,y2),(x2,y2),…,(xn,yn)}에 가장 잘 맞는 선형 모델을 찾는 것을 목표로 한다.
선형 모델 및 목적 함수 정의
선형 모델
- 선형 모델(직선)은 아래와 같이 정의할 수 있다.
yi′=axi+b
- a : 직선의 기울기 (Slope)
- b : y 절편 (Intercept)
- yi′ : xi 에 대한 모델의 예측값
오차
- 실제 데이터 값 yi와 예측값 yi′ 사이의 오차(잔차, Residual)를 다음과 같이 정의한다.
ei=yi−yi′
ei=yi−(axi+b)
목적 함수
- 최소자승법은 오차들의 제곱합을 최소화하는 a와 b를 찾는 것을 목표로 한다.
- 오차 제곱의 총 합을 목적함수 S로 두어 아래와 같이 정의한다.
S(a,b)=i=1∑nei2
S(a,b)=i=1∑n(yi−axi−b)2
최소화를 위한 미분 정리
- 목적 함수 S(a,b)가 최소가 되기 위해서는 각각의 미지수 a와 b에 대해 편미분한 값이 0이 되도록 해야 한다.
∂a∂S=0, ∂b∂S=0
a에 대한 편미분
- 목적함수 S의 ∑ 내부의 항을 u=yi−axi−b 라고 할 때, 합성함수의 체인 룰(Cahin rule)에 의해 다음과 같이 분리된다.
∂a∂(u2)=∂u∂(u2)⋅∂a∂u
∂u∂(u2)=2u
∂a∂u=−xi
- 분리된 두 항을 곱하여 최종 a에 대한 편미분은 다음과 같다.
∂a∂(u2)=2u⋅−xi=−2xi(yi−axi−b)
∂a∂S=i=1∑n[−2xi(yi−axi−b)]=0
i=1∑n(xiyi−axi2−bxi)=0
i=1∑nxiyi−ai=1∑nxi2−bi=1∑nxi=0
b에 대한 편미분
- a에 대한 편미분과 마찬가지로 b에 대한 편미분은 다음과 같이 계산할 수 있다.
∂b∂(u2)=∂u∂(u2)⋅∂b∂u
∂b∂(u2)=2u⋅−1=−2(yi−axi−b)
∂b∂S=i=1∑n[−2(yi−axi−b)]=0
- 양변을 −2로 나누고, ∑를 각 항으로 분배한다.
i=1∑n(yi−axi−b)=0
i=1∑nyi−ai=1∑nxi−i=1∑nb=0
i=1∑nyi−ai=1∑nxi−nb=0
- nb를 우변으로 이항하고, 양변을 데이터 개수 n으로 나눈다.
nb=i=1∑nyi−ai=1∑nxi
b=n1i=1∑nyi−a(n1i=1∑nxi)
- 여기서, 첫번 째 항과 두번 째 항은 각각 y와 x에 대한 평균 yˉ,xˉ이므로 최종 식은 아래와 같다.
b=yˉ−axˉ
연립방정식 정리
- a에 대한 편미분 식에 b에 대한 편미분 식을 대입하면 아래와 같다.
i=1∑nxiyi−ai=1∑nxi2−bi=1∑nxi=0
i=1∑nxiyi−ai=1∑nxi2−(yˉ−axˉ)nxˉ=0
i=1∑nxiyi−ai=1∑nxi2−nxˉyˉ−anxˉ2=0
i=1∑nxiyi−nxˉyˉ=ai=1∑nxi2−anxˉ2
i=1∑nxiyi−nxˉyˉ=a(i=1∑nxi2−nxˉ2)
a=∑i=1nxi2−nxˉ2∑i=1nxiyi−nxˉyˉ
공분산과 분산을 이용한 표현
- 연립방정식을 통해 정리한 a 에 대한 식에서 수학적 성질에 의해 분모를 분산(Variance), 분자를 공분산(Covariance)로 나타낼 수 있다.
- x의 분산(편차 제곱의 합)은 다음과 같이 표현할 수 있다.
Var(x)=i=1∑n(xi−xˉ)2=i=1∑nxi2−nxˉ2
- x,y 의 공분산(두 변수 간의 관계)은 다음과 같이 표현할 수 있다.
Cov(x,y)=i=1∑n(xi−xˉ)(yi−yˉ)=i=1∑nxiyi−nxˉyˉ
- 따라서, 최종 a와 b 는 다음과 같이 나타낼 수 있다.
a=Var(x)Cov(x,y)
b=yˉ−axˉ
정규 방정식을 이용한 정리
- 정규 방정식(Normal Equation)은 최소자승법의 해를 직접 계산하기 위한 대수적 방법이다.
행렬 표현
- 데이터 집합을 행렬로 표현하여 다음과 같이 나타낼 수 있다.
X=x1x2⋮xn11⋮1, θ=[ab], y=y1y2⋮yn
- 이것을 선형대수학의 행렬 곱셉 y=Xθ로 나타내면 다음과 같다.
y=Xθ
y1y2⋮yn=x1x2⋮xn11⋮1[ab]
- Xθ=y 를 정확히 만족하는 해는 존재하지 않으므로, Xθ≈y가 되도록하는 최적해를 찾아야 한다.
최소자승 문제 정의
e=y−Xθ
- 최소자승법은 ∣∣e∣∣2를 최소화 하므로 비용함수 J(θ)를 다음과 같이 나타낼 수 있다.
J(θ)=∣∣y−Xθ∣∣2
J(θ)=(y−Xθ)T(y−Xθ)
J=yTy−2θTXTy+θTXTXθ
최소점 조건
- 최소점에서는 기울기가 0이므로 θ 에 대한 편미분을 아래와 같이 할 수 있다.
∂θ∂J=0
−2XTy+2XTXθ=0
XTXθ=XTy
최종 해 구하기
- 만약 XTX의 역행렬이 존재한다면(Full Rank인 경우) 양변에 (XTX)−1를 곱하여 최소자승의 해를 구할 수 있다.
- 정규방정식을 이용하면 입력 데이터의 차원이 늘어나도 대수적 표현에 의해 간결하게 해를 구할 수 있다.
θ=(XTX)−1XTy
기하학적 의미
- 정규방정식은 직교 투영(Otrhogonal Projection)의 관점으로 해석할 수 있다.
- 열공간(Column Space) - Column Space는 모든 열 벡터의 선형결합으로 만들 수 있는 벡터들의 집합.
- Xθ에서 X는 열벡터들의 집합이고 θ는 X에 곱해지는 계수이므로, Xθ는 X의 열벡터들의 선형결합이므로 항상 X의 열공간 안에 존재한다.
- 하지만 y=Xθ 가 모든 데이터에 만족하는 해를 가진다면 y 역시 X의 열공간 안에 존재해야 겠지만 일반적으로 y는 X의 열공간과 잔차(Residual)만큼 떨어져 있을 것이다.
- 따라서 잔차만큼 떨어진 y와 가장 가까운 점 Xθ를 X의 열공간 안에서 찾는다. 이때, 잔차 r=y−Xθ 는 X의 열공간과 직교한다.
- 즉, y를 X 열공간에 직교 투영 했을 때 만나는 X 열공간 내부의 점이 잔차를 최소화하는 Xθ가 되고, 이때의 θ가 해가 된다.
기하학적 의미 - 예시
- 예를 들어 X가 다음과 같으면 X의 열공간은 2차원(평면)을 나타낼 수 있다.
X=101011, θ=[θ1θ2]
- 즉 Xθ로 2차원 평면 위의 모든 점을 표현할 수 있다.
- y가 다음과 같이 구성되어 평면 밖에 있다고 할 때,
y=215
- 잔차 r 벡터는 다음과 같이 정의되며, X의 열공간과 직교한다.
r=y−Xθ
- 벡터 내적의 성질에 의해 서로 직교하는 벡터의 내적 값은 0이 나온다.
XTr=0
XT(y−Xθ)=0
XTXθ=XTy