본문 바로가기
딥러닝 기초

3. 여러 개의 변수를 갖는 Linear regression

by demi-an 2023. 8. 6.

지금까지는 하나의 input에 대한 linear regression을 다루었다면, 이번에는 1. Linear regression에서 잠시 제시했던 여러 변수를 input으로 하는 Linear regression을 살펴보겠습니다. Hypothesis 식과 cost function 식은 하나의 변수로 이루어진 Linear regression 식 형태와 유사하게 다음과 같이 표현할 수 있습니다.

하지만 이와 같은 다변수 Linear regression 식의 경우, 변수가 많아질수록 줄줄이 써야하고, 코드로 표현하기에도 불편함이 있습니다. 그래서 일반적으로 이와 같은 식은 Matrix(행렬)로 표현합니다. 예시로, x_1, x_2, x_3 3개의 변수로 이루어진 4개의 데이터를 가정하고 Linear regression hypothesis 식과 데이터를 대입한 곱 형태의 Matrix로 표현해보겠습니다. 

x_1 x_2 x_3 Y
x_11 x_12 x_13 y_1
x_21 x_22 x_23 y_2
x_31 x_32 x_33 y_3
x_41 x_42 x_43 y_4

Hypothesis 식
Matrix 표현식

위의 Matrix 곱에서 눈여겨볼 부분은, 앞에 곱해지는 Matrix(input)의 행 수(4), 뒤에 곱해지는 Matrix(weight)의 열 수(1)를 통해 최종 output의 모양(shape, 여기서는 [4, 1])이 결정된다는 것입니다. 위의 곱의 형태는 이후에 다룰 Fully connected layer (Dense layer)에서 사용합니다. Layer가 연속될 때, 이를 통과하는 data의 shape은 그 다음 layer의 weight이 곱해질 수 있는 형태여야 합니다 (output shape이 위처럼 [4, 1]이라면, 다음 layer도 fully connected layer인 경우, 그 layer의 weight shape은 [1, X] 형태가 되어야 matrix 곱 연산이 가능합니다). 일반적으로 matrix 열 수를 dimension이라고 표현하고, 여기에서는 간단하게 'weight shape을 통해서 output dimension을 조절할 수 있다' 정도만 생각해도 괜찮습니다.

 

그리고 위와 같은 Linear regression matrix 곱 표현을 아래와 같이 Matrix를 대문자로 표현한 간단한 곱 형태로 표현할 수 있습니다 (Matrix 곱에 대한 설명은 생략하겠습니다). 이 표현방식은 tensorflow, pytorch와 같은 deep learning framework 코드 상에서 주로 사용합니다.

Matrix 식 간략화

참고한 자료1: https://hunkim.github.io/ml/

 

모두를 위한 머신러닝/딥러닝 강의

 

hunkim.github.io