04. Multi-variable Linear Regression

2020. 4. 5. 20:00AI/모두를 위한 딥러닝

이 포스트는 모두를 위한 딥러닝 - Tensor Flow를 정리한 내용을 담았습니다.
누구나 이해할 수 있는 수준으로 설명하고자 하였으며 LAB의 코드는 TF2.0에 맞추어 재작성되었습니다.

이번 포스트에서는 Multi-variable Linear Regreesion(다변수 선형 회귀)에 대해 알아보겠습니다.

 

· Multi-variable Linear Regression(다변수 선형 회귀)

 이제까지 우리는 변수가 하나인 경우에서만 H(x)를 정의했습니다. 쉽게 말하면 결괏값에 영향을 미치는 요소가 하나라는 말인데, 현실에서는 그렇지 않은 경우가 훨씬 많습니다. 이처럼 결괏값(y)에 영향을 미치는 변수(x)가 둘 이상일 때 Linear Regreesion을 구하는 것을 우리는 Multi-variable Linear Regression, 다변수 선형 회귀라고 합니다.

 

 그렇다면 Simple Linear Regression에서 배운 Hypothesis를 Multi-variable Linear Regression에서는 어떻게 표현하는지 알아보겠습니다.

 

· Hypothesis

 우리는 단순 선형 회귀에서 Hypothesis를 H(x) = Wx + b와 같이 표현했습니다. 그렇다면 변수가 3개면 어떻게 표현할까요? 변수가 늘어난 개수만큼 가중치(W)를 필요로하므로, 다음과 같이 표현할 수 있습니다.

수식 1.1. 변수가 3개일때의 H(x) 

같은 방법으로 변수가 n개일 때는 일반적으로 아래의 식으로 표현할 수 있지만, 실제로 n의 크기에 따라, n이 굉장히 큰 경우 아래와 같이 일일이 적는 것은 매우 힘들 것입니다. 

수식 1.2. 변수가 n개일때의 H(x)

 따라서 편리하고 한눈에 들어오게 하기 위해, 우리는 Matrix multiplication(행렬의 곱셈)을 이용할 것입니다. 벡터의 내적을 이용하면 수식 1.1을 다음과 같이 표현할 수 있습니다.

행렬 1.1

우리는 이 행렬의 내적을 H(X) = XW으로 표현할 수 있습니다. 그런데 위의 행렬의 내적을 살펴보면 수식1.1과 조금 다른점을 알 수 있습니다. 관례적으로 수식에서는 가중치 w가 변수 x 앞에 오지만, 행렬에서는 "행렬 X에 대한 H(x)를 찾는다"는 의미에 맞춰 X가 W앞에 옵니다. 만약 X가 행벡터이고 W가 열벡터인 경우 H(X) = WX로 표현하는 것은 잘못된 표현입니다. 그렇다면 이제 실제 데이터를 보고 행렬을 이용해 Hypothesis를 표현해보겠습니다.

x1

x2

x3

y

73

80

75

152

93

88

93

185

89

91

90

180

96

98

100

196

73

66

70

142