L1 regularization vs. L2 regularization vs. elastic net 비교하기
1. elastic net 알고리즘
L1 regularization과 L2 regularization을 모두 사용한 regularization
loss에 L1 term과 L2 term의 선형결합을 더해서 모델을 학습시키는 알고리즘
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이 성능이 좋다고는 알려져 있으나 사실 다 써봐야겠지
'딥러닝 > 딥러닝 기초' 카테고리의 다른 글
현실에서 고려해야하는 모델 성능평가 지표 (0) | 2024.08.19 |
---|---|
backbone model이 필요한 이유 (0) | 2024.07.06 |
딥러닝 시대의 parameter search (0) | 2024.05.30 |
결정을 기계에 맡기는 시대(deductive, inductive) (0) | 2024.05.09 |
batch normalization 개념 간단하게 (0) | 2024.04.15 |