2020-06-25 18:52:06

오늘은 놈(norm)에 대해 설명을 드리고자 합니다. 놈은 노름으로 발음하기도 하는데 둘다 어감이 좀 그렇죠? 선형대수학에서 놈은 벡터의 크기(magnitude) 또는 길이(length)를 측정하는 방법을 의미합니다. 선형대수학이 낯선 분들이 처음에 헷갈려하시는 것이 있는데 차원(dimension)과 길이(length)는 분명히 다릅니다. 다음과 같은 벡터가 있다고 가정해보겠습니다.

 

$x = \begin{bmatrix}
1\\ 
1\\ 
1
\end{bmatrix}$

 

이 벡터의 차원은 3입니다. 길이가 3인 것이 아닙니다. 차원이 3이라는 것은 3차원 공간에 이 벡터를 그릴 수 있다는 것입니다.

 

 

벡터의 길이를 구하는 것은 바로 오늘 다룰 놈을 통해 할 수 있습니다. 놈에는 $L_1$ norm, $L_2$ norm, $L_\infty$ norm과 같이 다양한 종류가 있습니다. 하나씩 차근차근히 살펴보겠습니다. 

 

1. $L_1$ norm

벡터의 크기는 $L_1$ norm을 통해서 계산할 수 있습니다. $L_1$ norm은 맨해튼 놈(Manhattan norm) 또는 택시 놈(Taxicab norm)이라고 불려지기도 합니다. $L_1$ norm은 벡터의 모든 성분의 절대값을 더합니다. 만약에 다음과 같은 2차원 벡터가 있다면,

 

$x = \begin{bmatrix}
2\\ 
3
\end{bmatrix}$

 

이 벡터의 $L_1$ norm은 5이 됩니다. 

 

$ \left \| x \right \|_1 = \left | 2 \right | + \left | 3 \right | = 5 $

 

여기에 표기한 것처럼 $L_1$ norm은 $\left \| * \right \|_1$로 씁니다. 여기서 왜 택시 놈이라고 불리는지 한번 생각해봅시다. 원점(0, 0)에서 (2, 3)까지 택시를 타고 가려면 어떤 길로 가더라도 가장 빠르게 갈 수 있는 거리는 5입니다. $L_1$ norm은 이런 방식으로 길이를 측정하기 때문에 택시 놈이라고 불립니다.  

 

$L_1$ norm

 

2. $L_2$ norm

$L_2$ norm은 출발점에서 도착점까지의 거리를 직선거리로 측정합니다. $\left \| * \right \|_2$로 표현하고, 유클리드 놈(Euclidean norm)이라고 불리기도 합니다. $L_2$ norm은 다음과 같이 계산합니다. 

 

$ \left \| x \right \|_2 = \sqrt{(2)^2 + (3)^2} = \sqrt{13} $

 

우리에게 매우 익숙한 길이 계산 방법이죠? 

 

 

$L_2$ norm

 

3. $L_\infty$ norm

$L_\infty$ norm은 벡터 성분들의 절대값 중에서 가장 큰 값으로 계산되어집니다. 이 친구는 최대 놈(max norm)이라고 불리기도 합니다. 만약

 

$x = \begin{bmatrix}
4\\ 
-3\\ 
7
\end{bmatrix}$

 

라면, 

 

$\left \| x \right \|_\infty= 7$

 

이 되는 것이죠. 보시는 것처럼 $L_\infty$ norm은 $\left \| * \right \|_\infty$으로 표기합니다. 

 

(4. $L_0$ norm)

마지막으로 $L_0$ norm은 벡터의 성분 중에서 0이 아닌 것의 갯수로 계산합니다. 만약

 

$ x = \begin{bmatrix}-3\\0\\2\\0\end{bmatrix} $

 

이라면,

 

$\left \| x \right \|_0 = 2$

 

입니다.

 

하지만 $L_0$ norm 은 사실 놈이 아닙니다. 왜냐하면 놈이 되기 위한 기본 조건을 만족시키지 못하기 때문입니다. 놈이 되기 위한 기본 조건은 아래 세가지입니다.

 

1) $\left \| x \right \| \geq 0$이고, x = 0일 때만 $\left \| x \right \|=0$이다.

2) $\left \| ax \right \|=|a|\left \| x \right \|$

3) $\left \| x + y \right \| \leq \left \| x \right \| + \left \| y \right \|$

 

이 기본 조건을 만족시키지 못하는 반례를 하나 들어보겠습니다. 

 

$ x = \begin{bmatrix}
-2 \\ 
0 \\ 
2
\end{bmatrix}$

 

인 경우를 생각해보겠습니다. 이 벡터는 두번째 조건을 만족시키지 못합니다. 왜냐하면

 

$\left \| 2x \right \|_0 = 2$

 

이지만,

 

$2\left \| x \right \|_0 = 4$

 

이기 때문입니다. 

 

놈은 머신러닝에서도 중요하게 쓰이는 개념입니다. 선형대수학과 머신러닝은 정말 밀접한 관계를 갖고 있으니, 머신러닝을 공부하시는 분들은 꼭 선형대수학을 시간날때 공부하시기 바랍니다. 

 

 

관련 글

[1] 선형 회귀(linear regression) 그리고 라쏘(Lasso)

 

참고자료

[1] https://medium.com/@montjoile/l0-norm-l1-norm-l2-norm-l-infinity-norm-7a7d18a4f40c, Sara Iris Garcia, "L0 Norm, L1 Norm, N2 Norm & L-Infinity Norm"

[2] https://machinelearningmastery.com/vector-norms-machine-learning/, Jason Brownlee, "Gentle introduction to Vector Norms in Machine Learning"

[3] https://rorasa.wordpress.com/2012/05/13/l0-norm-l1-norm-l2-norm-l-infinity-norm/, Rorasa's blog, "l0-Norm, l1-Norm, l2-Norm, ... , l-infinity Norm"