본문 바로가기

가설과 비용함수

1. 가설

input variable(또는 feature)과 output(또는 target variable)의 관계를 나타내는 함수.

다음과 같은 집값 데이터를 수집했다고 하자.

 

집 크기(m²) 집 값(₩)
195 507840000
132 256128000
142 347760000
79 196512000

- 집 크기는 input, 집 값은 output에 해당한다.

- 집 값 예측: input(집 크기)와 output(집 값)의 관계식을 정의해 새롭게 주어지는 집 크기에 대한 집 값을 예측한다.

- 이 때의 관계식이 '가설(hypothesis)'에 해당한다.

 

* 관계식을 '가설'이라고 하는 이유

집 값 예측: 집 값을 도출해낼 수 있는 변수(feature)와 집 값(output)의 관계식을 정의한다.

- feature를 정확히 정의할 수 있는가

   집 값에 영향을 미치는 요인은 집 값 뿐만 아니라 정치권의 행보, 집의 위치, 인프라 등 무수히 많은 요인이 있다.

-> 따라서 이런 무수히 많은 변수와 그 변수들 간의 복잡한 관계식을 찾는 대신 '주로 이런 변수들이 output에 영향을 미칠 것'이라고 추정하고 '변수들과 output의 관계를 이러이러한 함수로 얼추 표현할 수 있을 것'이라고 "가설"을 세우는 것이다.

- 가설은 주로 다음과 같이 일차 함수(선형 함수, linear function)의 형태로 정의한다.

 

Hypethesis

$x$: feature(여기서는 집 크기)

 

$h_{\theta}(x)$: output(여기서는 집 값)

 

$\theta_{i}$: 가설의 parameter

 

 

- 위의 가설은 feature가 하나일 때(Univariable linear regression 또는 Linear regression with one variable)의 가설이기 때문에 매우 간단한 형태지만, feature가 여러 개일 때는 다음과 같이 약간 복잡해진다.

 

$h_{\theta}(x) = \theta_{0}x_0 + \theta_{1}x_{1} + \cdots + \theta_{n}x_{n}$

 

가설은 간단히 h(x)로 나타내기도 하며, $x_0$의 값은 항상 1이다.

 

 

 

2. 비용 함수

비용 함수는 가설을 어떻게 세울 것인지를 결정한다. 즉 'θ 값을 어떻게 고를 것인가'를 나타내는 함수다.

기본적인 아이디어는 다음과 같다.

1. 가설의 parameter가 dataset과 얼마나 잘 일치하는가?

다르게 말하면 다음과 같다. 

"주어진 데이터 (x, y)의 y값과 가설의 예측값을 가장 가깝게 하는 θ를 선택한다."

즉 예측값과 실제 값의 차이를 최소화하는 θ를 고르는 것이다. 이를 최소화 문제라고도 한다.

 

2. 비용 함수

비용 함수는 다음과 같다.

 

여기서

는 i번째 training example을 의미한다.

 

예를 들어

집 크기(m²) 집 값(₩)
195 507840000
132 256128000
142 347760000
79 196512000

에서 2번째 training example은 (132, 256128000)이 된다.

 

위 식은 각 example에 대한 예측 값과 실제 값의 차이를 나타낸다.

그냥 차이의 합이 아니라 차이의 합으로 식을 정의한 이유는 다음과 같다.

 

① 직선과 실제 데이터의 오차를 표현한다.

② 거리를 구해야 하므로 (예측 값 - 실제 값)의 제곱이 아니라 그냥 절댓값을 취하면 되는데, 그러면 미분불가능한 점이 생길 수 있다. 따라서 제곱한다.

③ 제곱을 미분하면 식 앞에 계수 2가 붙으므로 1/2를 곱한다.

 

즉 원래는 예측 값과 실제 값의 평균 차이를 나타내는 식이지만 "오차를 표현하는 미분가능한 함수"를 만들려고 하다 보니 위와 같은 식이 만들어졌다. 위 식은 선형 회귀의 목적 함수(특정한 목적에 의해 만들어진 함수)라고도 한다.

 

또한 θ는 다음을 나타낸다.

 

 

즉 비용 함수의 parameter vector라고 볼 수 있다. 따라서 가설 역시 다음과 같이 나타낼 수 있다.

 

 

그리고 가설을 세우기 위한 θ(비용 함수를 최소화하는 θ)는 다음과 같이 표기한다.

 

 

J(θ)를 최소화(minimize)하는 θ라는 의미다.

 

 

 

이를 토대로 결국 집 값을 예측하는 과정을 도식화하면 다음과 같다.

 

Learning algorithm의 목표는 가설을 세우기 위한 θ를 찾는 것이다.

 

 

 

 

 

'Machine Learning > Machine Learning' 카테고리의 다른 글

Feature scaling  (0) 2021.02.22
Gradient descent for linear regression  (0) 2021.02.21
Gradient descent  (0) 2021.02.21
Unsupervised learning  (0) 2020.12.20
Supervised learning  (0) 2020.12.20