ML lec 04 - multi-variable linear regression

2021. 5. 23. 17:55

출처 : 모두를 위한 머신러닝/딥러닝 https://hunkim.github.io/ml/

 

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

 

hunkim.github.io

 


앞선 예시에서는 1개의 input에 대한 regression을 살펴보았지만, 만일 여러 개의 input이 주어졌을 때는 어떻게 해야 하는가 ? 위와 같이 x1, x2, x3의 세개의 input 값이 있다고 가정해보자.

 

위의 데이터는 quiz 3개의 점수(x1, x2, x3)들을 가지고 final 점수인 Y값을 예측할 수 있을까? 를 나타내는 표임. 

 


3개의 데이터가 주어지면, 아래의 식과 같이 3개의 값을 더해주면 됨. 

 


cost function도 마찬가지로, 3개의 데이터를 적용시켜주면 됨. cost function 자체의 의미가 예측한 값과 실제값의 차이를 이용하는 것이므로 x1, x2, x3의 값을 넣어주며면 됨.

 


 

그런데 만일, x의 값이 아주아주 1천개 이상 등과 같이 아주 많아진다면 ? 

 

이 때는 Matrix 라는 것을 이용할 것. 

 

 


그 중에서도 Matrix의 곱만 이용할 것. 

 


 

이렇게 matrix의 곱을 이용하게 되면 우리가 알고자 하는 w1x1+w2x2+w3x3+....+wnxn의 값이 아주 간단하게 표시할 수 있게 됨.

 

다만 차이가 있다면, 수학적으로 표현할 때는 w1x1이라고 표시했지만, matrix에서는 x1w1과 같이 x와 w의 순서가 바뀌었음. 두 식은 크게 차이는 없음. 따라서 Matrix에서는 H(X) = XW 라고 표현한다고 이해해두기. 

 


 

 

x1에서 가지는 73, 93, 89, 96 등의 값들을 각각 instance라고 부름. 이렇게 많은 instance가 존재할 수 있다.

 

이 것을 각각을 연산을 할 때 오른쪽의 식에 (x1, x2, x3) = (73, 80, 75)를 넣어서 계산하고, 그 다음은 (x1, x2, x3) = (93, 88, 93)을 넣어서 계산하고... 이렇게 여러번 식에 대입해서 계산하면 될 것. 하지만 instance가 무수히 많아지면 효율성이 떨어질 것.

 


 

이렇게 instance가 많아짐에 따라 효율성이 떨어지는 것은 Matrix의 특징으로 극복할 수 있음. 위와 같이 X를 instance의 수대로 주어지게 되더라도 W는 변화하지 않음. 

 

매트릭스 X에 instance를 여러개 추가하기만 하면 마치 예전에 각각 계산했던 것과 같은 결과값을 한번에 얻게 됨.

 


위에서 X의 [5, 3]을 분석해보면, 5는 X에 들어가는 instance의 개수를 나타내며, 3은 X의 variable의 개수가 됨. 

 

출력값 H(X)의 [5, 1]을 분석해보면, 5는 instance의 개수를 나타내며, 1은 출력되는 y 값을 나타냄.

 

양 쪽의 X와 H(X)를 알고 있다면 W의 크기를 유추해볼 수 있다.

 


위와 같은 방식을 적용한다면 W의 크기를 구하는 것은 간편하다.

 

입력의 크기는 3이고, 출력은 2이기 때문에 W는 [3, 2]라고 알 수 있게 된다. 

 

이렇게 매트릭스를 사용하게 되면 instance, variable, 출력값이 여러개인 경우에도 쉽게 처리할 수 있게 된다.

 


 

수학적인 의미에서는 위아래의 식이 동일하지만, 구현할 때는 아래와 같이 매트릭스의 형태로 나타낸다.

BELATED ARTICLES

more