AI

손실함수(Loss Function)의 종류

땅콩새싹 2021. 7. 20. 15:51

 


 

손실 함수(Loss Function)

손실 함수란, 컴퓨터가 출력한 예측값이 우리가 의도한 정답과 얼마나 틀렸는지를 채점하는 함수입니다. 손실함수는 함수에 따라 차이는 있지만, 예측값이 정답에 가까울수록 0에 수렴하고, 정답과 거리가 멀 수록 큰 값을 출력합니다.

  • MSE(Mean Squared Error)

예측한 값과 실제 값 사이의 평균 제곱 오차를 정의합니다. 차가 커질수록 제곱 연산으로 인해서 값이 더욱 뚜렷해집니다. 그리고 제곱으로 인해서 오차가 양수이든 음수이든 누적 값을 증가시킵니다.

 

  • RMSE(Root Mean Squared Error)

MSE에 루트를 씌운 것으로 MSE와 기본적으로 동일합니다. MSE 값은 오류에 제곱을 구하기 때문에 실제 오류 평균보다 더 커지는 특성이 있어 MSE에 루트를 씌운 RMSE는 값의 왜곡을 줄여줍니다.

 

  • Binary Crossentropy

실제 레이블과 예측 레이블 간의 교차 엔트로피 손실을 계산합니다. 2개의 레이블 클래스(0, 1로 가정)가 있을 때 Binary Crossentropy를 사용하면 좋습니다. 활성화 함수는 sigmoid를 사용합니다. 

 

 

  • Categorical Crossentropy

레이블 클래스가 2개 이상일 경우 사용됩니다. 보통 Softmax 다음에 연계되어 나온다고 하여 softmax loss 라고도 불립니다. 모든 벡터 요소의 값은 0과 1사이의 값이 나오고 모든 합이 1이 됩니다. 라벨이 one-hot encoding된 형태로 제공될 때 사용 가능합니다.

 

  • Sparse categorical crossentrophy

범주형 교차 엔트로피와 동일하게 멀티 클래스 분류에 사용됩니다. one-hot encoding된 상태일 필요 없이 정수 인코딩 된 상태에서 수행 가능합니다.

 

그 외 여러가지 손실 함수 참고

https://www.tensorflow.org/api_docs/python/tf/keras/losses

 

Module: tf.keras.losses  |  TensorFlow Core v2.5.0

Built-in loss functions.

www.tensorflow.org

 

'AI' 카테고리의 다른 글

SGD and Batch, Mini-Batch  (0) 2021.07.21
경사 하강법  (0) 2021.07.21
[머신러닝] 로지스틱 회귀(logistic regression)  (0) 2021.07.17
[머신러닝] 특성 공학과 규제  (0) 2021.07.17
[머신러닝] 선형회귀(Linear Regression)  (0) 2021.07.17