본문 바로가기

카테고리 없음

머신 러닝 알고리즘 - Multi-variable Linear Regression (다변량 선형 회귀) 그리고 행렬(Matrix) 표현

Linear Regression의 Hypothesis는 다음과 같다고 했다.

굉장히 간략화된 버전으로 변수(variable)가 x 하나밖에 없다. 하지만 실제 데이터에서는 여러 개의 변수가 하나의 결과와 연계되어 있는 경우가 많이 있다. 이러한 경우를 Multi-variable Linear Regression이라고 부른다.

Multi-variable Linear Regression의 경우 Hypothesis를 살짝 변형할 필요가 있다.

변수가 3개인 함수로 Hypothesis를 변경하였고, 각각 변수에는 가중치가 따로 할당되어 있다.

Cost 함수는 위와 같이 그대로 사용할 수 있다. 이 Cost 함수를 이용하여 변수가 하나인 Linear Regression의 Gradient Descent 알고리즘을 똑같이 Cost가 최소화되는 W 값들을 찾아낼 수 있다.

Matrix 표현

이제 변수가 여러 개로 늘어났고 변수마다 가중치(Weight)가 할당되어 곱하기 형태로 표현이 된다. 이런 계산을 편하게 표현하기 위해서 Matrix(행렬) 표현을 사용할 수 있다.

이런 Hypothesis가 있다고 할 때 이는 행렬 계산으로 비슷하게 표현할 수 있다. (일단 편의상 bias는 제외)

학습 데이터의 x 값들을 저장한 1×3 행렬 X와 가중치들을 저장하는 3×1 행렬 W를 곱하면 Hypothesis와 동일한 수식을 얻을 수 있다. 이를 Matrix 곱셈으로 표현하면

이렇게 표현할 수 있다.

학습 데이터가 하나 이상인 경우에도 행렬 연산으로 간단히 표현할 수 있다. 5개의 학습 데이터가 존재하는 경우 5개의 학습 데이터를 담는 5×3 행렬 X를 만들 수 있고, 각 변수의 가중치를 표현하는 3×1 행렬 W를 곱하여, Hypothesis가 예측하는 값인 5×1 행렬을 얻을 수 있다.

머신 러닝의 경우 이런 행렬 연산이 빈번하게 일어나며 행렬 연산을 통해 빠르게 다량의 연산을 처리할 수 있다. 머신 러닝을 공부하면서 이런 선형대수 연산들을 어느 정도 알아놓을 필요가 있다.