오늘은 놈(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은 이런 방식으로 길이를 측정하기 때문에 택시 놈이라고 불립니다.
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} $
우리에게 매우 익숙한 길이 계산 방법이죠?
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"
'Research > 선형대수학' 카테고리의 다른 글
[bskyvision의 선형대수학, 제3강] 행렬 (10) | 2021.02.01 |
---|---|
[bskyvision의 선형대수학, 제2강] 점곱과 길이 (0) | 2021.01.25 |
[bskyvision의 선형대수학, 제1강] 벡터와 선형결합 (6) | 2021.01.18 |
[bskyvision의 선형대수학, 제0강] 동기부여: 선형대수학 F 받았던 학생이 선형대수학을 이용해서 SCI 논문을 쓰다 (8) | 2021.01.13 |
[선형대수학] 고유값과 고유벡터의 물리적 의미는? (4) | 2019.12.23 |
[선형대수학] 헤시안(Hessian) 행렬과 극소점, 극대점, 안장점 (12) | 2019.12.11 |
[선형대수학] 가우스-요르단 소거법으로 n차 정방행렬의 역행렬 구하기 (0) | 2019.06.25 |
[선형대수학] 두 행렬의 곱을 바라보는 세 가지 관점 (6) | 2019.06.24 |