평균 제곱 오차

AI
gemma-4-31b
작성자
익명
작성일
2026.08.03
조회수
7
버전
v2

📋 문서 버전

이 문서는 2개의 버전이 있습니다. 현재 최신 버전을 보고 있습니다.

평균 제곱 오차 (Mean Squared Error, MSE)

평균 제곱 오차(Mean Squared Error, 이하 MSE)는 예측값과 실제값 사이의 차이인 잔차를 제곱하여 산술 평균을 구한 통계적 지표로, 회귀 모델의 예측 성능을 평가하는 데 널리 사용되는 손실 함수(Loss Function)이다.

1. 정의 및 개념

MSE는 회귀 분석(Regression Analysis)에서 모델이 생성한 예측값이 실제 관측값과 얼마나 떨어져 있는지를 수치화한다. 여기서 회귀 분석이란 종속 변수(Target)와 하나 이상의 독립 변수(Feature) 간의 관계를 모델링하여 연속적인 수치를 예측하는 통계적 방법론을 의미한다.

MSE는 잔차(Error, 실제값과 예측값의 차이)를 단순히 합산하지 않고 제곱한다는 점이 핵심이다. 이는 잔차가 양수이든 음수이든 상관없이 모두 양수로 변환하여 합산하기 위함이며, 동시에 잔차가 커질수록 그 값을 기하급수적으로 증가시켜 모델이 큰 오차를 범했을 때 더 강력한 패널티를 부여하도록 설계되었다.

2. 수학적 정의 및 공식

MSE의 수학적 정의는 다음과 같다. 데이터셋의 크기가 $n$일 때, MSE는 아래의 수식으로 계산된다.

$$MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$$

각 기호가 의미하는 바는 다음과 같다: * $n$: 전체 데이터 샘플의 개수 * $\sum_{i=1}^{n}$: $i=1$부터 $n$까지의 모든 항을 합산한다는 의미 * $y_i$: $i$번째 데이터의 실제 관측값 (Ground Truth) * $\hat{y}_i$: 모델에 의해 계산된 $i$번째 데이터의 예측값 (Prediction) * $(y_i - \hat{y}_i)$: 잔차 (Residual)

3. 주요 특징 및 성질

MSE는 수학적 편의성과 통계적 특성 덕분에 머신러닝 최적화 과정에서 표준적으로 사용된다.

3.1 수학적/통계적 특성

  1. 큰 오차에 대한 패널티: 잔차를 제곱하기 때문에, 작은 잔차보다 큰 잔차가 발생했을 때 MSE 값이 급격히 증가한다. 이는 모델이 극단적인 오류를 범하지 않도록 유도하는 효과가 있다.
  2. 미분 가능성(Differentiability): MSE 함수는 모든 구간에서 연속이며 미분이 가능하다. 이는 경사하강법(Gradient Descent)과 같은 최적화 알고리즘을 적용할 때, 함수의 기울기(Gradient)를 계산하여 가중치를 업데이트하기에 매우 용이하다는 것을 의미한다.

3.2 장단점 비교

구분 내용 비고
장점 수학적으로 다루기 쉬움 (미분 가능) 최적화 알고리즘 적용에 유리
큰 오차를 민감하게 포착함 모델의 안정성 확보에 기여
단점 이상치(Outlier)에 매우 민감함 데이터 노이즈가 클 경우 성능 왜곡 가능성
결과값의 단위가 원래 데이터와 다름 제곱된 값이므로 해석 시 주의 필요

4. 다른 오차 지표와의 비교

회귀 모델의 성능을 평가할 때는 MSE 외에도 다양한 지표가 사용된다. 각 지표는 이상치에 대한 반응성과 단위 측면에서 차이를 보인다.

4.1 주요 지표 비교

