선형 회귀: 손실

손실은 모델의 예측이 얼마나 잘못되었는지 설명하는 숫자 측정항목입니다. 손실은 모델의 예측과 실제 라벨 간의 거리를 측정합니다. 모델을 학습하는 목표는 손실을 최소화하여 가능한 한 가장 낮은 값으로 줄이는 것입니다.

다음 이미지에서는 데이터 포인트에서 모델로 그려진 화살표로 손실을 시각화할 수 있습니다. 화살표는 모델의 예측이 실제 값과 얼마나 차이가 있는지를 보여줍니다.

그림 9. 손실 선은 데이터 포인트를 모델에 연결합니다.

그림 9. 손실은 실제 값에서 예측 값으로 측정됩니다.

손실 거리

통계와 머신러닝에서 손실은 예측 값과 실제 값의 차이를 측정합니다. 손실은 방향이 아닌 값 간의 거리에 중점을 둡니다. 예를 들어 모델이 2를 예측했지만 실제 값이 5인 경우 손실이 음수 $ -3 $ ($ 2-5=-3 $)인지 여부는 중요하지 않습니다. 대신 값 간의 거리가 $ 3 $인지 여부가 중요합니다. 따라서 손실을 계산하는 모든 방법은 부호를 삭제합니다.

표지판을 삭제하는 가장 일반적인 두 가지 방법은 다음과 같습니다.

  • 실제 값과 예측값의 차이의 절댓값을 취합니다.
  • 실제 값과 예측값의 차이를 제곱합니다.

손실 유형

선형 회귀에는 다음 표에 설명된 네 가지 기본적인 손실 유형이 있습니다.

손실 유형 정의 등식
L1 손실 예측값과 실제값 간의 차이의 절대값 합계입니다. $ ∑ | actual\ value - predicted\ value | $
평균 절대 오차 (MAE) 일련의 예시에서 L1 손실의 평균입니다. $ \frac{1}{N} ∑ | 실제\ 값 - 예측\ 값 | $
L2 손실 예측값과 실제값 간의 제곱 차이의 합계입니다. $ ∑(actual\ value - predicted\ value)^2 $
평균 제곱 오차 (MSE) 일련의 예시에서 L2 손실의 평균입니다. $ \frac{1}{N} ∑ (실제\ 값 - 예측\ 값)^2 $

L1 손실과 L2 손실(또는 MAE와 MSE)의 기능적 차이는 제곱입니다. 예측과 라벨의 차이가 클수록 제곱하면 손실이 더 커집니다. 차이가 작으면 (1 미만) 제곱하면 손실이 더 줄어듭니다.

한 번에 여러 예시를 처리할 때는 MAE 또는 MSE 중 무엇을 사용하든 모든 예시에서 손실을 평균화하는 것이 좋습니다.

손실 계산 예시

이전 최적 선을 사용하여 단일 예시의 L2 손실을 계산합니다. 최적의 선에서 가중치와 편향의 값은 다음과 같습니다.

  • $ \small{가중치: -3.6} $
  • $ \small{편향: 30} $

모델이 2,370파운드 차량의 갤런당 마일리지가 21.5마일이라고 예측했지만 실제로는 24마일이라고 가정하면 L2 손실을 다음과 같이 계산합니다.

등식 결과
예측

$\small{bias + (weight * feature\ value)}$

$\small{30 + (-3.6*2.37)}$

$\small{21.5}$
실제 금액 $ \small{ label } $ $ \small{ 24 } $
L2 손실

$ \small{ (실제\ 값 - 예측\ 값)^2 } $

$\small{ (24 - 21.5)^2 }$

$\small{6.25}$

이 예에서 단일 데이터 포인트의 L2 손실은 6.25입니다.

손실 선택

MAE 또는 MSE를 사용할지 여부는 데이터 세트와 특정 예측을 처리하려는 방식에 따라 달라질 수 있습니다. 데이터 세트의 대부분의 지형지물 값은 일반적으로 고유한 범위 내에 있습니다. 예를 들어 자동차는 일반적으로 2,000~5,000파운드이고 갤런당 8~50마일을 주행합니다. 8,000파운드(3,629kg)의 자동차 또는 갤런당 100마일(160km)의 자동차는 일반적인 범위를 벗어나며 외부값으로 간주됩니다.

이상치는 모델의 예측이 실제 값에서 얼마나 벗어났는지를 나타낼 수도 있습니다. 예를 들어 3,000파운드는 일반적인 자동차 중량 범위 내에 있고, 40mpg는 일반적인 연비 범위 내에 있습니다. 하지만 3,000파운드 차량이 갤런당 40마일을 주행하는 경우 모델은 3,000파운드 차량이 갤런당 18~20마일을 주행할 것으로 예측하므로 모델 예측 측면에서 외부값이 됩니다.

최적의 손실 함수를 선택할 때는 모델이 외부값을 처리하는 방식을 고려하세요. 예를 들어 MSE는 모델을 외부값 쪽으로 더 이동시키는 반면 MAE는 그렇지 않습니다. L2 손실은 L1 손실보다 이상점에 훨씬 더 높은 패널티를 부과합니다. 예를 들어 다음 이미지는 MAE를 사용하여 학습된 모델과 MSE를 사용하여 학습된 모델을 보여줍니다. 빨간색 선은 예측에 사용될 완전히 학습된 모델을 나타냅니다. 이상치는 MAE로 학습된 모델보다 MSE로 학습된 모델에 더 가깝습니다.

그림 10. 모델이 이상치 쪽으로 더 기울어집니다.

그림 10. MSE로 학습된 모델은 모델을 이상치에 더 가깝게 이동시킵니다.

그림 11. 모델이 이상치에서 더 멀리 기울어집니다.

그림 11. MAE로 학습된 모델은 이상치에서 더 멀리 떨어져 있습니다.

모델과 데이터 간의 관계를 확인합니다.

  • MSE. 모델이 이상치에 더 가깝지만 다른 데이터 포인트의 대부분과는 더 멀리 떨어져 있습니다.

  • MAE 모델이 이상치에서 더 멀리 떨어져 있지만 다른 데이터 포인트의 대부분에 더 가깝습니다.

이해도 확인

다음 두 그래프를 고려해 보겠습니다.

점 10개가 있는 도표입니다.
      선이 6개의 점을 통과합니다. 2개의 점은 선 위 1단위, 다른 2개의 점은 선 아래 1단위입니다. 점 10개가 있는 도표입니다. 선이 8개의 점을 통과합니다. 한 점은 선 위 2단위, 다른 점은 선 아래 2단위입니다.
위 도표에 표시된 두 개의 데이터 세트 중 평균 제곱 오차 (MSE)가 더 높은 것은 무엇인가요?
왼쪽의 데이터 세트
이 줄의 6개 예시의 총 손실은 0입니다. 선 위에 있지 않은 네 가지 예시는 선에서 그리 멀지 않으므로 오프셋을 제곱해도 여전히 낮은 값이 나옵니다. $MSE = \frac{0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 1^2 + 0^2 + 0^2} {10} = 0.4$
오른쪽의 데이터 세트
이 줄의 8개 예시의 총 손실은 0입니다. 그러나 선에서 벗어난 점은 2개밖에 안 되지만, 2개의 점 모두 선에서 벗어난 정도가 왼쪽 그림의 이상점에 비해 2배 더 큽니다. 제곱 손실값의 경우 이러한 차이가 증폭되므로 오프셋 2의 경우 오프셋 1보다 4배 더 큰 손실이 발생합니다. $MSE = \frac{0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2 + 0^2 + 2^2 + 0^2 + 0^2} {10} = 0.8$