JINWOOJUNG

Linear Regression 본문

Machine Learning

Linear Regression

Jinu_01 2024. 1. 2. 23:53
728x90
반응형

본 게시글은 인하대학교 유상조 교수님의 Machine Learning Tutorial Seminar

수강 후정리를 위한 포스팅입니다.

모든 포스팅의 저작관은 유상조 교수님에게 있음을 사전 공지합니다.


 

Classification(분류) : 구별되는 클래스를 예측하는 작업

Regression(회귀) : 실수값/연속적인 값(continuous qunatity)을 예측하는 작업

 

Linear Regression

Linear Regression은 하나 혹은 다수의 Input(explanatory/independent variables)와 Output(a scalar response/dependent variable)의 상관관계를 모델링하는 것이다. 

 

이때 Input Data는 다음과 같이 정의된다.

xi=[x1i,x2i,,xpi]

i 번째 data인 xi는 p dimension을 가지는 data(feature)로 정의된다.

만약 10x10 Image data가 존재한다고 하면 각각의 pixel을 데이터로 가지기 때문에, 해당 데이터는 10x10 dimension data가 된다. 

 

 

만약 dimension이 1인 data가 여러개 있다고 가정하면 위 그래프 처럼 찍을 수 있고, 이를 만족하는 model을 정의하는 것이 linear regression이다.

 

이때, yi는 i번째 dependent variable, xij는 p dimension을 가지는 i번째 data, θj는 parameter vector, εi는 i번째 error라고 가정하면 아래와 같이 표현할 수 있다. 이때, θ0는 bias parameter이다.

yi=θ0+θ1xi1++θpxip+εi/qquad(i=1,,n)

Y=Xθ+ε

Matrix로 표현 시 각 data에 가장 앞 부분을 1로 설정하고, θ vector에 θ0를 추가하여 편향을 표현한다.

 

위 예시와 같이 데이터 분포 시 1차식으로 표현 가능하다. 하지만 아래와 같이 데이터가 분포한다면 1차식 만으로 표현시 큰 Error가 발생할 것이다.

따라서 우리는 polynomial expression(다항식)이 필요하고 따라서 모델링을 다음과 같이 다항식으로 할 수 있다.

hi=θ0+θ1ti+θ2t22++θptip+εi

하지만 다항식 표현은 t에 대해서 선형적이지 않다. 하지만 관점을 달리하면 즉, θ에 대하여 표현한다면, 선형식으로 해석된다. 

즉, xi(1,xi1,,xip)가 아닌 (1,ti,ti2,,tip)로 표현한다면 θ에 대한 선형모델을 만들 수 있다.

hi=xiθ+εi

 

위 예를 x1=30,x2=60,x3=70,라고 가정하자(p=2).

위 식에 의해 값이 아닌 time value가 input data로 들어가기 때문에 x1=(1,1,1),x2=(1,2,4),x3=(1,3,9)가 된다.

 

따라서 이를 Matrix로 표현하면,

[306070]=[111124139][θ0θ1θ2]

 

Linear하게 표현되므로 Inverse Matrix를 이용해 계산하면,θ 즉, Weight 값을 구할 수 있다.

 

Least Square Estimator

 

Linear Regression 식을 다시 써 보면 y=Xθ+ε으로 나타낼 수 있다.

따라서 최적의 θ 즉, 최적의 weight를 구하는 방법은 Error를 최소화하는 것이다. 즉, ε=Error=yXθ이고, Positive/Negative 상관없이 Error를 최소화 하는 것이 목적이므로 절댓값을 씌어 표현할 수 있다.

여기서 \hat{\theta}은 추정치를 의미한다. 

 

L_2 norm의 경우 Outlier에 대한 Error를 극대화 하기 위해서 위 식에서 제곱을 한다. 따라서 최적의 \theta를 찾는 Task는 \underset{\theta}{min} \left\| y-X\theta\right\|^2를 푸는 Task로 이어지고, 최소의 경우 극값이기에 미분이 0이 되는 지점을 계산하여 찾아주면 아래와 같다.

$$ \underset{\theta}{min} \left\| y-X\theta\right\|^2 \qquad \to \qquad (-2)X^T(y-X \hat{\theta}) = 0$$

 

\theta에 대하여 풀기 위해 식을 단순화 하면

X^TX \hat{\theta} = X^Ty이므로 least squre의 solution은 \hat{\theta} = (X^TX)^{-1}X^Ty를 계산함으로써 unique solution을 얻을 수 있다. 이때, X가 Full Rank여야 Inverse가 존재하며, Matrix 연산의 경우 Dimension이 클수록 복잡성이 커지는 경향이 있다.

 

Gradient Descent Algorithm

 

따라서 Weight를 Iterative하게 구하기 위해서 새로운 접근 방법이 대두되었다.

 

Linear Hypothesis를 H_W(X) = WX+b라고 정의하는데, 여기서 b는 위에서 정의한 Bias(\theta_0)와 같다.

 

우리의 목표는 최적의 W를 찾는 것이기 때문에, 빨간색으로 표시된 Error를 최소화 해야 하는 것이 목표이다. 따라서 Cost Function을 위에서 살펴본 L_2 Loss Function으로 정의하면 아래와 같다.

cost = \frac{1}{m}\sum_{i=1}^{m}[H(X^{(i)})-t ^{(i)}]^2

이를  Linear Hypothesis으로 표현하면 아래와 같다.

$$ cost(W,b) = \frac{1}{m}\sum_{i=1}^{m} [WX^{(i)}-t^{(i)}]^2 $$

 

따라서 학습의 목표는 최적의 파라미터 W,b를 찾는 문제로 귀결된다.

(W^*, b^*) = \underset{W,b}{min} \ cost(w,b)

 

cost를 minimize하기 위해 식을 아래와 같이 약간 변형하여 미분했을 때 분모를 간단하게 취해보자

$$ cost(W,b) = \frac{1}{2m}\sum_{i=1}^{m}[ WX^{(i)}+b-t ^{(i)}]^2$$

이때, 다음과 같이 bias를 Matrix에 함께 표현하고

Weight를 다음과 같이 표현할 수 있다.

 

 

즉, Cost가 최소가 되기 위해서는 극소점을 찾아야 하므로 미분했을 때 값이 0이 되는 방향으로 변화해야 한다. 따라서 미분 식 앞에 -를 붙임으로써 기울기가 음수이면 커지고 양수이면 작아지는 방향으로 학습될 수 있도록 표현 가능하다.

이때, \alpha는 learning rate로 hyperparameter이다.

따라서 learning rate를 너무 작게 설정하면 변화량이 너무 작고, 너무 크면 0이 수렴할 수 없게 된다.

또한, 아래와 같이 global minima가 아닌 locat minima에 수렴하는 경우도 발생하기에 Initial에 영향을 받는다.

728x90
반응형

'Machine Learning' 카테고리의 다른 글

[ ML & DL 1] Introduction to Supervised Learning  (0) 2024.11.22
Long Short Term Memory(LSTM)  (1) 2024.01.13
Recurrent Neural Network(RNN)  (2) 2024.01.13