[모두를 위한 딥러닝2] Basic Machine Learning : Multi-variable Linear Regression

z00m__in·2022년 12월 27일
0
post-thumbnail

본 게시물은 "모두를 위한 딥러닝 2" 강의 수강을 바탕으로 작성된 포스트이다.


복습

  • Hypothesis : Data의 분포를 가장 잘 대변하는 직선의 예측인 가설 함수
    W는 weight, b는 bias에 해당. 추후 간략화해서 H(x)=Wx로만으로도 표현.

  • Cost function : 예측과 실제 값의 차이. 음수의 값이 나오지 않도록 하기 위해 제곱의 평균을 계산.
    머신러닝의 핵심인 "학습 과정"이라 할 수 있음.

  • Gradient descent : 최소의 cost를 만드는 W를 찾아내는 기법.
    이전의 W값에서, gradient에 α를 곱한 값을 뺀 것을 새로운 W로 업데이트.
    업데이트한 W 값에 대한 cost가 최소이도록 하는 과정.


Multi-variable linear regression

: 하나가 아닌 여러 개의 변수를 사용하는 다변수 선형회귀

One-variable & Multi-variable

One-variable

One-variable이라 함은 하나의 예측값이 도출되는 과정에서 고려되는 입력값이 하나라는 의미다.
간단한 예시로는, '투자한 시간'에 따라 다르게 예측되는 '시험 점수'를 생각해볼 수 있다. 이 때 투자한 시간이 변수에 해당하므로 하나의 variable(feature)를 갖는다 할 수 있다.

Multi-variable

Multi-variable은 하나의 예측값이 도출되는 과정에서 고려되는 입력 값이 하나가 아닌 여러 개라는 의미다. One-variable에 비해 다양한 상황을 고려하게 되므로 예측의 결과가 보다 정확해지는 prediction power(예측력)를 가진다.
간단한 예시로는, '퀴즈 1', '퀴즈 2', '중간고사'의 성적에 따라 예측되는 '기말고사 성적'을 생각해볼 수 있다. 이 때 두 개의 퀴즈와 중간고사가 변수에 해당하므로 3개의 variable(feature)를 갖는다 할 수 있다.

Multi-variable Hypothesis


각 변수에 따라 다른 가중치를 가져야 한다. 따라서 변수의 갯수만큼 가중치의 갯수가 늘어난 새로운 식이 도출된다. 변수가 늘어날 경우 하나의 긴 식으로 나열하는 것이 비효율적이므로 행렬의 dot product를 주로 사용한다.

Hypothesis using matrix

X : 변수의 matrix. 변수의 쌍이 여러 개인 경우, X의 행이 그만큼 늘어난다. 사진은 총 다섯 쌍의 변수에 대한 행렬으로 5개의 행이 존재한다.
W : 가중치의 matrix

Hypothesis matrix의 확장

변수의 쌍이 많아지는 경우

변수의 쌍이 5개가 아니라 계속해서 늘어난다고 가정하자. 모든 경우를 다 나열하기엔 버거울 것이다. 그렇다면 각 행렬의 행과 열의 구조를 나타내며 간편하게 표현하면 된다!

output이 하나가 아닌 여러 개인 경우

최종으로 예측하고자 하는 예측값이 여러 개인 경우이다. 먼저 입력 data인 X 행렬과 최종 출력에 해당하는 H 행렬을 완성해보면, W 행렬의 구조를 파악할 수 있다. 위 사진은 두 개의 출력값을 도출하고자 하는 경우다.

WX와 XW의 차이

WX는 식이 어떻게 생겨야 하는지 이론적으로 보여줄 때 사용되는 반면, XW는 실제로 Tensorflow로 구현할 때 연산을 위해 사용된다.

Multi-variable Cost function

Hypothesis 결과에서 실제 값의 차이를 바탕으로 도출해야 하기 때문에, cost를 구하는 식은 동일하다. 그 안에 들어가게 되는 H(x)의 내용이 바뀔 뿐이다.


실습

이 링크는 multi-variable linear regression를 matrix를 활용하지 않을 때와 matrix를 사용할 때에 대해 모두 실습해 본 결과이다.
https://colab.research.google.com/drive/1bKERqMoHj2mO_ynnRo0smzSN0Xj4owya?usp=sharing

profile
우당탕탕 기록지

0개의 댓글