손실 함수(비용 함수)

혜쿰·2023년 11월 24일
0
post-thumbnail

비용 함수(Cost Function)는 손실 함수(Loss Function), 또는 목적 함수(Objective Function)와 같은 개념을 나타내는 단어이다. 이 포스팅에서는 헷갈리지 않게 용어를 "손실 함수"라고 용어를 통일해서 사용하도록 하겠다.

📕 손실 함수란?

손실 함수란, 모델의 예측값과 실제값 사이의 오차를 구하는 기준으로 머신러닝 모델 학습에서 필수 구성요소라고 할 수 있다.
비용 함수의 목표는 모델이 예측한 값이 실제값과 얼마나 다른지를 수치화하여 이 차이를 최소화하는 것이다. 주로 회귀 문제와 분류 문제에 따라 다른 비용 함수가 사용된다.
손실함수로 인해 모델의 성능이 달라질 수 있고, 이러한 이유로 머신러닝 모델을 구현하는 사람들은 어떠한 손실함수가 최적일지 고민하게 된다.

📕 손실 함수의 종류

다음 손실 함수는 기계 학습에서 주로 사용되는 함수 중 일부이다. 각각의 함수는 다른 종류의 작업과 모델에 따라 사용된다.

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

  • 회귀(Regression) 문제에서 주로 사용된다. 실제 값과 예측 값 사이의 제곱 오차를 계산하고, 이를 평균하여 오차를 측정한다.
  • MSE=1nΣ(yy^)2MSE = {1\over n} * Σ(y - ŷ)^2
  • 여기서 y는 실제 값, ŷ는 모델의 예측 값, n은 데이터 포인트의 수를 나타낸다.
  • 값이 작을수록 모델의 예측이 실제 값과 가깝다는 것을 의미한다.

2. Binary Crossentropy (이항 교차 엔트로피)

  • 이진(Binary) 분류 문제에서 사용된다. 두 개의 클래스 중 하나를 예측하는 모델에서 주로 쓰인다.
  • Binary Crossentropy는 실제 클래스와 모델이 예측한 확률 분포 사이의 차이를 측정한다.
  • 계산식 : Σ(ylog(y^)+(1y)log(1y^))-Σ(y * log(ŷ) + (1 - y) * log(1 - ŷ)) 수식을 이해하기 보다는 참고 자료로 써놓았다..
  • 여기서 y는 실제 레이블(0 또는 1), ŷ는 모델의 예측 확률을 나타낸다.
  • 이 손실 함수는 두 클래스의 분포 차이를 최소화하여 모델을 훈련한다.

3. Categorical Crossentropy (범주형 교차 엔트로피)

  • 다중 클래스(Multi-class) 분류 문제에서 사용된다. 여러 개의 클래스 중 하나를 예측하는 모델에서 사용된다.
  • 실제 클래스와 모델의 예측값 사이의 차이를 측정하여 다중 클래스 분류 모델을 훈련힌다.
  • 크로스 엔트로피의 계산 방식은 각 클래스의 실제 분포와 모델의 예측 분포 사이의 차이를 측정한다.

4. Sparse Categorical Crossentropy (희소 범주형 교차 엔트로피)

  • 다중 클래스 분류 문제에서 레이블이 원-핫 인코딩(One-Hot Encoding)이 아니라 정수 형태로 제공될 때 사용된다.

  • 내부적으로는 Categorical Crossentropy와 유사하지만, 입력값으로 정수 형태의 클래스 레이블을 받는다는 차이가 있다.

    참고) 원-핫 인코딩이란?

원-핫 인코딩(One-Hot Encoding)은 범주형 데이터를 컴퓨터가 이해하기 쉬운 형태로 변환하는 인코딩 기법 중 하나이다. 주로 머신 러닝 및 딥 러닝 모델에서 범주형 데이터를 다룰 때 사용된다.

이 기법은 주어진 범주(카테고리)에 해당하는 위치에만 1이고, 나머지 위치에는 0으로 표시하는 방식이다. 범주형 변수의 각 카테고리가 이진화되어 해당하는 카테고리에만 1로 표시되고 나머지는 0으로 표시되기 때문에 '원-핫'이라는 이름이 붙여졌다.





학습하는데 있어 도움이 되었던 동영상을 추천한다. -> 동영상 추천
이러한 손실 함수들은 각각의 문제 유형에 맞게 선택되어 모델을 훈련시키고, 최종적으로 모델이 원하는 목표를 잘 수행하도록 도와준다.

0개의 댓글

관련 채용 정보