ML&DL 이야기/ML

[ML] L1함수와 L2함수 입장에서의 Loss Funtion

혁진 2023. 7. 25. 17:48

파이토치는 다양한 손실함수들을 제공하는데, 이는 흔히 말하는 cost function, loss function, objective function 등의 이름으로 사용된다. 이런 손실함수들은 모델의 predict 값과 target 값의 차이를 측정하여 모델의 학습을 도와준다. 

 

Loss function의 2가지 가정

DNN에서 Loss Function을 사용할 때 아래의 2가지 가정에 적합해야 한다.

 

1) Train data에서의 Loss 총합은 개별 데이터 Loss의 합과 같아야 한다. 

$$ L(\theta_{k}, D) = \sum_{i}L(\theta_{k} ,D_{i}) $$

 

2) DNN 출력 값으로 Loss를 계산한다. (중간 단계에서의 값으로는 계산하지 않음.)

$$ \bigtriangledown L(\theta_{k},D) = \sum_{i}\bigtriangledown L(\theta_{k}, D_{i}) $$

 

Mean Squared Error(MSE)와 Cross Entropy Error(CEE)를 Loss Function으로 많이 사용하는 이유는 위의 두 조건을 만족하는 대표적 함수이기 때문이다.

 

L1과 L2의 비교

L1 손실함수와 MAE 

L1 손실은 실제값과 예측값과의 차이를 말한다. 

수식으로는 위와 같이 표현된다. 

L1 손실과 관련된 대표적인 함수로는 MAE(Mean absoulute error)가 있다. 

이때 y_i가 target 값, y^이 예측값이다

L2 손실함수와 MSE, RMSE 

L2 손실함수는 L1과 달리 차이의 제곱합을 말하며 위와 같은 수식으로 표현된다.

이와 관련된 비용함수는 MSE(Mean Squared Error)와 RMSE(Root Mean Squared Error)가 존재한다.