multi-variable linear regression

해당 게시물은 Edwith에서 제공하는
머신러닝과 딥러닝 BASIC을 듣고 요약 정리한 글입니다.

Predicting exam score

Regression using three inputs(x1, x2, x3)

multi-variable/feature

x1 (quiz1) x2 (quiz2) x3 (midterm 1) Y (final)
73 80 75 152
93 88 93 185
89 91 90 180
96 98 100 196
73 66 70 142

3가지의 변수(x1, x2, x3)을 이용해 Y를 예측

Hypothesis

H(x1,x2,x3)=w1x1+w2x2+w3x3+bH(x_1, x_2, x_3) = w_1x_1 + w_2x_2+ w_3x_3 + b

Cost function

cost(W,b)=1m_i=1m(H(x1(i),x2(i),x3(i))y(i))2cost(W,b) = \dfrac{1}{m}\sum\_{i=1}^m(H(x_1^{(i)}, x_2^{(i)}, x_3^{(i)}) - y^{(i)})^2

Multi - Variable

  • Hypothesis

    H(x1,x2,x3,...,xn)=w1x1+w2x2+w3x3+...+wnxn+bH(x_1, x_2, x_3, ..., x_n) = w_1x_1 + w_2x_2+ w_3x_3 + ... + w_nx_n + b

Matrix

  • 데이터의 개수가 늘어날 때 사용하면 된다.
  • Matrix multiplication(행렬 곱셈)을 사용

Hypothesis using matrix

  • Hypothesis

    w1x1+w2x2+w3x3+...+wnxnw_1x_1 + w_2x_2 + w_3x_3 + ... + w_nx_n
  • Matrix multiplication

    (x1x2x3)(w1w2w3)=(x1w1+x2w2+x3w3)(x_1 x_2 x_3) \cdot \begin{pmatrix}w_1\\w_2\\w_3\end{pmatrix} = (x_1w_1 + x_2w_2 + x_3w_3)

Hypothesis와 다르게 행렬 곱셈은 X가 앞에 나오기 때문에
matrix를 사용할 때 X를 앞에다 쓴다.

H(X)=XWH(X) = XW

Many x instances

x1 (quiz1) x2 (quiz2) x3 (midterm 1) Y (final)
73 80 75 152
93 88 93 185
89 91 90 180
96 98 100 196
73 66 70 142

Hypothesis에서 x는 3개 밖에 없지만 해당 table의 instance는 5개
이곳에서 matrix multiplication을 사용
각각의 instance를 계산할 필요 없이 사용 가능한 장점

[5, 3] X [3, 1] = [5, 1]

보통 [5, 3]에서 3은 variable의 갯수, 5는 instance의 갯수로 주어진다.
Linear regression에서 출력값 또한 보통 주어진다.
주어진 값을 토대로 W를 추측 가능하다.

[5, 3] X [?, ?] = [5, 1]

위의 내용을 토대로 W[3, 1]의 크기임을 예측 가능

WX vs XW

  • Lecture(theory)

    H(X)=Wx+bH(X) = Wx + b
  • Implementation (TensorFlow) $ H(X) = XW


Written by@Minsu Kim
Software Engineer at KakaoPay Corp.