bskyvision RSS 태그 관리 글쓰기 방명록
2020-06-25 18:52:06
728x90

오늘은 놈(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$

 

이기 때문입니다. 

 

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

 

 

bskyvision의 추천글 ☞

선형 회귀(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"

태그 : , ,
댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


  1. BlogIcon Steve@2020.11.14 17:31 ~$ 스카이비전님 놈을 정말 쉽게 잘 설명해주셨네요! 감사하빈다!
    머신러닝/딥러닝 학습을 시작할때마다 등장하는 norm이란 개념이 항상 어렵게 다가왔었는데요. 이제 알 것같습니다...!

    앞으로 선형대수 공부하면서 모르는 내용이 있다면 많이 참조할게요ㅎㅎ [댓글주소]  [수정/삭제]  [답글작성]
  2. BlogIcon 조희진@2021.04.04 13:48 ~$ 세상에...norm 진짜 안 와닿았었는데 저 그림 비유로 보니까 이제 어떻게 쓰는지 알겠네요. 사이트 너무 신기해요 ㅋㅋㅋ 하단에 ROOT뭐얔ㅋㅋㅋ 너무 감사합니다!! 자주 들어올게요! [댓글주소]  [수정/삭제]  [답글작성]
  3. BlogIcon 꼬장스카이비전@2021.04.06 09:15 ~$ 비스카이비전놈 이놈! [댓글주소]  [수정/삭제]  [답글작성]
  4. ㄴㅇㄱ@2021.10.13 22:25 ~$ 와 진짜 이 글 널리 퍼트리고 싶네요 ㅋㅋㅋㅋㅋ Norm이 대체 뭘까 계속 헷갈렸는데 Norm의 왜 쓰이는지 그 이유와 함께 설명해주시니 바로 이해했네요 :) [댓글주소]  [수정/삭제]  [답글작성]
  5. Wonjun@2021.10.14 11:29 ~$ 안녕하세요! 쉽게 설명해주셔서 감사합니다.
    저는 연변대학교는 아니지만 옆에 연변과기대 21년도에 졸업하고 한국 대학원에서 AI 전공하고 있습니다!
    많이 배우겠습니다 ㅎㅎㅎ [댓글주소]  [수정/삭제]  [답글작성]
  6. JeonBongdal@2021.10.18 01:32 ~$ AI에 관심이 많은 고등학생입니다! norm이 벡터의 크기 또는 길이를 나타낸다 해주셨는데, 몇 가지 이해가 되지 않는 것이 있어 질문드립니다.
    1. L1norm이 나타내는 벡터의 크기는 유클리드공간에서의 벡터의 크기 이외의 또다른 벡터의 크기를 정의하는 방식인가요?
    2. 1번의 예상이 맞다면, L1norm은 어느 공간에서 정의되는 벡터의 크기를 나타내는 것인가요? 혹시 공간에서는 정의를 하지 않는 수학적 트릭인가요? [댓글주소]  [수정/삭제]  [답글작성]
guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.