Post

[머신러닝] 선형 회귀 (Linear Regression)

[머신러닝] 선형 회귀 (Linear Regression)

선형 회귀 (Linear Regression)

선형 회귀는 입력 변수 $x$와 출력 변수 $y$ 사이의 관계를 직선 형태의 수학적 모델로 근사하는 방법이다.

즉, 주어진 데이터에 가장 잘 맞는 직선 또는 초평면 (hyperplane)을 찾는 것이 목표이다.

단순 선형 회귀 (Simple Linear Regression)

입력 변수가 1개인 경우에서의 선형 회귀를 의미하며, 2차원 평면에서 직선을 나타낸다.

\[\hat{y}=b+wx\]

위의 식에서 가중치 $w$와, bias $b$는 모델의 파라미터로, 학습을 통해 찾아나가는 값이다.

또는 파라미터를 $\theta$로 표현해서 아래와 같이 표현할 수도 있다.

\[\hat{y}=f(x;\boldsymbol\theta)=\theta_0+\theta_1x~~,~~ \boldsymbol\theta=\begin{bmatrix}\theta_0\\\theta_1\end{bmatrix}\]

아래 그림에서 $x$축은 특징 축, $y$축은 라벨값으로, 파란색 점들에 가장 잘 맞는 직선을 찾는 것이 단순 선형 회귀이다.

fig1 [출처]

다중 선형 회귀 (Multiple Linear Regression)

입력 변수가 여러개인 경우에서의 선형 회귀를 의미한다. 입력 변수가 $D$개일 경우, $D$차원 공간의 초평면 형태를 나타낸다.

\[\hat{y}=b+w_1x_1+w_2x_2+\cdots+w_Dx_D=b+\mathbf{w}^\top\mathbf{x}\]

또는 파라미터를 $\theta$로 표현해서 아래와 같이 표현할 수도 있다.

\[\hat{y}=f(\mathbf{x};\boldsymbol\theta)=\theta_0+\theta_1x_1+\theta_2x_2+\cdots+\theta_Dx_D~~,~~ \boldsymbol\theta=\begin{bmatrix}\theta_0\\\theta_1\\\vdots\\\theta_D\end{bmatrix}\]

아래 그림은 입력 변수가 2개인 경우로, 빨간색 점들에 가장 잘 맞는 평면을 찾는 것이 다중 선형 회귀이다.

fig2 [출처]

목적 함수 (Objective Function)

선형 회귀에서는 일반적으로 [MSE]를 사용하여 목적 함수를 정의한다.

\[\min_{w}\frac{1}{n}\sum_{i=1}^n\left(y^{(i)}-\hat{y}^{(i)}\right)^2\]

이는 각 데이터 지점에서 예측값 $\hat{y}^{(i)}$와 실제값 $y^{(i)}$의 차이를 제곱해 모두 더한 뒤 평균을 취한 것이다.

다항 회귀 (Polynomial Regression)

다항 회귀는 입력 변수 $x$와 출력 변수 $y$ 사이의 관계를 다항 함수로 근사하는 방법이다.

입력 변수와 출력 변수의 관계가 선형적인 관계가 아닐 경우에 사용한다.

데이터셋 $(x,y)$를 $d$차 다항식으로 근사하는 다항 회귀식은 아래와 같다.

\[\hat{y}=b+w_1x+w_2x^2+\cdots+w_dx^d\]

이때 $x$의 거드제곱 항 $x^d$를 새로운 입력 변수 $z_d$로 치환하면, 다항 회귀는 아래와 같이 표현된다.

\[\hat{y}=b+w_1z_1+w_2z_2+\cdots+w_dz_d\]

위 식은 $d$개의 입력 변수를 갖는 다중 선형 회귀와 동일한 것을 확인할 수 있다.

따라서 다항 회귀는 다중 회귀의 일부라고 할 수 있다.

fig3 [출처]

This post is licensed under CC BY 4.0 by the author.