Cost function과 Loss function은 모델의 예측이 정답과 얼마나 다른지 숫자로 표현하고, 학습 과정에서 그 값을 줄이도록 만드는 기준 함수다.
이 글은 절대값 손실, 미분 가능성, quadratic cost function, cross-entropy cost function, sigmoid와 linear activation 차이를 함께 정리한 머신러닝 손실함수 메모다.
핵심 정리
손실함수를 이해할 때는 먼저 어떤 값을 최소화하려는지 봐야 한다. 예측이 정답과 같을 때 손실은 0에 가까워야 하고, 예측이 틀릴수록 손실은 커져야 한다. 단순 차이를 그대로 쓰면 양수와 음수가 상쇄될 수 있고, 절대값 손실은 직관적이지만 특정 지점에서 미분이 어려울 수 있다. 제곱 손실은 차이를 제곱해 항상 양수로 만들고 큰 오차를 더 강하게 벌주는 방식이다. classification에서는 잘못 분류한 정도를 확률 관점으로 다루기 위해 cross entropy가 자주 쓰인다. 어떤 손실함수가 적절한지는 회귀인지 분류인지, 출력층이 어떤 activation을 쓰는지, 학습 중 gradient가 어떻게 흐르는지에 따라 달라진다.
- 손실함수는 예측과 정답의 차이를 하나의 숫자로 표현한다.
- 학습은 보통 손실함수 값을 줄이는 방향으로 진행된다.
- 좋은 손실함수는 정답을 맞췄을 때 0에 가까워져야 한다.
- 단순 차이는 양수와 음수가 상쇄될 수 있어 그대로 쓰기 어렵다.
- 절대값 손실은 직관적이지만 미분 가능성에서 주의가 필요하다.
- 제곱 손실은 큰 오차를 더 크게 벌주는 특징이 있다.
- cross entropy는 분류 문제에서 예측 확률과 실제 분포의 차이를 다룰 때 자주 쓰인다.
- 손실함수 선택은 문제 유형과 출력 activation을 함께 보고 결정해야 한다.
원문은 cost function과 loss function을 여러 수식과 함께 탐색한 학습 메모입니다. 보강문에서는 수식을 새로 늘리지 않고, 손실함수가 가져야 할 성질과 대표 손실의 차이를 먼저 정리했습니다. 손실함수는 이름보다 어떤 오차를 크게 보고 어떤 오차를 작게 볼 것인지에 대한 선택으로 이해하면 실전에서 덜 헷갈립니다.
이어서 볼 글
- 최소제곱법과 선형회귀 Cost Function 정리 - cost function을 선형회귀와 최소제곱법 예제로 구체화한다.
- PyTorch BCELoss 사용법: criterion, output, label로 loss 계산 - loss function을 PyTorch의 binary cross entropy 코드 예제로 확인한다.
수학이나 기계학습등에서 cost function 또는 loss function은 최소화 해야하는 함수를 의미하며,
보통 다변수 함수이다. (인풋은 다변수(다차원)이며, 아웃풋은 함수이므로 하나이며 실수이다.)
예를들어 숫자 인식이라고 하면 실제 정답과의 차이를 합산해서 표현한다.
In classification, it is the penalty for an incorrect classification of an example
의문: 그냥 가장 심플하게 $C = t-x$ 로 정의하면 뭐가 문제일까..비대칭인게 문제라면 $C = |t-x|$는 어떨까..
또는 $C = \sqrt {(t-x)^2}$
• 절대값의 경우는 absolute-difference loss function이라고 부른다.
• However the absolute loss has the disadvantage that it is not differentiable at a=0
필요 property
1. 음수가 나오지 않아야 한다. (loss term이므로 최적의 결과는 0이어야 함)
2. a가 y와 같을 경우(즉 정답을 제대로 맞추었을때는) 0으로 수렴해야한다.
quadratic cost function
$\lambda(x) = C_x = K (y-a)^2 \; $
K:상수, y는 정답, x는 input(보통 다변수), a는 x에 대한 output.
위 식은 특정 인풋 x 하나에 대한 cost이며, 보통은 전체 인풋을 합산한 것을 (또는 합산후 n으로 나누어 평균을 구한것을) C라고 한다.
특징
- x가 t에 대해 위로 차이나나 아래로 차이나나 동일한 symetric이다.
- 최소제곱법에서도 쓰인다.
quadratic cost function은 거리의 제곱(분산?)을 사용해서 직관적인 대신에, 정답과 인풋의 차이가 큰 경우 학습곡선이 느리다는 단점이 있다. 이점에 대해서는 여기링크 확인. 여기도 확인.
단, 학습이 느려지는 것은 activation함수가 sigmoid 형태($a = \sigma(z) \equiv \frac{1}{1+e^{-z}}$)일때만 그렇다.
만약 activation함수를 linear하게 잡으면 ($a = z$) 느려지지 않음에 주의
cross-entropy cost function
\[ \begin{eqnarray} C = -\frac{1}{n} \sum_x \left[y \ln a + (1-y ) \ln (1-a) \right], \tag{57}\end{eqnarray} \]
'AI, ML' 카테고리의 다른 글
| 기계학습 기초: Training Set, Test Set, Neural Network (0) | 2026.05.25 |
|---|---|
| 머신러닝 학습 자료 메모: TensorFlow, XOR, sigmoid, ReLU (0) | 2026.05.21 |
| Q-Learning Learning Rate 문제: 작은 학습률과 느린 수렴 (0) | 2026.05.16 |
| Q-Learning 실험: 횡행 행동이 이득으로 학습되는 상황 (0) | 2026.05.16 |
| 인공지능 개념 메모: SVM, Bayesian, HMM, Markov (0) | 2026.05.15 |
