주제: 1-2 손실함수 기초 (MSE vs Cross-Entropy)

분류: foundations

타입: concept

난이도: 입문

선수지식: 있음 - 확률, softmax, y = Wx + b

문제 설정

신경망 학습의 목표는 모델이 만든 예측값과 실제 정답의 차이를 줄이는 것입니다. 이 차이를 수치로 측정하는 함수가 손실함수(loss function)입니다.

w <- w - eta * grad(L)

모델은 손실 L이 작아지는 방향으로 파라미터를 업데이트합니다.

직관 비유

차이가 크면 손실이 커지고, 차이가 작으면 손실이 작습니다.

1. Mean Squared Error (MSE)

MSE는 예측값과 정답의 차이를 제곱하여 평균을 계산합니다.

MSE=(1/N)*sum((yyhat)2)

기호 의미

직관 설명

예측과 정답의 차이가 클수록 손실이 빠르게 증가합니다.

예시

정답 예측 오차 제곱
3211
5724

왜 필요한가

연속값을 예측하는 회귀 문제에서 주로 사용됩니다.

주의점

큰 오차에 매우 민감합니다.

2. Cross-Entropy

Cross-Entropy는 확률 분포 간의 차이를 측정하는 손실입니다.

L=sum(y*log(yhat))

기호 의미

직관 설명

정답 클래스의 확률이 높을수록 손실이 작아집니다.

예시

class 정답 y 예측 y_hat
cat10.8
dog00.2
L=log(0.8)

왜 필요한가

분류 문제에서 모델이 정답 확률을 높이도록 학습합니다.

주의점

정답 클래스 확률이 0에 가까워지면 손실이 매우 커집니다.

3. MSE vs Cross-Entropy

항목 MSE Cross-Entropy
문제 유형회귀분류
출력 형태실수 값확률
학습 방식오차 최소화정답 확률 최대화

4. Cross-Entropy와 로그우도

Cross-Entropy는 다음 식과 직접 연결됩니다.

L=logP(y|x)

즉 모델이 정답 클래스 확률을 높이도록 학습하는 과정입니다.

왜 필요한가

확률 모델 학습의 핵심 목표인 Maximum Likelihood와 직접 연결됩니다.

주의점

분류에서는 보통 softmax 기반 출력과 함께 사용합니다.

코드-수식 연결

수식 PyTorch 코드 설명
MSEnn.MSELoss()회귀 손실
-log P(y|x)nn.CrossEntropyLoss()분류 손실
softmax(x)torch.softmax(x, dim=-1)확률 계산

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)