Ch.05
손실 함수 (MSE·크로스엔트로피·R²): 정답과 예측의 오차 재기
손실 함수는 모델이 얼마나 틀렸는지를 한 숫자로 재는 도구입니다. 회귀(연속값 예측)에서는 예측 와 실제 의 차이를 제곱해 평균 낸 평균 제곱 오차(MSE)가 대표적입니다. 분류(범주·확률)에서는 정답 클래스에 대한 예측 확률이 얼마나 빗나갔는지를 크로스엔트로피로 잽니다. 아래 도식은 손실 함수 중 회귀 예시로 MSE가 어떻게 줄어드는지 보여 줍니다.
챕터별 머신러닝 도식화
챕터를 선택하면 아래 도식이 해당 챕터 내용으로 바뀌어요. 머신러닝 흐름을 한눈에 보세요.
회귀 손실 예시: 예측값 와 실제값 의 오차를 제곱해 평균 낸 것이 MSE입니다. (분류에서는 크로스엔트로피를 씁니다.)
MSE — 손실이 작을수록 직선이 데이터에 잘 맞습니다.
손실 함수 (MSE·크로스엔트로피·R²): 정답과 예측의 오차 재기
회귀: MSE로 오차를 재기
모델이 얼마나 틀렸는지를 한눈에 보여 주는 성적표가 필요합니다.
- 잔차 — 실제값 에서 예측값 를 뺀 값.
- SSE — 각 점의 을 모두 더한 오차 제곱합(Sum of Squared Errors).
- MSE — SSE를 데이터 개수 으로 나눈 평균 제곱 오차.
— 값이 작을수록 모델이 데이터에 잘 맞습니다.
왜 그냥 더하지 않고 제곱할까요?
- 오차 와 는 방향만 다를 뿐 같은 크기의 틀림입니다. 그냥 더하면 으로 상쇄될 수 있습니다.
- 제곱하면 항상 양수가 되어 크기만 비교할 수 있습니다.
- 큰 오차에는 더 큰 벌점(페널티)가 가해져, 모델이 큰 실수를 피하도록 유도합니다.
선형 회귀의 목표
직선 가 데이터를 잘 대변한다는 것은, SSE를 으로 나눈 MSE가 최소가 되도록 기울기 와 절편 를 고른다는 뜻입니다.
경사 하강법은 이 MSE를 줄이는 방향으로 , 를 조금씩 업데이트합니다.
회귀: MSE는 잔차의 제곱 평균
MSE는 잔차(오차) 를 제곱해 평균으로 만든 오차 점수입니다. 예측이 실제에 가까울수록 잔차가 줄어 MSE도 작아집니다.
MSE 수식을 풀어 읽기
- — 데이터 번호(몇 번째 점인지).
- — 그 점의 실제값.
- — 그 점의 예측값.
- — 잔차.
- — 그 점의 제곱 오차.
- — 모든 점을 더하면 SSE.
- — 평균을 내어 MSE.
예측이 실제에 가까울수록 잔차와 MSE가 작아집니다.
분류: 크로스엔트로피
크로스엔트로피는 분류에서 "정답 클래스일 확률"을 기준으로 손실을 매기는 방법입니다.
이진 분류는 아래 이진 크로스엔트로피 수식을 풀어 읽기에서 을 구성 요소별로 해석합니다.
이진 크로스엔트로피 수식을 풀어 읽기
- — 정답 라벨.
- — 클래스 1일 확률(0~1).
- — 보통 자연로그.
일 때 — 이므로 만 남습니다. 가 1에 가까울수록 손실이 작습니다.
일 때 — 이므로 . 는 클래스 0일 확률에 해당합니다.
와 중 항상 한쪽만 살아 있어, 정답 쪽 확률을 키우도록 유도합니다.
다중 클래스 — 정답 클래스 에 대해 보통
(일반적으로 소프트맥스 확률을 사용). 정답 클래스의 예측 확률 가 낮을수록 손실이 커지고, 학습은 그 확률을 높이는 방향으로 가중치를 움직입니다.
(결정계수): '평균으로 찍기' 대비 얼마나 나아졌나
회귀에서는 MSE/RMSE로 오차의 크기를 보지만, 이보다 한 단계 더 나아가 "내 모델이 기준선(평균 예측)보다 얼마나 더 잘 설명했는가"를 보고 싶을 때 를 함께 봅니다.
기호부터 정리
- : 번째 데이터의 실제값
- : 번째 데이터의 예측값
- : 전체 의 평균
- SSE = : 모델이 낸 오차 제곱합(작을수록 좋음)
- SST = : "평균 만 찍는다"고 가정했을 때의 오차 제곱합(기준선)
계산 순서(초간단)
1. 먼저 를 구합니다(실제값 평균).
2. 기준선 오차인 SST = 를 계산합니다.
3. 모델 오차인 SSE = 를 계산합니다.
4. 입니다.
해석 가이드(가장 중요)
- 이면: SSE=0 → 예측이 실제와 거의 완벽하게 일치
- 이면: SSE=SST → 평균만 찍는 수준과 비슷
- 이면: SSE>SST → 평균만 찍는 기준선보다 더 못함
즉, 는 "오차 제곱합을 기준선 대비 얼마나 줄였는지"를 비율로 보여주는 지표입니다.
짧은 숫자 예시
실제값이 이고 평균 라고 해봅시다.
- 기준선(평균만 찍기): 오차 제곱합
- 모델 예측이 일 때:
따라서
→ 모델이 평균 예측보다 오차를 제법 줄여서 분산(변동)을 75% 정도 설명한 셈으로 해석할 수 있습니다.
주의: 를 혼자만 믿지 않기
- 는 "비율"이라서, 데이터가 다르면 숫자를 그대로 비교하기가 애매할 수 있습니다.
- 실무에서는 보통 RMSE + (오차 크기 + 설명력)를 함께 보면서 모델을 판단합니다.
왜 중요한지
학습의 나침반 — 머신러닝 모델은 학습할 때 '어디로 가야 할지'를 모릅니다. 회귀에서 손실이 MSE일 때, MSE가 '이 값이 작아지는 쪽으로 가라'고 방향을 알려줍니다. MSE가 줄어드는 방향이 곧 (회귀에서) 모델이 나아가야 할 방향입니다.
MSE: 미분하기 좋은 부드러운 곡선 — 제곱 함수()는 그래프로 그리면 밥그릇처럼 매끄러운 곡선 모양이 됩니다. 뾰족한 부분이 없어서 미분(기울기 계산)이 아주 쉽습니다. 덕분에 경사 하강법을 적용하여 최저점(오차가 가장 적은 곳)을 찾기에 수학적으로 가장 유리합니다.
RMSE로 단위 되찾기 — MSE는 오차를 제곱해서 평균을 내기 때문에 단위가 '의 제곱'이 됩니다(예: 가격 예측인데 단위가 '원²'). 실무에서는 "평균적으로 몇 원, 몇 도 틀리나요?"처럼 원래 단위로 말하고 싶을 때가 많습니다. 이때 MSE에 루트()를 씌운 RMSE(Root Mean Squared Error, 제곱근 평균 제곱 오차)를 씁니다. RMSE 이므로, MSE를 이해하면 RMSE도 자연스럽게 이해할 수 있습니다.
문제 유형에 맞는 손실 — 연속값이면 MSE가 자연스럽고, 클래스·확률이면 크로스엔트로피가 최대우도추정과 잘 맞아 분류·딥러닝에서 표준입니다. Ch.05 로지스틱 회귀에서는 시그모이드로 나온 확률 와 이 손실이 어떻게 연결되는지 이어서 다룹니다.
어떻게 쓰이는지
수치 예측(회귀) 모델 훈련 — 아파트 가격, 내일의 기온, 주식 가격 등 연속된 숫자를 맞히는 문제에서 가장 기본적으로 MSE를 씁니다.
모델 간 성능 비교 (회귀) — A 모델과 B 모델 중 누가 더 일을 잘하는지 모를 때, 두 모델의 MSE를 계산해봅니다. MSE 숫자가 더 작은 모델이 더 우수한 모델로 선정됩니다.
딥러닝 회귀 출력층 — 인공신경망이 숫자를 예측하는 문제를 풀 때도 출력층에서 정답과의 거리를 재기 위해 MSE를 자주 사용합니다.
분류·확률 예측 — 로지스틱 회귀, 소프트맥스 분류, 신경망의 클래스 확률을 학습할 때는 크로스엔트로피를 최소화하는 설정이 일반적입니다.