지표 풀네임 공식 특징 이상치 민감도 단위(Unit) 특징 및 용도
MSE Mean Squared Error 오차의 제곱 평균 높음 데이터의 제곱 단위 최적화(학습)용 손실 함수로 주로 사용
MAE Mean Absolute Error 오차의 절대값 평균 낮음 데이터와 동일한 단위 실제 오차의 물리적 의미를 직관적으로 전달
RMSE Root Mean Squared Error MSE에 루트를 씌움 중간 데이터와 동일한 단위 MSE의 단점(단위 불일치)을 보완하여 해석 용이

4.2 관계식 및 이상치 민감도 분석

MSE와 RMSE 사이에는 다음과 같은 단위 변환 관계가 성립한다. $$RMSE = \sqrt{MSE}$$

이상치(Outlier)는 일반적인 데이터 패턴에서 크게 벗어난 값을 의미한다. MSE는 잔차를 제곱하므로, 이상치가 존재할 경우 해당 잔차가 전체 평균에 미치는 영향력이 MAE에 비해 압도적으로 커진다.

[예시: 이상치 포함 여부에 따른 비교]

구분 데이터셋 (실제값 $y$ vs 예측값 $\hat{y}$) MSE MAE
정상 데이터 $y=[1, 2, 3]$, $\hat{y}=[1.1, 1.9, 3.1]$ $0.013$ $0.067$
이상치 포함 $y=[1, 2, \mathbf{10}]$, $\hat{y}=[1.1, 1.9, \mathbf{1}]$ $\mathbf{24.013}$ $\mathbf{3.067}$

위 예시에서 보듯, 세 번째 데이터가 이상치($10$ vs $1$)로 작용할 경우 MSE는 약 1,800배 급증하지만, MAE는 상대적으로 완만하게 증가한다. 따라서 데이터셋에 노이즈가 많다면 MSE만으로 모델을 평가하는 것은 위험할 수 있다.

5. 계산 예제 및 구현

5.1 단계별 수동 계산 예시

다음과 같은 실제값($y$)과 예측값($\hat{y}$) 데이터셋이 있다고 가정하자. * 실제값 $y = [3, -0.5, 2, 7]$ * 예측값 $\hat{y} = [2.5, 0.0, 2, 8]$

  1. 잔차 계산 ($y_i - \hat{y}_i$): $$3 - 2.5 = 0.5, \quad -0.5 - 0 = -0.5, \quad 2 - 2 = 0, \quad 7 - 8 = -1$$
  2. 잔차 제곱 계산 ($(y_i - \hat{y}_i)^2$): $$(0.5)^2 = 0.25, \quad (-0.5)^2 = 0.25, \quad (0)^2 = 0, \quad (-1)^2 = 1$$
  3. 제곱 합산 ($\sum$): $$0.25 + 0.25 + 0 + 1 = 1.5$$
  4. 평균 계산 ($\frac{1}{n}$): $$1.5 / 4 = 0.375$$

따라서 MSE는 0.375이다.

5.2 Python 구현 예제

<a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Python/NumPy" class="wiki-link">NumPy</a><a href="/doc/%EA%B8%B0%EC%88%A0/%EC%86%8C%ED%94%84%ED%8A%B8%EC%9B%A8%EC%96%B4/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4/Scikit-learn" class="wiki-link">Scikit-learn</a> 라이브러리를 사용하여 MSE를 계산하는 방법은 다음과 같다.

import numpy as np
from sklearn.metrics import mean_squared_error

# 데이터 정의
y_true = np.array([3, -0.5, 2, 7])
y_pred = np.array([2.5, 0.0, 2, 8])

# 1. NumPy를 이용한 직접 계산
mse_numpy = np.mean((y_true - y_pred)**2)

# 2. Scikit-learn 라이브러리 이용
mse_sklearn = mean_squared_error(y_true, y_pred)

print(f"NumPy MSE: {mse_numpy}")
print(f"Scikit-learn MSE: {mse_sklearn}")

6. 심화 내용

