728x90
Norm
- 벡터의 크기(길이) 를 측정하는 방법이다. (두 벡터 사이의 거리를 측정하는 방법)
L1 Norm
$$ d_{1}(p,q) = ||p-q||_{1} $$
p = (1, -2, 3) q = (5, 6, -7) 일때, L1 Norm은
|1-5| + |-2-6| + |3 - ( - 7 )| = 22
L2 Norm
$$ ||x||_{2} := \sqrt{ x^{2}_{1}+ \ldots +x^{2}_{n}} $$
- 벡터의 유클리디안 거리(직선 거리)
- L2는 항상 초록색 결과가 나온다. Unique한 값
- L1은 빨간색, 파란색, 노란색 등 특정 Feature 없이도 같은 값을 낼 수 있다.
L1, L2 loss
- L1 loss 는 실제값과 예측값 사이의 오차의 절대값 합
- L2 loss 는 실제값과 예측값 사이이 오차 제곱 합
- L2가 오차를 제곱하여 더하기 때문에 Outlier에 더욱 민감하게 반응함
- Outlier가 중요하다면 L2를 쓰는 것이 좋음
규제, 정규화 Regularization
- parameter의 값을 줄여 모델의 차수를 낮추는 방법
- Outlier의 영향을 덜 받게 함
수식
L2
$$ J( \theta ) = \frac{1}{2m}[ \sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^{2}+ \lambda \sum_{j=1}^n \theta ^{2}_{j} ] $$
$$ \lambda \sum_{j=1}^n \theta ^{2}_{j} $$
이 부분이 penalty 부분이고 \( \lambda \)는 regularization parameter이다
- \( \lambda \) 값을 높이면 Underfitting이 발생할 수 있고
- \( \lambda \) 값을 낮추면 Overfitting이 개선 안될 수 있다
- 가중치가 업데이트 되지만 원점으로 한번 땡겨진 후 업데이트 됨
L1
$$ J( \theta ) = \frac{1}{2m}[ \sum_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^{2}+ \lambda \sum_{j=1}^n |\theta_{j}| ] $$
$$ \lambda \sum_{j=1}^n |\theta_{j}| $$
- 가중치의 값이 크든 작든 공평하게 다룸 -> 작은 가중치 값을 0으로 만듦
- \( \theta opt \) : 빨간 그래프
- 에러가 커질수록 빨간 그래프의 크기가 커짐
- 가운데로 다가갈 수록 overfitting 발생
- 이를 막기 위해 규제 사용
- L1 Norm은 뾰족한 모양을 하고 있기에 가중치 값이 0이 될 확률이 높다
- L2 Norm은 원 모양을 하고있기에 가중치 값이 0이 될 확률이 낮다
https://mole-starseeker.tistory.com/34
728x90
'Machine Learning > 이론' 카테고리의 다른 글
[ML] 회귀 분석 (Regression Analysis) (0) | 2022.08.27 |
---|---|
[ML] 교차 검증 Cross Validatoin (0) | 2022.08.22 |
[ML] Overfitting 막는 방법 (0) | 2022.08.17 |
머신러닝 Machine Learning Bias, Variance (0) | 2022.08.17 |
[ML] Overfitting, Underfitting (0) | 2022.08.17 |