유승훈

lec02 - Simple Linear Regression 본문

강의정리/모두를 위한 딥러닝 시즌 2

lec02 - Simple Linear Regression

seunghuni96 2021. 2. 7. 18:53

본 글은 모두를 위한 딥러닝 강의를 듣고 작성한 글입니다.

원래 Regression은 회귀, 즉 옛날 상태로 돌아간다는 뜻입니다. 회귀분석에서의 Regression은 전체의 평균으로 회귀하는 것을 의미합니다.

 

앞선 강의에서 머신러닝의 기본적인 개념들에 대해서 설명했습니다. 이번에는 그 중에서도 많이 쓰이는 Linear Regression에 대한 아주 기본적인 설명입니다.

 

Linear Regression은 "Linear한 모델이 우리가 가지고 있는 데이터에 잘 맞을 것이다."하는 가정에서 출발합니다. 실제로 많은 데이터들이 Linear한 관계로 설명되는 것을 종종 볼 수 있습니다.

 

Linear Regression에서의 '학습'은 데이터에 잘 맞는 Linear를 찾는 것입니다. 즉, 데이터를 가장 잘 설명하는 선을 찾는 것이 학습과정이라고 할 수 있습니다.

 

정리하면, 데이터를 가장 잘 설명하는 직선의 방정식을 찾는것이라고 요약됩니다. 

 

같은 데이터에도 다양한 선이 그려줄 수 있습니다. 이러한 선은 $H(x)=Wx + b$로 나타내고, 선의 모양은 W와 b의 값에 따라 달라집니다. 데이터를 이러한 1차방정식의 형태라고 가정하는 것이 Linear Regression의 첫번째입니다.

 

W는 기울기, b는 Y절편입니다.

 

그렇다면 다양한 선들 중에서, 어떤 선이 더 나은가는 어떻게 평가하고 판단할 수 있을까요? 다양한 선들의 차이는 W,b이기 떄문에 결국 어떤 W,b값이 좋은가를 판단합니다. 그렇다면 W=1, b=0인 파란색 선과, W=0.5,b=2인 주황색 선 중 어떤 값이 더 좋을까요?

 

이는 실제 데이터와 우리의 가정, 즉 우리의 선과의 거리를 비교합니다. 이 거리가 멀면 비교적 안좋고, 거리가 가까우면 비교적 좋다고 할 수 있죠. 이것을 오차라고 합니다. 하지만 오차 그대로 합을 구하면 0이 되기 때문에, 보통은 제곱한 것을 활용합니다.

 

오차를 제곱해서 활용했을때의 이점은, 음수일수도, 양수일수도 있는 오차를 부호와 상관없이 비교할 수 있다는 점입니다. 그리고 제곱을 하기 때문에 큰 오차는 더 크게 나타납니다. 큰 오차에 일종의 Penalty가 부여된다고 볼 수 있습니다.

 

위의 데이터대로 식을 정리하면,

이렇게 나타낼 수 있고, Generalize하면,

이렇게 정의할 수 있습니다. `H(x)`는 W,b에 대한 함수이기 때문에, Cost도 W,b에 대한 함수가 됩니다.

 

결국 회귀분석의 학습은 이 Cost를 최소화하는 W,b를 찾는 것입니다. 이 Cost를 최소화하는 것은 여러 함수가 있는데, 관련해서는 다음 강의로 넘어갑니다.

Comments