모두를 위한 딥러닝 정리 2장 - Linear Regression(선형회귀)

 안녕하세요 jay입니다.
김성훈 교수님의 모두를 위한 딥러닝 2강
Linear Regression(선형회귀)시간입니다.
교수님의 강의 외에 여러가지 자료들을 참고해서 정리했습니다
아래 링크들은 교수님의 강의자료 및 강의 링크입니다.




Linear Regression(선형회귀) 

Label된 데이터(데이터들에게 정답이 주어짐)들로 학습을 하면 지도학습이라고 합니다. 지도학습은 회귀와 분류로 나눌 수 있습니다. 회귀는 연속적인 값, 즉 수치를 예측합니다. 우리가 가지고 있는 데이터가 직선적인(Linear)한 형태를 나타내면 선형회귀라고 합니다.


예를 들어 공부시간 대비 시험점수를 예측하는 모델을 만든다고 가정해봅시다. 위의 데이터들은 이미 각 시간에 대한 점수를 알고 있는 상태입니다. 이 데이터들로 모델에게 학습을 시키므로 지도학습입니다. 여기서 0~100사이의 연속적인 수 즉 시험점수라는 수치를 예측하므로 회귀입니다. 그리고 데이터들이 직선적인 형태를 나타내므로 선형회귀라고 할 수 있습니다. 이 데이터들을 토대로 모델이 만들어지고, 그 모델에게 새로운 x값 예를 들어 7이라는 입력값을 준다면 이 모델은 시험성적을 약 65점으로 예측할 것입니다.

Hypothesis(가설)


각각의 점이 데이터라고 가정했을 때, 위의 사진을 보면 3가지 색의 직선 중에서 파란색 직선(모델)이 예측을 잘 한다는 것을 알 수 있습니다. 즉 파란색 직선은 데이터를 잘 예측할 것이다라는 가설(Hypothesis)을 세울 수 있다는 것을 의미합니다. 따라서 선형회귀에서 우리가 모델의 정확도를 높이기 위해선 데이터들 과 최대한 가까운 형태의 직선(가설)을 그어야한다는 것을 알 수 있습니다. 이를 가설(Hypothesis)이라 하며 H(x) = Wx+b로 표현할 수 있습니다.


Cost function(Loss function)


가설을 세울 때 예측을 가장 잘하는 가설을 세우는 것이 중요합니다. 즉 각각의 데이터와 가설(직선)사이의 거리가 가까워야합니다. 선형회귀에서 적합한 모델을 찾는 방법, 즉 데이터와 직선사이의 거리를 계산해주는 방법을 Cost function 혹은 Loss function이라고 합니다. 

최소제곱법


Cost function을 구할 떄 H(x) - y로 계산할 수 있습니다. 하지만 값이 음수가 나와서 모델의 정확성을 떨어뜨릴 수 있습니다. 따라서 H(x)-y를 제곱한 형태로 Cost function을 구합니다. 이 방법을 최소제곱법이라고 합니다.

Cost function(Loss function) 정의


기존의 데이터들을 통해 정확도가 높은 모델을 찾기 위해 선형회귀에선 Cost function을 사용합니다. 각각의 데이터들과 직선사이의 거리를 구하기 위해, 데이터들을 최소제곱법 후, 평균을 구합니다. 위의 공식에서 m은 데이터의 갯수를 의미합니다. 가장 적합한 H(x)(가설)을 찾기 위해선 Cost function이 가장 작은 값, 즉 점(데이터)과 직선(가설)사이의 거리가 작은 값을 찾으면 됩니다. 다음 시간엔 Cost function을 minimize(최소화)하는 법에 대해 알아보도록 하겠습니다.


댓글