안녕하세요 jay입니다.
이번 시간은 multi-variable-linear regression에 대해 알아보겠습니다.
*참고
강의 : https://www.youtube.com/watch?v=TxIVr-nk1so&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=7&t=3s
다수의 input을 사용하는 regression
지난 시간에는 우리는 위와 같이 하나의 입력(x)로 y를 예측하는 regression에 대해 알아보았습니다.
이번 시간에는 다수의 입력(x1,x2,x3)를 가지고 Y를 예측하는 regression에 대해 알아보도록 하겠습니다.
입력이 다수일 때 Hypothesis
입력이 3개면 Hx에 각각 x1,x2,x3를 대입하여 위와 같은 공식으로 만들 수 있습니다.
입력이 다수일 때 Cost function
Cost function도 마찬가지로 Hx자리에 x1,x2,x3를 각각 대입하면 위와 같은 공식이 됩니다.
Cost function의 핵심 : 예측한 값(H(x)) - 실제 값(y)
입력이 3개 초과일시 위와 같이 공식에 대입하면 됩니다. 하지만 항의 갯수가 많아지면 연산하기가 쉽지 않습니다. 이를 해결하기 위한 방법이 바로 Matrix입니다.
Matrix 곱셈연산
Matrix의 곱셈연산은 간단합니다. 첫 번째 Matrix의 첫 행의 첫 번째 원소를 두 번째 Matrix의 첫 열의 원소를 곱하면 됩니다. 두 번째 원소는 두 번째 원소끼리 곱해주면 됩니다. 이를 반복한뒤 다 더해주면 (1*7)+(2*9)+(3*11) = 58이 됩니다.
Matrix를 사용하는 Hypothesis
Matrix를 이용하지 않으면 w1*x1_w2*x2+..... 이렇게 항이 많아지며 식이 복잡해집니다. 하지만 Matrix를 이용하면 위와 같이 H(X) = XW로 간단하게 정의 내릴 수 있습니다. 여기서 (x1 x2 x3)를 우리는 하나의 큰 Matrix인 X로 로 정의내릴 수 있습니다.(W도 마찬가지입니다.)
다수의 instance를 가진 matrix를 사용하는 Hypothesis
우리는 전까지 3개의 instance로 예를 들었습니다. instance란 데이터의 한 row(행)를 의미합니다.
이번에는 5개의 row를 가진 matrix X와 W로 H(X)를 만들어보겠습니다. 여기서 행렬 X를 보시면 5,3행렬입니다. 5는 인스턴스의 갯수이며 3은 우리가 입력하는 feature의 갯수(x1,x2,x3)를 의미합니다.
W 유추하기
주로 행렬 X는 주어집니다. 5행 3열인 행렬 X를 보시면 5는 instance의 수이고 3은 feature의 갯수입니다.
선형회귀에서 H(x)는 유추할 수 있습니다. H(x)에서 5는 똑같이 instance의 수이고 선형회귀의 y값은 1입니다. 따라서 X와 H(x)를 가지고 우리는 W를 유추해야합니다. 행렬 공식에 따르면 A(x)*B(x)=C(x)라고 가정할때 C(x)의 행과 열은 각각 A(x)의 행 B(x)의 열이어야 합니다. 따라서 우리는 W를 [3,.1]이라고 유추할 수 있습니다
정리
이론적으로 우리는 가설을 Wx+b라고 정의를 내렸습니다. 하지만 구현에서 X와 W가 둘다 Matrix일 경우 H(x) = XW으로 식을 세우면 별도 처리없이 Matrix곱만으로 구현이 됩니다.
댓글
댓글 쓰기