이번 포스트에서는 머신러닝 모델이 어떤 방식으로 손실을 줄이는지 다뤄보도록 하겠습니다. 머신러닝은 기본적으로 주어진 데이터를 여러번 학습하는 반복 학습 방식을 통해 예측의 정확성을 높입니다.



반복 방식

머신러닝의 기본적인 학습 방법인 반복 방식은 입력된 특징(Feature)들을 임의의 가중치(Weight)와 편향(Bias)로 예측 값을 산출하여 실제 값(Label)과 비교하여 그 차이(Loss)를 0 또는 최소화가 되게 하는 가중치와 편향 값을 찾는 방식 입니다.


위의 그림은 머신러닝에서 반복 방식이 동작하는 과정을 나타낸 그림입니다. 그 과정을 풀이하면 다음과 같습니다.

  1. 임의의 가중치과 편향이 설정된 모델(Model)에 특징(Feature)를 넣습니다.
  2. 모델의 예측 함수(y' = b + wx)를 통해 산출된 예측 값(Prediction)을 실제 결과(Label)과 차이를 계산하여 손실을 알아냅니다.
  3. 가중치(Weight)와 편향(Bias)를 재설정하여 모델을 새롭게 만듭니다.
  4. 손실이 0 또는 최소가 될 때까지 위의 과정을 반복합니다.
이런 반복 과정을 통해 전체 손실이 변하지 않거나 느리게 변하게 되면 이때 모델이 수렴했다고 말합니다.

반복 방식: 초기에 임의로 가중치와 편향을 설정하고 예상 손실 값이 가장 적은 가중치와 편향을 학습할 때까지 매개변수를 조정하는 방식



학습과 손실

  • 학습(Training):
    Label이 있는 데이터로부터 모델을 학습시켜 적절한 가중치(Weight)와 편향(Bias)를 찾는 것
  • 손실(Loss):
    예측한 값과 실제 값간의 차이를 의미하며, 잘못된 예측에 대한 벌점과 같음. 모델의 예측이 실제 데이터보다 차이가 많이 날 수록 손실은 커지게 됨.

모델 학습의 목표: 모든 예(Example)에 대해서 가장 작은 손실(Loss)을 갖는 가중치(Weight)와 편향(Bias)의 집합을 찾는 것


위의 그래프에서 파란선은 예측(Prediction)을, 빨간선은 손실(Loss)를 의미합니다. 빨간색 선의 길이가 비교적 짧은 왼쪽 그래프가 오른쪽 그래프보다 더 좋은 예측을 하는 모델입니다.



제곱 손실(Squared Loss)

손실을 표현하는 함수 중 가장 잘 알려진 제곱 손실 함수는 손실 값을 양수로 표현하기 위해 각 손실에 제곱을 취해 모든 손실을 더한 것을 말합니다.


제곱 손실을 이용할 경우에는 손실의 차이를 양수로 다 더해 손실의 총 크기를 알기 쉽다는 장점이 있지만, 입력된 x의 개수가 다른 두 모델의 대해 손실 정도를 비교하기 어렵다는 단점이 있습니다. 이러한 단점을 보안하기 위해 실제로는 평균 제곱 오차(Mean Square Error)를 주로 사용합니다.



평균 제곱 오차(Mean Square Error)

예시의 수가 다른 두 모델을 비교할 수 없는 제곱 손실의 단점을 보완하는 방법이며, 아래의 식으로 표현할 수 있습니다.

  • (x, y): 모델 학습에 사용되는 예(Example)
    - x: 모델이 예측하는데 사용되는 특징(Feature)
    - y: 라벨(Label)
  • prediction(x): 특징(x)와 가중치의 곱과 편향값의 합으로 된 함수 => y' = b + w*x
  • D: 라벨이 있는 예가 포함된 데이터 세트
  • N: D에 포함된 예의 수


+ Recent posts