본문 바로가기

기계학습/ML,DL Backgroud 이론 - [대학원] 전공 수업

[기계학습 3] Optimization, Multivariate Linear Regression(다변량 선형 회귀)

- 본 게시물에서는 [기계학습 1~2] 게시물에서 지속적으로 언급됐던 Mapping Function Fw(Xn)의 파라미터 벡터 w 중 최적의 값을 찾아나가는 Optimazation 과정에 대해 상술

 


 

# Optimization 

Cost Function L(w)에 대해 아래와 같은 최적의 w벡터를 찾고자 함

 

# Grid Search : Optimazation 방식 1 

- brute-force한 방식이지만 가장 간단한 방식으로, grid 내의 모든 w 값에 대한 cost를 연산한 후 가장 최적의 w 값을 선택한다.

- 그러나, 'foor loops'가 너무 많으며, 이에따라 exponential computational complexity를 초래한다.

 

 

# Gradient Descent(경사 하강법) : Optimazation 방식 2

 

1) INTRO

- Gradient Descent : 아래의 세 가지 값이 변함에 따라 달라지는 w벡터 중 최적의 w벡터를 찾는 방식

ⓐ Where Start? : initialization data point

ⓑ Which Direction? : negative gradient

ⓒ How much Move ? : learning rate

 

 

 

2) Gradient

- Gradient (at a point) : 한 데이터 포인트에서의 function에 대한 접선의 기울기(the slope of the tangent)로, 이는 해당 함수의 가장 큰 증가 방향을 가리킨다.(?)

- Gradient Descent 알고리즘의 방향은 'negative gradient'로 해당 데이터포인트에서의 접선의 기울기에 '-'를 붙인 값이다.

- 아래의 그림에서 2,3차원에서의 데이터 포인트별 negative gradient 방향을 기하학적으로 확인할 수 있다. 

 

 

3) Gradient Descent 과정

 

ⓐ initialization data point w = (w0, w1) 에서부터 시작

ⓑ ⓐ에서의 data point로부터 negative gradient 방향으로 이동하여 또 다른 데이터포인트 w' = (w0', w1')로 이동함으로써 L(w)값을 줄이며, 이러한 과정을 반복하여 최종적으로 minimum L(w)값을 찾아 optimal w 벡터를 찾는다.

 

이를 기하학적으로 나타내면 아래와 같다.

 

 

 

위의 과정을 수식으로 나타내면 아래와 같으며, w0와 w1을 계속 update하는 과정으로 convergence(수렴)할 때 까지 반복한다.

 

이를 일반화시키면 아래와 같고, 노란색 하이라이팅된 부분이 같은 것을 의미한다.

 

 이를 코드로 구현한다면 for 또는 while문으로 구현된다.

parameter : model이 산출, hyper parameter : 사람이 지정

 

4) Properties of Gradient Descent

 

(gradient의 부호에 따른 특성)

 

당연하지만, w 값의 접선의 기울기의 부호에 따라 update 되는 negative gradient 방향이 다르다.

예를들어,

위와 같은 w1 update 수식에서 하이라이팅된 부분을 아래와 같이 두 가지 케이스로 나누어 기하학적으로 표현한다면 아래와 같다.

 

 

 

(하이퍼파라미터인 learning rate에 대한 특성)

 

- learning rate 값은 '얼만큼 움직일지'에 대한 값이므로, too small 하다면, gradient descent값이 slow하게 움직이고, too large하다면 minumum을 지나쳐버릴 수 있다. 즉, converge하는 데 실패하거나 diverge 해버릴 수도 있다.

- 단, 불행히도 learning rate를 어떻게 설정할 지에 대한 것은 정답이 없어서, 우리는 그저 proper learning rate를 설정해야 된다.

 

5) Gradient Descent의 한계

- 어쩔 수 없이, L(w)의 편미분값이 0이 되어 버리면 update되는 w값이 converge해서 update를 멈추므로, 위와 같이 Global minumum이 아니라 local munimal에 빠질 수 있음 

 

# Multivariate Linear Regression(다변량 선형 회귀)

 

1) Multivariate Linear Regression 개요

- 2개 이상의 독립변수를 활용하여 하나 이상의 종속 변수(반응 변수)의 값을 예측하는 선형 회귀 모델로, 우선 본 게시물에서는 종속변수를 한 개의 스칼라 값으로 가정하여 상술한다.

 

2) Multivariate Linear Regression 공식

- 독립변수 벡터 Xn들과 이들의 coefficient이자, Model의 parameter들인 W 벡터를 내적한 것이 회귀식 또는 Mapping Function Fw(Xn)이며, 이를 수식으로 나타내면 아래와 같다.

- 즉, 우리의 목표는 회귀 모델링을 통해 위의 식 기준으로 D+1개의 parameter w를 찾는 것이다.

- 보다 직관적인 이해를 위해, dimension을 5로, Xn0값을 1로 가정하고 Mapping Function을 늘여서 쓴다면 아래와 같다.

 

 

3) Gradient Descent for Multivariate Linear Regression

- 단순 선형회귀 때와 마찬가지로 각각의 w값에 대하여 편미분을 해줘야 하며, 이를 보다 일반화 하여 나타내면 아래와 같다.

 

 

(과제1 풀이)

 

 


# Reference

- Deep Learning by I.Goodfellow et al.

- Dive into Deep Learning by A.Zhang et al.

- Korea Univ. AAI107, 'Machine Learning' Lecture