3. 다변량 선형 회귀(Multivariate Linear Regression)
이전까진 하나의 변수만 다뤘습니다. 하지만 세상엔 대부분 다양한 변수로 인해 결과가 나오는 경우가 많지요,,
운동 시간, 스쿼트 몇 세트 했는지, 음식은 몇 칼로리 먹었는지 여러 가지 변수가 종합되어 체중이 몇 kg 빠지나 결정되는 것처럼요.
다변량 선형 회귀는 이전에 다뤘던 단변량과 유사합니다. 변수만큼 가중치도 늘어날 뿐입니다.
감량 체중(y) |
운동 시간(x1) |
흡수 kcal(x2) |
스쿼트 횟수(x3) |
200g |
30분 |
400kcal |
2회 |
300g |
40분 |
400kcal |
3회 |
400g |
30분 |
300kcal |
5회 |
500g |
40분 |
600kcal |
10회 |
위와 같은 데이터가 있습니다. 체중에 영향을 주는 요인이 저렇게 3가지라고 생각해봅시다. 운동을 열심히 해야겠네요
단변량 선형 회귀에서 한 것처럼, 이런 가설을 세워볼 수 있습니다.
H(x) = w1·x1 + w2·x2 + w3·x3 + b
간단하군요,, 그러면 위의 식을 계산해볼까요? 위에서부터 아래로 사람 A, B, C, D라고 이름 짓겠습니다.
사람 A의 체중 = 30분·w1 + 400kcal·w2 + 2회·x3 + b
사람 B의 체중 = 40분·w1 + 400kcal·w2 + 3회·x3 + b
사람 C의 체중 =... 쓰기 힘들군요
그러면 행렬로 표현해볼까요?
b는 생략했습니다..
어쨌든, 표현해보면 Y = XW가 되네요.
중요한 점은 입력하는 변수와 Y에 따라 가중치 w가 필요합니다. 위 그림에서 4 X 1의 행렬이 나오려면, W의 크기는 X행렬의 뒤인 3, Y행렬의 앞인 1을 가져와 3 X 1이 되어야겠죠. 만약 Y가 4 X 2로 두 가지 결과가 나온다고 하면, 가중치는 3 X 2가 되어야 할 것입니다.
cost function은 이전 단변량 선형 회귀와 동일합니다.
다만, 이전엔 한 변수에 대해 가설을 H(x) = w·x + b로 지었다면,
이번엔 행렬에 대해 H(X) = w1·x1 + w2·x2 + w3·x3 +.... + wn·xn + b = X·W + b가 되겠습니다. (X, W의 순서는 행렬 곱 때문에 바꿨습니다)