3. 선형 회귀 모델 & 경사하강법

Topic. '선형 회귀 모델'과 '경사하강법' 에 대하여 알아봅니다.

일단 때려 맞추고 조정하기

선형회귀란 관련된 여러가지 숫자들을 이용하여 우리가 알수 없는 숫자를 예측하는 데이터 분석기법을 말합니다.

아주 쉬운 예로 공부 시간에 따른 성적을 이용하여 그래프를 그려보는 예가 있습니다.

이 예시는 다음 장에서 다뤄보도록 하겠습니다.

 

선형회귀는 단순선형회귀, 다중선형회귀, 로지스틱회귀 세가지 유형이 있습니다.

 

그 전에 선형회귀에 필요한 경사하강법을 알아보도록 하겠습니다.

경사 하강 법

지금까지 배운 딥러닝을 요약하자면 y=ax+b 에서 적절한 a와 b를 찾아 이를 대입시키고 새로운 x에 대한 y를 구하는 것이며 이 a와 b를 찾기 위해서는 정답과의 오차를 최소화 하기 위해 미분을 이용하는 것이 시작이었습니다.

 

그렇다면 오차의 최소는 또 어떻게 찾아야 하는지 의문이 듭니다. 아래의 그래프를 보면 오차의 최소를 찾아가는 과정을 보여줍니다. 이전에는 쉽게 기울기와 오차로 표기해 놓았습니다.

 

하지만 딥러닝에서는 기울기(a)를 가중치(Weight) 라고 하고 y절편(b)를 편향(bias) 라고 합니다.

따라서 딥러닝의 직선은 y=wx+b 라고 표기하게 됩니다.

 

위 이차함수 그래프를 보면 

일단 아무 위치에서 a_1 을 시작합니다.

a_x 의 위치에 따른 주황색 점이 접선의 기울기가 0인 위치로 찾아가며 a_x 를 이동하고있습니다.그럼 a_x를 얼마나 어디로 이동을 해야할까요?

 

우리는 이 이동하는 정도를 정해줄 필요가 있습니다. a_1 부터 a_n 까지 수번 이동하며 기울기가 0인 지점을 찾을 때 이동하는 정도를 학습률 (Learning Rate) 이라고 합니다.

 

 

이 학습률을 적절하게 정한다면 오차는 최솟값을 향해 수렴할 것입니다.

 

하지만 너무 크게 설정할 경우 아래 그림과 같이 오차가 한없이 커지게됩니다.

 

이렇게 오차의 변화에 따른 이차함수 그래프를 만들고 이를 적절한 학습률을 이용하여 가중치를 변화시켜 기울기가 최소가 되는 a_n 지점을 구하는 것이 바로 경사하강법 입니다.

 

 

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유