ML로 전환하기: 학습 및 손실

모델을 학습시킨다는 것은 단순히 말하자면 라벨이 있는 데이터로부터 올바른 가중치와 편향값을 학습(결정)하는 것입니다. 지도 학습에서 머신러닝 알고리즘은 다양한 예를 검토하고 손실을 최소화 하는 모델을 찾아봄으로써 모델을 만들어내는데, 이 과정을 경험적 위험 최소화라고 합니다.

손실은 잘못된 예측에 대한 벌점입니다. 즉, 손실은 한 가지 예에서 모델의 예측이 얼마나 잘못되었는지를 나타내는 수입니다. 모델의 예측이 완벽하면 손실은 0이고 그렇지 않으면 손실은 그보다 커집니다. 모델 학습의 목표는 모든 예에서 평균적으로 작은 손실을 갖는 가중치와 편향의 집합을 찾는 것입니다. 예를 들어 그림 3에서 왼쪽은 손실이 큰 모델이고 오른쪽은 손실이 작은 모델입니다. 그림에 관해 다음 사항을 참고하세요.

  • 빨간색 화살표는 손실을 나타냅니다.
  • 파란색 직선은 예측을 나타냅니다.

각각 직선과 일부 데이터 포인트를 나타내고 있는 두 개의 데카르트 그래프 첫 번째 그래프에서 직선은 데이터와 거의 일치하지 않으므로 손실이 높습니다. 두 번째 그래프에서 직선은 데이터와 많이 일치하므로 손실이 낮습니다.

그림 3. 왼쪽 모델은 손실이 크고 오른쪽 모델은 손실이 작음

 

보다시피 왼쪽 그래프에서 빨간색 화살표는 오른쪽 그래프의 화살표보다 훨씬 더 깁니다. 오른쪽 그래프의 파란색 직선은 왼쪽 그래프의 파란색 직선보다 훨씬 더 예측을 잘 하는 모델입니다.

유의미한 방식으로 개별 손실을 종합할 수 있는 수학적 함수—손실 함수—를 만들 수 있을지 궁금할 수도 있습니다.

제곱 손실: 잘 알려진 손실 함수

여기에서 살펴볼 선형 회귀 모델에서는 제곱 손실(또는 L2 손실)이라는 손실 함수를 사용합니다. 데이터 하나의 제곱 손실은 다음과 같이 나타냅니다.

  = the square of the difference between the label and the prediction
  = (observation - prediction(x))2
  = (y - y')2

평균 제곱 오차(MSE)는 예시당 평균 제곱 손실입니다. MSE를 계산하려면 개별 예의 모든 제곱 손실을 합한 다음 예의 수로 나눕니다.

$$ MSE = \frac{1}{N} \sum_{(x,y)\in D} (y - prediction(x))^2 $$

여기서

  • \((x, y)\)는 예이며, 다음과 같습니다.
    • \(x\)는 모델이 예측하는 데 사용하는 특성 집합(예: 온도, 나이, 짝짓기 성공률)입니다.
    • \(y\)는 예의 라벨(예: 분당 우는 소리)입니다.
  • \(prediction(x)\)은 특성 집합\(x\)과 결합된 가중치 및 편향의 함수입니다.
  • \(D\)는 \((x, y)\) 쌍과 같이 여러 라벨이 있는 예가 포함된 데이터 세트입니다.
  • \(N\)은 \(D\)에 포함된 예의 수입니다.

MSE는 머신러닝에서 흔히 사용되지만, 모든 상황에서 최선인 유일한 손실 함수는 아닙니다.