Norm
- Normalization 의 약자가 아님.
- $\rVert x_p \lVert = \sqrt[p]{\sum_{i}\mid x_i\mid^p}\;where\; p\in\mathbb{R}$
- 해당 공식에서 $p$는 차수를 의미하며 $p$가 1 이면
L1 Norm
이고 $p$가 2 이면L2 Norm
이다. - $p = 1$ 일 때 그래프를 그려보면 마름모꼴이 되고 $p = 2$ 의 그래프는 원이다가 그 이후 $p$가 커질수록 점점 사각형에 가까운 형태가 된다.
- 해당 공식에서 $p$는 차수를 의미하며 $p$가 1 이면
- 공간 상에서 벡터 (Vector) 의 총 길이를 나타낸다.
- 원점 $O$ 으로부터의 벡터 거리 혹은 크기
- 일반적으로
L0 Norm
,L1 Norm
,L2 Norm
등이 존재한다.
L0 Norm
- 실제로는
Norm
이 아님. - 벡터의
0
이 아닌 요소의 총 갯수.- $\overrightarrow{V}(0, 0)$ 의 경우 는 $0$.
- $\overrightarrow{V}(0, 1)$ 의 경우는 $1$.
- $\overrightarrow{V}(0, 2)$의 경우는 $1$.
- 벡터의 요소 중 $0$이 아닌 갯수는 $2$ 하나이므로
L0 Norm
은 $1$이다.
- 벡터의 요소 중 $0$이 아닌 갯수는 $2$ 하나이므로
L1 Norm
- 맨하탄 거리.
- 벡터 요소에 대한 절댓값의 합.
- 요소의 값에 대한 변화를 파악할 수 있다.
- 이상치에 대한 영향을 크게 받지 않는다.
L1 regulization
과computer vision
분야에 주로 사용 된다.- Lasso 회귀에서 loss 값을 규제하는 방법으로 많이 사용한다.
1
2
3
4
5
6
import numpy as np
u = np.array([3, -4])
print(np.abs(u).sum())
# 7
L2 Norm
- 유클리디안 거리.
- 각 성분의 제곱의 합을 루트로 씌워준 값.
- 한 지점에서 다른 지점으로 갈 때의 가장 짧은 거리를 측정.
L2 regulization
,KNN algorithm
,K-means algorithm
등에 주로 사용 된다.- 라플라스 근사와 Ridge 회귀 방법에서 사용한다.
- 가장 많이 사용 되지만 결과값이 왜곡 될 가능성이 존재한다.
- 값을 제곱해서 더해주기 때문에 분포에서 벗어난 값이 커져 전체에 영향을 주는 경우가 많이 발생하기 때문이다.
1
2
3
4
5
6
import numpy as np
u = np.array([3, -4])
print(np.linalg.norm(u))
# 5.0
L-infinity Norm
- 벡터에서 가장 큰 요소를 선택한다.
- $X = [-6, 4, 2]$인 경우
L-infinity Norm
은 가장 절대값이 큰 값인 $6$이 된다.