이것저것 공부 기록하기

[MachineLearning] Loss Function(손실 함수) 이해하기 본문

MachineLearning

[MachineLearning] Loss Function(손실 함수) 이해하기

얍욥얍 2020. 7. 10. 19:42

 

 

현재 저는 데이콘의 제주 신용카드 빅데이터 경진대회에 참가 중인데 제주 가중치에 대해 고민을 하며 오늘은 손실 함수 관련 포스팅을 올리게 되었습니다!

https://dacon.io/competitions/official/235615/overview/
 

제주 신용카드 빅데이터 경진대회

출처 : DACON - Data Science Competition

dacon.io

Loss Function, Cost Function, Objective Function의 차이

 

비용/손실을 표시하는 함수로는 Loss Function, Cost Function, Objective Function 이 있습니다.

모델을 학습할 때는 cost를 최소화하는 방향으로 진행되며, 비용이 최소화되는 곳이 성능이 가장 잘 나오는 부분입니다. 이러한 비용이 적은 부분을 찾는 것이 최적화(Optimization)이고 일반화(Generalization)의 방법입니다.

 

 여기서 비용(cost) 또는 손실(loss)이 얼마나 있는지 나타내는 것이 비용함수(cost function), 손실함수(loss function)이라고 보시면 됩니다.

 

손실 함수 관련 function은 다음과 같으며 Cost Function은 Loss Function의 합, 평균 에러를 확인하는 것이며, Objective Function은 모델에 대해 가장 일반적으로 사용하는 용어로써 최댓값, 최솟값을 구하는 함수를 말합니다.

 

- Loss Function

- Cost Function

- Objective Function

 

사실 위의 세 개 function들은 같은 의미로 봐도 무방합니다.

오늘은 이 function들 중 Loss Function에 대해 알아보겠습니다.

 

 


Loss Function의 종류

Loss function은 같은 모델을 대상으로 하더라도 중요하게 생각하는 데이터의 특성에 따라, 모델의 성능을 올리기 위해 임의로 변형할 수 있습니다.

 

  • 산술 손실 함수

    • 산술값을 예측할 때 데이터에 대한 예측값과 실제 관측값을 비교

    • 주로 회귀(regression)에 사용

    • 제곱 손실 함수(Quadratic Loss Function)

    • loss값을 최소화

    • 예) 제곱 손실 함수(Quadratic Loss Function), 절댓값 손실 함수(Absolute Loss Function)

    • 상수 C로 정규화 기법 역할 수행

    • 만약 C의 값이 1이 아닌 10일 경우 cost가 훨씬 늘어나게 됨.

    • cost가 늘어나는 만큼 weight가 감소하므로 모델의 복잡도 감소

제곱 손실함수가 주로 사용되지만, 제곱을 하기 때문에 노이즈가 많은 경우에는 절댓값손실 함수를 사용합니다.

 

  • 확률 손실 함수

    • 주로 분류(classification)에서 주로 사용

    • 확률을 최대화

    • 예) 음의 로그 가능도(negative log-likelihood) 손실 함수

 

 

  • 랭킹 손실 함수

    • 특정 결과값에 대한 손실을 측정하는 것이 아니라 모델이 예측해낸 결과값의 순서가 맞는지만 판별

    • 예) 페어와이즈 제로-원(pairwise zero-one) 손실 함수 : 관계가 잘못된 경우를 카운팅

    • 예) 편집 거리(edit distance) 손실 함수 : 몇 번의 맞바꿈을 해야 원래 순서로 돌아갈 수 있는지 측정

 

  • 모델 복잡도와 관련된 손실 함수 
    • 제약 조건을 걸어 모델의 복잡도를 조절 

    • 손실 함수를 수정하여 정규화

람다 값이 증가하면 cost가 증가

 

 

 

References

https://blog.naver.com/qbxlvnf11/

https://steemit.com/kr/@heqet/loss-function

https://keepdev.tistory.com/

반응형
Comments