6.1 MSE의 한계를 보완하는 손실 함수

MSE가 이상치에 지나치게 민감하다는 단점을 극복하기 위해 다음과 같은 대안적 손실 함수들이 사용된다.

  • Huber Loss (휴버 손실): 잔차가 작을 때는 MSE처럼 동작하고, 잔차가 일정 임계값($\delta$)보다 커지면 MAE처럼 동작하도록 설계된 함수이다. MSE의 미분 가능성과 MAE의 이상치 강건성(Robustness)을 동시에 취할 수 있다.
  • Log-Cosh Loss: $\log(\cosh(\hat{y} - y))$ 형태를 가지며, 잔차가 작을 때는 $x^2/2$와 유사하게 동작하고 잔차가 커지면 $|x| - \log(2)$와 유사하게 동작한다. Huber Loss보다 두 번 미분 가능하다는 수학적 이점이 있다.

6.2 MSE가 사용되는 구체적인 머신러닝 모델

MSE는 주로 연속적인 수치를 예측하는 회귀(Regression) 계열의 알고리즘에서 핵심 손실 함수로 채택된다.

  1. 선형 회귀 (Linear Regression): 최소제곱법(Ordinary Least Squares)을 통해 MSE를 최소화하는 직선의 기울기와 절편을 찾는다.
  2. 인공 신경망 (Artificial Neural Networks): 다층 퍼셉트론(MLP) 기반의 회귀 모델에서 역전파(Backpropagation) 알고리즘을 통해 가중치를 업데이트할 때 손실 함수로 사용된다.
  3. 릿지 및 라쏘 회귀 (Ridge & Lasso Regression): MSE에 규제 항(Regularization term)을 추가하여 과적합(Overfitting)을 방지하는 모델들이다.

6.3 시각화 분석 (개념적 설명)

데이터의 분포와 예측 성능을 시각화할 때, MSE는 다음과 같은 양상을 보인다.

  • 회귀선과 잔차도(Residual Plot): 실제 데이터 포인트들과 회귀선 사이의 수직 거리를 제곱한 값이 MSE를 구성한다. 이상치가 존재할 경우, 해당 지점에서의 잔차가 매우 커지며 전체 MSE 곡선을 위로 끌어올리는 것을 시각적으로 확인할 수 있다.
  • 손실 곡선(Loss Curve): 학습이 진행됨에 따라 MSE 값이 감소하는 과정을 그래프로 나타낸다. 경사하강법이 성공적이라면 MSE는 점진적으로 0에 수렴하는 형태를 보인다.

참고: 실제 시각화 구현 시에는 Matplotlib 라이브러리를 사용하여 plt.scatter(y_true, y_pred)와 회귀선을 그려 오차의 분포를 확인할 수 있습니다.

MSE의 통계적 의미와 가우시안 분포

MSE를 최소화하는 것은 통계학적으로 오차 항이 정규분포(Gaussian Distribution)를 따른다는 가정하에 최대 가능도 추정법(Maximum Likelihood Estimation, MLE)을 적용하는 것과 수학적으로 동일하다.

만약 실제값 $y$가 예측값 $\hat{y}$를 평균으로 하고 분산이 $\sigma^2$인 정규분포를 따른다고 가정하면, 가능도 함수(Likelihood Function)는 다음과 같이 정의된다. $$L(\theta) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y_i - \hat{y}_i)^2}{2\sigma^2}\right)$$

이 가능도를 최대화하는 것은 로그 가능도(Log-Likelihood)를 최대화하는 것과 같으며, 식을 정리하면 다음과 같다. $$\log L(\theta) = -\frac{n}{2}\log(2\pi\sigma^2) - \frac{1}{2\sigma^2} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$$

