Introduction

(2) Regression - Linear Regression

IT찬니 2020. 1. 5. 15:24

 

 

 

 

Linear Regression

Regression은 데이터 x를 인풋으로 넣었을 때, Continuous한 값 y가 출력으로 나오는 문제를 의미합니다.
이러한 Regression 작업을 할 때 선형 함수를 사용하기 때문에, Linear Regression 이라는 이름을 붙입니다.

 

Thinking of Linear Regression

(1)
사원 수에 따른 회사의 시총의 가격을 예측하고자 합니다.
사원 수가 100명 일때 1000억, 200명 일때 2000억 원이었습니다.
그러면 사원 수가 300명이라면 회사의 시가 총액은 얼마일까요?

(2)
인근 역과의 거리에 따라 집값이 어떻게 변하는지를 예측하고자 합니다.
1km 떨어졌을 때 8억, 2km 떨어졌을 때에는 6억, 3km 떨어졌을 때에는 4억이었습니다.
그러면 4km 떨어진 집의 가격은 얼마일까요?

 

아마 여러분은 위의 두 문제에 대해 답할 수 있을 것입니다.
그러면 위의 두 문제를 조금 더 자세히 봅시다.

Supervised learning
문제1에서 주어진 데이터는 사원 수와 시가 총액이고 우리가 알고자 하는 것은 시가 총액입니다.
Regression problem은 Supervised 라고 했는데, 그렇다면 사원수는 x(데이터), y(답) 이 되겠네요.
앞으로는 답을 레이블이라고 부르겠습니다.

Progress of thinking
우리가 두 문제에서 답을 알 수 있었던 이유를 생각해봅시다.
문제1에서 우리가 300명일때의 시가 총액을 예측할 수 있는 이유는 시가 총액이 사원 수의 10배가 된다는 것을 이미 있던 데이터를 보고 알 수 있었기 때문입니다.
마찬가지로 문제2에서 4km 떨어진 집의 가격 역시 1km마다 2억씩 감소한다는 것을 알 수 있었기 때문입니다.

즉,
문제1은 $\text{시가 총액} = 10 \times \text{사원 수}$ 라는 관계가 성립할 것이고,
문제2는 $\text{집의 가격} = \text{10억} - \text{2억} \times \text{인근 역과의 거리}$ 라는 관계가 성립할 것입니다.

 

그러나 만약 이와 같은 데이터가 10만개가 있다고 한다면 바로 답하기 어려울 것입니다.
이제 그러한 문제를 Deep Learning으로는 어떻게 풀어나가는지 생각해봅시다.

 

Hypothesis Definition

위에서 정의했던 문제1과 2의 관계는 사실 아래와 같습니다.

$H(x) = wx + b$
(여기서 w는 가중치(Weight), b는 편향(bias) 이라고 합니다.)

여기서 정의한 함수 $H(x)$를 가설(Hypothesis)라고 합니다. (아마 x와 y의 관계는 이럴거야, 라고 생각하시면 가설의 의미가 더 와닿을 것 같습니다.)
또한 통계학에서는 이 식을 회귀식이라고도 합니다.
중요한건, 결국 우리는 데이터에 가장 잘 맞는 w와 b의 값을 안다면 문제를 해결할 수 있다는 것입니다.

그 최적의 w와 b의 값을 찾기 위한 방법이 그냥 계산하는 것, ML, DL 등 다양한 방법이 있는 것입니다.
DL에서는 w와 b의 값이 적절한지 손실함수(Loss function 또는 Cost function)을 사용하여 확인합니다.