Cost Function(비용 함수) 이란?
- Cost Function(비용 함수)
: 수학에서는 모델의 매개변수를 사용하여 표현된 총 오차입니다.
Neural Network의 학습은 Cost Function(비용 함수)를 최적화하는 것이 핵심입니다. 즉, 수학적 모델의 매개변수는 모든 데이터에 대해 정답 데이터(answer)와 예측 값(predicted value) 사이의 오차(error)가 최소화되도록 결정됩니다.
Example of Regression Analysis
Regression 단어의 뜻은 후퇴, 복귀, 쇠퇴, 회귀입니다. 그중에서도 통계학 용어인 "회귀"는 국어사전에서 '한 바퀴 돌아서 본디의 상태나 자리로 돌아오는 것'이라고 한다. 이 용어는 영국 유전학자 프란시스 골턴(Francis Galton)이 부모의 키와 아이들의 키의 상관관계를 연구하면서 키가 큰 사람의 아이가 부모보다 작은 경향이 있다는 사실을 밝혔습니다. 프란시스는 두 변수(부모의 키와 아이들의 키) 사이의 상관관계를 분석하기 위해 사용한 방법을 회귀라고 이름 붙였습니다.
아이들의 키와 체중 간의 상관 관계를 분석해보겠습니다.
키를 통해 체중을 예측하기 위해 아래와 같은 식을 세웠습니다.
$$ y = px + q $$
두 변수(키, 체중)간의 관계를 정확히 일직선으로 나타낼 수 없으니, 두 변수 간의 관계를 가장 잘 나타낼 수 있는 p, q를 추정해야 합니다.
p, q를 추정하는 방법 중 하나가 바로 최소제곱법(Least Square Method)입니다.
Least Square Method
최소제곱법은 위 "오차를 나타내는 식의 제곱 합이 최소"가 되는 p, q를 찾는 것이 목적입니다.
Error
$$ e_{k} = y_{k} - (px + q) $$
Squared error
$$ C_k = \frac{1}{2}e_{k}^{2} = \frac{1}{2} \left\{ y_k - (px_k + q) \right\}^2$$
Sum of squared error (cost function)
$$ C_T = \sum_{k = 1}^{n} C_k = \sum_{k = 1}^{n} \frac{1}{2} \left\{ y_k - (px_k + q) \right\}^2 $$
위의 식을 Table 1 의 값을 이용하여 계산하면 아래와 같다.
$$ C_T = \frac{1}{2} \left\{ 45.5 - (153.3p + q)\right\}^2 + \frac{1}{2} \left\{ 56.0 - (164.9p + 1)\right\}^2 + ... + \frac{1}{2} \left\{ 56.4 - 161.1p + 1)\right\}^2 $$
Minima of the function
$$ \frac{\partial C_T}{\partial p} = 0 , \frac{\partial C_T}{\partial q} $$
Regression equation
$$ 11113.4p + 7q = 372.1, 177312p + 1113.4q = 59274 $$
$$ p = 0.41, q = -12.06 $$
위와 같은 과정을 우리는 p, q 를 위와 같이 찾을 수 있습니다.
주어진 데이터(7명의 키와 체중)를 이용하여 찾은 키와 체중 간의 상관 관계를 제일 잘 나타낼 수 있는 식은 아래와 같습니다.
$$ y = 0.41x - 12.06 $$
Learning(학습)
Learning 개념은 다음 포스트에서 자세히 다룰 예정이지만, 여기에서는 Neural Network 학습 과정을 도식화하여 간단히 살펴보겠습니다.
퍼셉트론(Perceptron)에서는 각 데이터가 처리된 후 예상 결과와 비교한 출력의 오류 정도에 따라 연결 가중치를 변경하여 학습이 이루어집니다.
학습되는 과정은 아래와 같습니다.
- 입력은 입력에서 출력 레이어로 전파됩니다.
(Forward Pass) - 네트워크 오류가 계산됩니다.
- 오류는 출력 레이어에서 입력 레이어로 전파됩니다.
(Backward Pass)
- Cost Function 은 Loss Function, Objective Function, Error Function 으로 불리기도 합니다.
'개발 > DNN' 카테고리의 다른 글
Backpropagation(역전파) (0) | 2023.10.08 |
---|---|
Gradient Descent Method(경사하강법) (0) | 2023.09.19 |
Learning(학습)이란? (0) | 2023.09.18 |
Activation Function (0) | 2023.09.06 |
Perceptron (0) | 2023.09.02 |