본문 바로가기
Study/강의 <모두를 위한 딥러닝>

[딥러닝의 기본] Linear Regression 의 개념

by 코드포휴먼 2020. 5. 20.

ML lec 02 - Linear Regression의 Hypothesis 와 cost 설명

하나의 지도학습을 가정해보자.

예측하는 최종목표가 점수(0~100) 예측이라면 regression 모델이다. 

이런 데이터를 가지고 학습시키는 과정을 training이라 하고, x와 y를 training data라고 한다. 
데이터를 가지고 학습하면 모델을 만들고 학습이 끝난다.
regression을 사용한다는 것은 7시간 공부한 학생의 점수를 시험 치기 전에 예측하는 일이다. 
이러한 예측은 선형 회귀, Linear Regression이라 한다. 

 

Linear Regression이 어떻게 동작하는지 보겠다.
설명을 위해 간단한 dataset이 있다.

x는 예측을 위한 자료 또는 feature다. y는 예측 대상이다.
x와 y라는 학습 데이터를 가지고 Regression 모델을 만들어볼 것이다. 

 

우선 training data를 그래프로 그려보면 아래와 같다.

Regression 모델을 학습하기 위해선 하나의 가설을 세울 필요가 있다.
Linear라고 이름 붙은 것처럼 Linear한 모델이 우리 데이터에 맞을 것이라는 가설을 세운다.

세상에 있는 많은 데이터와 현상들이 Linear하기 때문에 Linear Regression은 많이 사용된다.

ex) 학생들이 공부를 많이 할수록 성적이 좋아진다.
ex) 집의 크기가 클수록 집 가격이 높아진다.

 

따라서 Linear한 가설을 찾는다는 것은 Linear한 선을 찾는다는 것이다.

나타난 선들 중에서 어떤 선이 데이터와 가장 잘 맞을까 알아내야 한다.

H(x)가 우리가 설정한 가설이다.
x 값에 W를 곱하고 b를 더하면 하나의 선이 나온다.
선의 모양은 W와 b에 따라 달라진다.
우리는 가설이 이러한 일차방정식이 될거라고 가설을 세우는 것이 Linear의 첫 번째 단계다.

 

어떤 가설이 좋은지 알기 위해서는 실제 데이터와 가설이 나타내는 데이터 점들과의 거리를 비교한다.

Linear Regression에서 이러한 거리 측정을 Cost function(Loss function)이라 한다.

가장 기본적인 계산은 가설에서 실제 데이터의 차를 구하는 것이다. 

그러나 이런 모델은 좋진 않다. 차이가 양수 또는 음수가 될 수 있기 때문이다.

보통 우리가 distance를 계산할 때엔 차이를 제곱한다.
양수로 비교 가능하게 해주고, 제곱이므로 distance가 클 때 패널티를 많이 줄 수 있다. 

 

개념을 정리해보자면 아래와 같다.

Cost function 공식. m은 데이터 개수를 의미한다.

준비한 데이터 첫 번째, 두번째, 세 번째 각각 차이를 비교하고 제곱한다.
모두 더한 후 데이터 개수로 나눈다.


좀 더 많은 데이터에 적용하기 위해 일반화 했다. 

Hypothesis가 Linear Regression이므로 Linear한 일차방정식으로 주어지고 Cost function에 대입된다.
실제적으로 Cost function은 W와 b의 함수가 된다. 

여기서 Linear Regression의 숙제는 함수의 가장 작은 값을 갖는 것이다. 

즉, 차이가 가장 작은 선을 찾는 것이 Linear Regression의 학습이다.

 

Linear Regression 학습의 목표를 일반화하면 아래와 같다.

Cost function 값을 최소화하는 알고리즘은 많다.
Lab 시간을 통해 만들어진 알고리즘을 사용하도록 할 것이다.

댓글