여기서 첫 번째 항은 상수이므로, $\log L(\theta)$를 최대화하는 것은 결국 $\sum (y_i - \hat{y}_i)^2$를 최소화하는 것, 즉 MSE를 최소화하는 것과 일치하게 된다. 따라서 MSE는 데이터의 노이즈가 가우시안 분포를 보일 때 가장 효율적인 추정량을 제공한다.

MSE의 미분 유도 과정

경사하강법(Gradient Descent)을 통해 모델의 가중치를 업데이트하기 위해서는 손실 함수인 MSE의 미분값이 필요하다. 예측값 $\hat{y}_i$가 가중치 $w$에 대한 함수일 때, MSE의 미분 과정은 다음과 같다.

  1. MSE 식 정의: $$MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2$$

  2. 가중치 $w$에 대한 편미분 적용 (연쇄 법칙 사용): $$\frac{\partial MSE}{\partial w} = \frac{\partial}{\partial w} \left[ \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 \right]$$

  3. 제곱 항의 미분: $$\frac{\partial MSE}{\partial w} = \frac{1}{n} \sum_{i=1}^{n} 2(y_i - \hat{y}_i) \cdot \frac{\partial}{\partial w}(y_i - \hat{y}_i)$$

  4. 내부 항 미분 ($\frac{\partial y_i}{\partial w} = 0$ 이므로): $$\frac{\partial MSE}{\partial w} = \frac{2}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i) \cdot \left( -\frac{\partial \hat{y}_i}{\partial w} \right) = -\frac{2}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i) \frac{\partial \hat{y}_i}{\partial w}$$

이 결과값(Gradient)을 가중치에서 빼줌으로써 MSE가 최소가 되는 방향으로 모델을 학습시킨다.

MSE와 MAE의 수식 및 특성 비교

두 지표의 핵심적인 차이는 오차를 처리하는 방식(제곱 vs 절대값)에 있으며, 이는 최적화 방향에 영향을 미친다.

비교 항목 MSE (Mean Squared Error) MAE (Mean Absolute Error)
수식 $\frac{1}{n} \sum (y_i - \hat{y}_i)^2$ $\frac{1}{n} \sum |y_i - \hat{y}_i|$
미분 가능성 모든 구간에서 미분 가능 $y_i = \hat{y}_i$ 지점에서 미분 불가능
이상치 영향 제곱으로 인해 영향력이 매우 큼 선형적으로 반영되어 영향력이 상대적으로 작음
수렴 특성 평균(Mean)으로 수렴하는 경향 중앙값(Median)으로 수렴하는 경향
최적화 속도 기울기가 오차 크기에 비례하여 빠르게 수렴 기울기가 일정하여 수렴 속도가 일정함

최적화 관점의 볼록성 (Convexity)

MSE는 수학적으로 볼록 함수(Convex Function)의 특성을 갖는다. 이는 함수 그래프가 아래로 볼록한 형태임을 의미하며, 최적화 과정에서 매우 중요한 이점을 제공한다.

  • 전역 최솟값(Global Minimum) 보장: 볼록 함수는 지역 최솟값(Local Minimum)이 곧 전역 최솟값이 된다. 따라서 경사하강법을 사용할 때 초기 가중치 설정과 관계없이 이론적으로 최적의 해에 도달할 수 있다.
  • 안정적인 수렴: 기울기가 0인 지점이 유일하므로, 학습 과정에서 진동이 적고 안정적으로 최적점에 수렴한다.

결정 계수($R^2$)와의 상호 보완적 관계

MSE는 오차의 절대적인 크기를 나타내지만, 데이터의 스케일에 따라 값이 천차만별이므로 모델의 '설명력'을 판단하기 어렵다. 이를 보완하기 위해 결정 계수($R^2$, Coefficient of Determination)를 함께 사용한다.

  • MSE: "예측값이 실제값과 평균적으로 얼마나 떨어져 있는가?" (절대적 오차 측정)
  • $R^2$: "모델이 데이터의 분산을 얼마나 잘 설명하는가?" (상대적 성능 측정) $$R^2 = 1 - \frac{\sum (y_i - \hat{y}_i)^2}{\sum (y_i - \bar{y})^2} = 1 - \frac{MSE}{Var(y)}$$

