*본 게시글은 유튜브 '혁펜하임 | AI & 딥러닝 강의' 선대 2-4강. 벡터의 norm 쉬운 설명, '신박Ai' [Deep Learning 101] L1, L2 Regularization 자료를 참고한 점임을 알립니다.
Norm
- Norm은 벡터의 크기(또는 길이)나 두 벡터 간의 거리를 나타냅니다.
∥x∥p=(i=1∑n∣xi∣p)p1
- x는 n차원의 벡터입니다.
- p는 양수이며, 노름의 종류를 결정합니다.
1. L1 Norm
∥x∥1=i=1∑n∣xi∣
- L1 Norm은 p=1일 때의 경우입니다.
- 맨해튼 노름(Manhattan Norm) 또는 택시캡 노름(Taxicab Norm)이라고도 불립니다.
- 이는 벡터의 각 성분의 절댓값을 더한 값으로 정의됩니다.
- 주로 특성이 희소한 벡터(즉, 대부분의 성분이 0인 벡터)를 다룰 때 유용합니다.
- 머신 러닝에서 특성 선택(Feature Selection) 또는 정규화(Regularization)에 자주 사용됩니다.
2. L2 Norm
∥x∥2=(i=1∑n∣xi∣2)21=i=1∑nxi2
- L2 Norm은 p=2일 때의 경우입니다.
- 유클리드 노름(Euclidean Norm)이라고 불리며, 이는 벡터의 유클리드 거리, 즉 벡터의 각 성분을 제곱한 값들의 합의 제곱근으로 정의됩니다.
- 주로 거리 측정에서 많이 사용됩니다. 예를 들어, 두 벡터 사이의 유클리드 거리는 그 벡터들의 차이 벡터의 L2 Norm으로 계산할 수 있습니다.
- 머신 러닝에서 정규화(Regularization)에 사용되며, Ridge 회귀에서는 L2 Norm을 사용하여 계수를 규제하여 과적합을 방지합니다.
3. Infinite Norm
∥x∥∞=imax∣xi∣
- L∞ Norm은 p=∞일 때의 경우입니다.
Regularization
- Regularization은 딥러닝 및 머신러닝에서 모델의 과적합을 방지하고 일반화 성능을 향상시키기 위해 사용되는 기법입니다.
- 정규화(Regularization)는 모델의 복잡성을 제한하여 훈련 데이터에 과도하게 적합되는 것을 방지합니다. 일반적으로 L1 Regularization와 L2 Regularization 정규화가 많이 사용됩니다.
- 정규화(Regularization) 기법은 모델의 손실 함수에 추가적인 항을 추가하여 모델의 가중치에 제약을 두는 방식으로 작동합니다.
1. L1 Regularization
y^=wx+b
- 손실 함수 정의
MSE=N1j=1∑N(y^j−yj)2
(N:데이터포인트의총개수, y^j:모델의예측값, yj:실제값)
- L1 Regularization 수식 전개
L1=MSE+λ∣w∣
L1=(y^−y)2+λ∣w∣
L1=(wx+b−y)2+λ∣w∣
∂w∂L1=(1)∂w∂[(wx+b−y)2]+(2) λ∂w∂∣w∣
(1) ∂w∂[(wx+b−y)2]=2(wx+b−y)⋅x
(2) ∂w∂∣w∣={+λ−λif w>0if w<0
∂w∂L1=2(wx+b−y)⋅x+{+λ−λif w>0if w<0
w∗=w−α∂w∂L1
(α:Learning rate)
w∗=w−α(2(wx+b−y)⋅x+{+λ−λif w>0if w<0)
-
L1 Regularization는 가중치가 양수일 때는 λ를 더하고, 음수일 때는 λ를 빼는 방식으로 작용합니다. 그 결과, 일부 가중치 w는 0으로 수렴하게 됩니다. 이렇게 가중치가 0으로 수렴함으로써 모델의 희소성이 증가하게 됩니다.
-
희소성 유도: 가중치가 0이 되는 특성이 많아지면서, 모델은 불필요한 특성을 자동으로 제거하게 됩니다.
-
해석 가능성 향상: 가중치가 0이 아닌 특성만 남게 되어, 어떤 특성이 모델에 중요한지를 쉽게 파악할 수 있습니다.
-
특성 선택: L1 정규화는 자연스럽게 특성 선택의 역할을 수행하여, 모델의 성능을 향상시키고 과적합을 방지합니다.
2. L2 Regularization
y^=wx+b
MSE=N1j=1∑N(y^j−yj)2
(N:데이터포인트의총개수, y^j:모델의예측값, yj:실제값)
L2=MSE+λw2
L2=(y^−y)2+λw2
L2=(wx+b−y)2+λw2
∂w∂L2=(1)∂w∂[(wx+b−y)2]+(2) λ∂w∂w2
(1) ∂w∂[(wx+b−y)2]=2(wx+b−y)⋅x
(2) ∂w∂w2=2λw
∂w∂L2=2(wx+b−y)⋅x+2λw
w∗=w−α∂w∂L2
(α:Learning rate)
w∗=w−α(2(wx+b−y)⋅x+2λw)
-
L2 Regularization는 가중치가 클수록 그 제곱값에 비례해 가중치에 페널티를 부과합니다. 그 결과, 모든 가중치 ( w )가 0에 가깝게 작아지지만, 완전히 0이 되지는 않습니다.
-
가중치 감소: L2 Regularization는 모든 가중치를 작게 만들어 모델이 복잡해지지 않도록 합니다.
-
해석 가능성 향상: 가중치가 작아짐으로써, 과도하게 영향을 미치는 특성을 방지하고, 모델의 해석 가능성을 높입니다.
-
과적합 방지: L2 정규화는 모델의 복잡성을 줄이고, 데이터에 대한 과적합을 방지하여 더 나은 일반화 성능을 갖도록 합니다.
참고 자료