수학과 기하 / NOTE 20

최소제곱 선형회귀

Least Squares · Linear Regression

선형회귀의 합 표현에서 행렬식까지 전개 과정을 보존합니다.

♫ 이 문서 듣기

개념에서 수식으로

먼저 이해할 내용

여러 측정점을 하나의 직선으로 설명할 때 모든 점을 정확히 지나는 직선이 없을 수 있다. 최소제곱은 각 점에서 남는 오차를 제곱해 모으고, 그 값이 작아지는 직선의 계수를 정하는 방법이다. 이 글은 성분별 식에서 행렬식으로 옮기는 과정을 보여준다.

기호를 먼저 읽기

xᵢ, yᵢ
같은 샘플의 입력과 관측값
w₀, w₁
직선의 절편과 기울기
X
샘플별 입력을 모은 행렬
Y
관측값을 세로로 모은 벡터
W
구하려는 계수벡터

이 글의 흐름

직선식에서 합과 입력을 곱한 합을 구성한다. 두 조건을 행렬로 모으면 정상방정식이 되고, 역행렬이 존재하는 조건에서 계수를 정리할 수 있다.

주제와 표기

Least Squares LR (Linear Regression)

직선에서 구할 값은 두 개이다

w₀는 입력 x가 0일 때의 기준값이고, w₁은 x 변화에 따라 y가 변하는 비율이다. 각 샘플의 xᵢ와 yᵢ는 이미 알고 있는 값으로 두고, 이 두 계수를 구하는 문제로 읽는다. 입력과 미지수를 구별하면 뒤의 행렬 역할이 명확해진다.

y=w0+w1x

1

두 종류의 합으로 계수 조건을 만든다

첫 식은 모든 yᵢ의 합을, 다음 식은 yᵢxᵢ의 합을 다룬다. 이 두 조건은 상수 성분과 x 성분에 대한 잔차를 모아 보는 관계이다. 원문의 합 범위는 제시된 표기를 따르며, 알려지지 않은 상한을 새 숫자로 정하지 않는다.

i=1nyi=i=1n(w0+w1xi)
i=1nyixi=i=1n(w0xi+w1xi2)

2

샘플별 관계를 행렬로 모은다

X의 각 행에는 상수항 1과 해당 샘플의 x가 들어가고, W에는 w₀와 w₁이 들어간다. XW는 모든 샘플에 대해 직선이 예측하는 값을 한 번에 계산한 것이다. Xᵀ를 왼쪽에 곱하면 앞의 두 합 조건을 함께 적은 정상방정식이 된다.

(11)(y1yn)=(11)(1x11xn)(w0w1)
(x1xn)(y1yn)=(x1xn)(1x11xn)(w0w1)

3

수식

4

정상방정식에서 계수를 분리한다

XᵀY=XᵀXW의 양쪽에 (XᵀX)⁻¹을 곱하면 W가 분리된다. 이는 역행렬이 존재할 때의 정리이다. 예를 들어 모든 x가 같으면 서로 다른 기울기와 절편을 구분할 정보가 부족하므로, 이 식을 무조건 계산할 수는 없다.

XTY=XTXW
(XTX)1(XTX)W=(XTX)1(XTY)
W=(XTX)1(XTY)

두 입력을 같은 계수로 묶은 모델을 읽는다

뒤의 식은 x1과 x2에 서로 다른 계수를 두지 않고 같은 w₁을 적용한다. 따라서 두 입력의 합을 하나의 설명변수처럼 사용하는 제한된 모델이다. 일반적인 독립 두 변수 회귀로 바꾸어 읽지 않고, 원문이 정한 계수 공유 조건을 유지한다.

y=w0+w1x1+w1x2

1

i=1nyi=i=1n(w0+w1(x1i+x2i))
i=1nyi(x1i+x2i)=i=1n(w0(x1i+x2i)+w1(x1i+x2i)2)

2

바뀐 입력 열에 같은 절차를 적용한다

이번에는 X의 입력 열에 x1ᵢ+x2ᵢ가 들어간다. 이후의 XᵀY=XᵀXW와 계수 분리 과정은 앞과 같다. 즉 계산 틀은 유지하고, 모델이 정한 입력 표현을 바꾸는 과정으로 이해할 수 있다.

(11)(y1yn)=(11)(1x11+x211x1n+x2n)(w0w1)
수식

3

수식

4

XTY=XTXW
(XTX)1(XTX)W=(XTX)1(XTY)
W=(XTX)1(XTY)

정리하면

여러 샘플을 모으는 이유는 한 점의 우연한 오차보다 전체 데이터의 관계를 설명하기 위해서이다. 마지막 역행렬 표현에는 계수를 구별할 만큼 충분한 입력 정보가 있다는 전제가 필요하다.