우리는 앞선 과정에서 주어진 주택 면적과 가격에 대한 데이터를 대표한다고 생각되는 적당한 직선(가정 또는 모델)을 하나 그었습니다. 하지만 여러 개의 데이터가 주어졌을 때 이를 통해 결정할 수 있는 가정(모델)은 하나가 아닌 여러 개가 될 수 있습니다. 그중에서 제일 올바르다고 생각되는 것을 선택을 하기 위해서는 앞서 결정한 가정이 얼마나 데이터를 정확히 표현하는지 계산하여 평가합니다. 이때 사용하는 것이 비용 함수입니다. 이것은 모든 입력 x로부터 얻어지는 실제 출력 y와 가정의 결과를 통해 얻어지는 값 사이의 차이의 평균으로 정의합니다.
수식을 사용하여 표현한다면 아래와 같습니다.
J(θ0,θ1)=12m∑i=1m(y^i−yi)2=12m∑i=1m(hθ(xi)−yi)2 J(\theta_0, \theta_1) = \dfrac {1}{2m} \displaystyle \sum _{i=1}^m \left ( \hat{y}_{i}- y_{i} \right)^2 = \dfrac {1}{2m} \displaystyle \sum _{i=1}^m \left (h_\theta (x_{i}) - y_{i} \right)^2
이 함수는 “제곱 오차 함수(Squared error function)” 또는 “평균 제곱 오차(Mean squared error)”라고도 부릅니다.
비용 함수를 평균으로 정의했지만, 가장 앞에 12\dfrac {1}{2}21 을 곱한것은 비용 함수가 최소가 되는 지점을 찾을 경우 미분을 통해 찾을 것이며, 이때 2차 항의 미분 결괏값을 상쇄시키기 위해 사용한다고 합니다.
이에 대해 참고한 원문은 다음과 같습니다.
The cost function is
J(θ0,θ1)=1(2m)×∑i=1m[hθ(xi)−yi]2 J(\theta_0, \theta_1) = \frac{1}{(2m)} \times \sum_{i=1}^{m}[h_\theta(x^i) - y^i ]^2
By h_theta(x^i)
we denote what model outputs for x^i
, so h_theta(x^i) - y^i
is its error (assuming, that y^i
is a correct output).
Now, we calculate the square of this error [ h_theta(x^i) - y^i ]^2
(which removes the sign, as this error could be both positive and negative) and sum it over all samples, and to bound it somehow we normalize it - simply by dividing by m
, so we have mean (because we devide by number of samples) squared (because we square) error (because we compute an error):
1/m * sum_(i=1)^m [ h_theta(x^i) - y^i ]^2
This 2
which appears in the front is used only for simplification of the derivative, because when you will try to minimize it, you will use the steepest descent method, which is based on the derivative of this function. Derivative of a^2
is 2a
, and our function is a square of something, so this 2
will cancel out. This is the only reason of its existance.
'머신러닝' 카테고리의 다른 글
경사하강법의 직관적인 이해(Gradient Descent Intuition) (0) | 2018.09.17 |
---|---|
경사하강법 (Gradient Descent) (0) | 2018.09.13 |
모델 표현(Model Representation) (0) | 2018.09.07 |
비지도 학습(Unsupervised Learning) (0) | 2018.09.06 |
지도학습 (Supervised Learning) (0) | 2018.09.05 |