수학과 기하 / NOTE 21

다변수 회귀

Multivariate Regression

여러 입력 변수와 가중치를 행렬로 표현하는 방법을 정리합니다.

♫ 이 문서 듣기

개념에서 수식으로

먼저 이해할 내용

하나의 출력이 여러 입력과 관련되어 있을 때, 각 입력에 계수를 곱해 더하는 모델을 만들 수 있다. 이 글은 여러 샘플과 여러 입력의 관계를 행렬로 묶어 계수벡터를 구하는 과정을 다룬다.

기호를 먼저 읽기

x₁ … x_m
한 샘플을 설명하는 m개 입력 성분
w₁ … w_m
각 입력에 적용할 계수
X
샘플을 행으로, 입력 성분을 열로 모은 행렬
Y
샘플별 출력벡터
XᵀX
입력 성분 사이의 곱을 모든 샘플에 걸쳐 모은 행렬

이 글의 흐름

한 샘플의 가중합을 먼저 읽고, 이를 모든 샘플에 대해 Y=XW로 적는다. 그다음 정상방정식과 각 행렬 성분의 합 표현을 연결한다.

주제와 표기

Multivariate Regression

여러 입력의 가중합으로 출력을 표현한다

각 x 성분에 대응하는 w를 곱한 뒤 모두 더한다. 여기서 x는 입력이고 w는 구하려는 계수이다. 원문 첫 식에는 독립된 절편 항이 없으므로, 이를 설명 없이 추가하지 않는다.

y=w1x1+w2x2++wmxm
Y=XW
W=WT=(w1:wm);(%m×1matrix%)

행과 열의 역할을 정한다

W는 m개의 계수를 세로로 둔 벡터이며, 한 샘플의 입력은 m개 성분으로 구성된다. 여러 샘플을 X의 행으로 쌓으면 XW가 샘플별 예측값을 만들고 Y와 비교할 수 있다. 행렬곱의 안쪽 차원이 맞는지 확인한다.

X=(x1xm);(%mvector%)
수식
Y=(y1:yR);(%R×1matrix%)

행렬곱을 샘플별 합으로 펼쳐 읽는다

XᵀX의 i,j 성분은 같은 샘플의 i번째 입력과 j번째 입력을 곱하여 샘플 전체에 걸쳐 더한 값이다. XᵀY의 i번째 성분은 i번째 입력과 출력을 곱해 더한 값이다. 마지막 역행렬 표현은 이 정보로 계수를 분리한 것이며, 역행렬이 존재하는 조건을 전제로 한다.

W=(XTX)1(XTY)
(XTX)ijk=1Rxkixkj(m×m matrix)
(XTY)ik=1Rxkiyk(m-element vector)

정리하면

행렬식은 많은 식을 숨기는 표기가 아니라 같은 계산을 한 번에 나타내는 방법이다. X의 행·열이 무엇을 뜻하는지 알면 성분별 합과 행렬식이 연결된다.