Image processing/Deep-learning

[Deep Learning] 선형 회귀(Linear Regression)

유니디니 2020. 1. 10. 15:35
728x90
반응형

선형 회귀(Linear Regression)는 주어진 데이터 x에 해당하는 목표값 y를 예측하는 문제를 해결하는 데 주로 사용됩니다.

예를 들어, 투자한 시간에 대비하는 성적을 예측하는 문제나 사람의 몸무게를 통해 키를 예측하는 문제처럼 현실적인 문제를 선형적으로 데이터를 처리하여 해결하는 경우가 많습니다.


ex 1) x = [1,2,3] y = [3,5,7] 과 같은 데이터가 있다고 할때, x의 값이 4이면 y는 어떤값을 가지게 될까?

ex 2) x를 공부한 시간, y는 성적이라 할때 x의 값이 5이면 y는 어떤 값을 가지게 될까?


이러한 문제들은 간단한 선형회귀모델을 추론하여 해결할수 있습니다.


1. x와 y를 추론하기 위해 가설(Hypothesis)을 세운다. H(w,b) = wx+b

2. 임의의 값 (1, 0)으로 가설에 대한 파리미터 초기화

3. Cost(w,b)를 통해 오차 계산

4. 반복적으로 Cost함수를 개선시켜 최적화된 값(w,b) 찾기 


다음과 같은 과정을 딥러닝에서는 Epoch 만큼 반복하여 최적화된 모델을 얻게 됩니다. 




초기 가설 그래프는 목표에 도달하기 위해 w,b를 Cost함수를 통해 갱신하게 됩니다. 이때 가설 그래프와 목표 그래프와의 오차를 계산하여 최소가 되도록 하는 최소제곱법을 사용합니다.


로 표현할 수 있으며, (가설 그래프- 목표)의 제곱을 통해 오차에 대한 페널티(Penalty)를 주게 됩니다. 제곱을 주는 이유는 오차에 대한 페널티를 크게 주기 위함이라고 합니다.


그렇다면, 초기 값에서 Global Optimum으로 이동시키려면 어떻게 해야할까? 



Cost 그래프는 다음과 같이 볼록한 형태로 그려지고, Convex Function 이라고도 합니다. 이러한 그래프는 기울기가 0인 부분에서 최적화된 값을 가지게 됩니다. Cost를 줄이는 방법으로는 경사하강법을 사용합니다. 경사하강법(Gradient Descent)은 기울기를 반복적으로 계산해서 변수의 값을 변경시키는 방법을 말합니다.


우리가 구하고자 하는 값은 w,b의 값이다. 즉, 변수가 2개이다.


1. Cost Function



2. 파라미터 w와 b를 구해야 하므로, 편미분을 사용하자(파라미터가 여러개일때, 편미분을 사용합니다.)


  (w에 대한 편미분)

 (b에 대한 편미분)


여기서 학습률(Learning Rate)이라는 개념이 나오게 되는데, w와 b에 대하여 얼마나 옮겨 갈것인지 조절해 주게 된다.


3. Learning Rate를 통한 기울기 조절




3의 과정을 통해, 우리가 찾고자 하는 최적화된 w와 b의 값을 얻게 된다. 



참고자료


Youtube : https://www.youtube.com/watch?v=ve6gtpZV83E



반응형