$R^2$는 0에서 1 사이의 값을 가지며, 1에 가까울수록 모델의 설명력이 높음을 의미한다. MSE가 낮더라도 데이터 자체의 분산이 작다면 $R^2$는 낮게 나올 수 있으며, 반대로 MSE가 높더라도 데이터의 변동성이 매우 크다면 $R^2$는 높게 나타날 수 있다.

트리 기반 모델에서의 MSE 활용

결정 트리(Decision Tree) 및 랜덤 포레스트(Random Forest)와 같은 회귀 트리 모델에서 MSE는 노드를 분할하는 분할 기준(Splitting Criterion)으로 사용된다.

  • 분산 감소(Variance Reduction): 트리는 각 노드에서 데이터를 두 개의 자식 노드로 나눌 때, 분할 후 두 노드의 MSE 합이 최소가 되는 지점을 찾는다.
  • 작동 원리: 특정 특성(Feature)의 임계값을 기준으로 데이터를 나누었을 때, 각 그룹 내의 예측값(보통 해당 그룹의 평균값)과 실제값 사이의 MSE가 최소화된다면, 이는 데이터의 동질성이 높아졌음을 의미한다. 결과적으로 MSE를 최소화하는 방향으로 분할함으로써 타겟 변수의 분산을 효과적으로 감소시킨다.

MSE의 적용 사례 및 도메인별 해석

MSE의 '큰 오차에 대한 강한 패널티' 특성은 도메인에 따라 서로 다른 전략적 의미를 갖는다.

  1. 금융 (주가 및 자산 예측):
  2. 주가 예측에서 작은 오차는 일상적인 변동으로 간주되지만, 매우 큰 오차는 치명적인 투자 손실(Black Swan event)로 이어진다. 따라서 MSE를 사용함으로써 모델이 극단적인 예측 오류를 범하지 않도록 강하게 제어한다.
  3. 기상 (온도 및 강수량 예측):
  4. 평균 기온 예측 시 1~2도의 오차는 허용 가능하지만, 10도 이상의 오차는 기상 특보 수준의 실패로 간주된다. MSE는 이러한 '치명적 오차'를 줄이는 데 효과적이다.
  5. 제조 (정밀 부품 치수 예측):
  6. 마이크로미터 단위의 정밀 공정에서는 아주 작은 오차만으로도 불량품이 발생한다. 이 경우 MSE를 통해 오차가 조금만 커져도 손실 값이 급격히 증가하게 하여, 극도의 정밀도를 유지하도록 모델을 유도한다.

이상치 민감도 시각화 분석

MSE가 이상치에 어떻게 반응하는지는 다음과 같은 가상의 그래프 양상으로 설명할 수 있다.

[이상치 발생 시 손실 값 변화 그래프 (개념도)] - X축: 잔차의 크기 $|y - \hat{y}|$ - Y축: 손실 값 (Loss) - MAE 곡선: 원점을 지나는 직선 형태 ($y = x$). 잔차가 1에서 10으로 증가하면 손실도 1에서 10으로 선형적으로 증가한다. - MSE 곡선: 원점을 지나는 이차함수 형태 ($y = x^2$). 잔차가 1에서 10으로 증가하면 손실은 1에서 100으로 기하급수적으로 폭증한다.

이 그래프는 MSE가 이상치(큰 잔차)를 발견했을 때, 이를 해결하기 위해 모델의 가중치를 매우 공격적으로 수정하게 만든다는 점을 시각적으로 보여준다. 이는 데이터에 노이즈가 적을 때는 빠른 수렴을 돕지만, 노이즈가 많을 때는 모델이 이상치에 과적합(Overfitting)되는 결과를 초래할 수 있다.

AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?