유승훈

lec04 - Multi variable linear regression 본문

강의정리/모두를 위한 딥러닝 시즌 2

lec04 - Multi variable linear regression

seunghuni96 2021. 2. 10. 01:20

이전에는 독립변수와 종속변수가 각각 하나씩인 Linear Regression에 대해서 살펴보았습니다. 이번에는 독립변수가 여러개인 다중회귀분석, Multi Variable Linear Regression에 대해서 살펴보겠습니다.

 

이전 강의에서는 공부시간(X)으로 시험점수(Y)를 설명하고자 했습니다. 하지만 시험점수는 공부시간 외에도 수업에서의 집중도, 교수님에 대한 이해, 수업의 분야, 스타일 등 여러 요소가 영향을 미칠 수 있습니다. 실제로 하나의 독립변수보다 여러개의 독립변수로 예측하는 것이 더 좋은 성능을 보입니다. 

 

변수가 하나일때, 우리가 썼던 가설이 변수가 여러개가 되면 어떻게 될까요?

위와 같이 변수가 늘어난 만큼 가중치의 개수도 늘어납니다.

 

Cost Function에는 바뀐 가설이 들어온 것을 제외하면 큰 변화가 없습니다.

 

이렇게 변수가 1개에서 3개로 늘어난 것이 아니라, 손으로 다 쓸 수 없을만큼 큰 n개로 늘어난다면 어떻게 될까요? 변수에 따라 가중치도 n개로 늘어납니다. 이럴때는 가중치를 Matrix의 형태로 만들어주면 편리하게 활용할 수 있습니다.

 

Matrix의 곱을 활용하여

위와 같은 형태로 정리할 수 있습니다. $H(x)=XW$인 식입니다. 우리의 가설함수를 간단하게 정리했습니다.

 

Matrix의 장점은 이 뿐 아니라 Data의 크기, 즉 Row수가 크던 작던 상관없이 편리한 계산을 할 수 있다는 것입니다. 예시로 쓴 5개의 데이터가 아니라 더 큰 데이터, 10000개, 1000000개로 늘어난다고 해도 Matrix를 통해 계산하면

 

이렇게 하나의 간편한 식으로 표현됩니다.

 

알아야 할 것은 Matrix의 곱은 앞에 있는 Matrix의 Column수와 뒤에 있는 Matrix의 Row수가 동일해야한다는 것입니다. 일반적으로 Matrix의 연산을 할 때는 신경써야 하지만, 데이터의 Feature, 즉 Column의 수 만큼 가중치가 생성되기 때문에 대부분 성립하게 됩니다.

 

우리는 $H(x)=Wx + b$의 형태를 쓰다가, 본 강의에서부터 $H(x)=XW$로 순서를 바꾸어 사용하고 있는데요, 보통 식을 작성할 때 계수를 앞에 쓰기 때문에 $H(x)=Wx + b$의 형태를 썼지만, 행렬의 성질에 따른 계산을 위해서 로 순서를 바꾼 것입니다. 실제로 Tensorflow같은 라이브러리로 계산을 하면, $H(x)=XW$로 식이 전개됩니다.

Comments