L1 regularization(Lasso)과 L2 regularization(Ridge)

L1 regularizationL2 regularization모형의 복잡도인 parameterpenalty를 주는 방식이다.

 

L1, L2라는 용어에서 알 수 있다시피 loss function 공부하면서 짐작할 수 있는데

 

L1 regularization은 L1 norm인 절댓값 합을 말하는 것 일 테고 Lasso라고도 부른다.

 

L2 regularization은 제곱 합을 말하는 것이고 Ridge라고도 부른다.

 

기본적으로 regularization하면 생각나는 것은

 

$$cost = basic \; loss + regularization$$

 

regularization term을 구성하는 방법은 neural networkparameter를 이용한다.

 

parameter가 $W$라고 한다면

 

$$\omega  _{1} (W)= \sum _{i} ^{} \left | w _{i} \right |$$

 

$$\omega  _{2} (W)= \sum _{i} ^{} w _{i}^{2}$$

 

기호를 이렇게 쓰긴 했지만, 모든 parameter의 절댓값 합, 모든 parameter의 제곱합으로 생각하면 된다

 

그러면 regularization cost는

 

$${\hat{L _{1} (W)}} =L(W)+ \omega  _{1} (W) = L(W)+ \sum _{i} ^{} \left | w _{i} \right |$$

 

$${\hat{L _{2} (W)}} =L(W)+ \omega  _{2} (W)=L(W)+ \sum _{i} ^{} w _{i}^{2}$$

 

이러한 방식으로 regularization하여 과적합을 방지하는 것은 최근에 추천시스템에서 배웠다

 

그림1. regularization의 기본 개요

 

근데 단순히 더하지는 않는다. regularization의 정도를 나타내는 $\lambda$를 이용하여

 

$${\hat{L _{1} (W)}} =L(W)+ \lambda  \omega  _{1} (W)$$

 

$${\hat{L _{2} (W)}} =L(W)+ \lambda  \omega  _{2} (W)$$

 

L2 norm같은 경우 $${\hat{L _{2} (W)}} =L(W)+ \frac{\lambda }{2}  \omega  _{2} (W)$$로 쓰기도 하는데 사실 큰 의미없다.

 

$\omega  _{2} (W)= \sum _{i} ^{} w _{i}^{2}$를 미분하면 2가 내려와서 편해지니까 아무튼 진짜 큰 의미 없다

 

regularization의 정도를 나타내는 $\lambda$hyperparameter.

 

optimization과정에서 cost를 줄일텐데 $\lambda$가 클수록 regularization에 집중할 것이고 작을수록 loss에 집중할 것이다.

 

regularization에 집중한다는 것은 모형의 복잡도를 줄이는 것에 더욱 집중하겠다는 의미이다.

 

그만큼 parameter값이 작아야 regularization term이 작아질 것이고 전체 cost가 작아질테니까

TAGS.

Comments