L1 regularization vs. L2 regularization vs. elastic net 비교하기

1. elastic net 알고리즘

 

L1 regularization과 L2 regularization을 모두 사용한 regularization

 

loss에 L1 term과 L2 term의 선형결합을 더해서 모델을 학습시키는 알고리즘

 

위키피디아에서 정의한 elastic net을 이용한 회귀계수 추정량

 

 

2. L1 , L2, elastic net 비교

 

L1, L2는 모두 계수 $\lambda$가 크면 클수록 parameter를 축소시킨다.

 

L2는 parameter를 0으로 근사시키나 L1은 parameter를 완전하게 0으로 축소시키는 경향이 있다.

 

L1은 무수히 많은 변수들이 있는데 영향력이 강력한 변수들은 별로 없다고 생각이 들면 대부분의 변수를 0으로 축소시켜 일부 변수만 선택하고자할때 유리함

 

그러나 L1은 covariate가 sample에 비해 충분히 많을 때 상관관계가 높은 covariate중 무작위로 하나를 선택하고 나머지는 영향력 계수를 0으로 축소시키는 경향이 있음

 

sample 수가 covariate 수에 비해 충분히 많고 이렇게 상관관계가 높은 covariate가 많을 때 L2가 보통 유리하다고 함

 

 

L2는 입력변수들의 영향력이 전반적으로 비슷한 경우, L1은 영향력 편차가 심한 경우 주로 사용함

 

 

elastic net은 L1의 완전하게 0으로 축소시키려는 속성과 L2의 0으로 근사시키는 속성을 모두 이용한다

 

이런 속성을 모두 가지는 elastic net은 상관성이 강한 covariate들의 계수를 비슷한 수준으로 맞춰주는 group effect를 만드는 경향이 있다

 

A가 강력한 영향력을 가지는 변수라고 생각이 드는데 B와 상관이 높을 때 L1은 A를 0으로 제거해버릴 수 있고(B를 선택해버리거나) L2는 A와 B를 모두 줄여버릴 수 있어서 elastic net이 적절

 

요약하자면 L1은 parameter를 0으로 완전히 축소시키는 경향, L2는 0으로 근사시키는 경향

 

상관성이 높은 경우에 L1은 그 변수들 중 일부를 무작위로 선택하여 0으로 만드는 경향이 있어서 중요한 변수가 제거될 위험이 있어서 이 경우 L2를 쓰면 좋고

 

 

L2는 전체적으로 축소시키고 L1은 중요한 변수를 제거시킬 수 있어 elastic net이 상관관계가 높은 변수들의 영향력을 비슷한 수준으로 맞춰주는 group effect를 유도할 수 있어서 좋아

 

 

일반적으로는 ridge(L2)와 elastic net이 성능이 좋다고는 알려져 있으나 사실 다 써봐야겠지

TAGS.

Comments