본문 바로가기

카테고리 없음

[Math] Vector Norm의 종류와 중요성


벡터는 세상의 다양한 값들을 나타내는데 유용하게 사용됩니다. 단순하게 나타낼뿐만 아니라 값들의 연관성을 파악하는데도 유용하게 사용될 수 있는데, Norm은 그러한 연관성을 나타내는데 유용합니다.

 


Vector

 

 

 

 

 

 

 

 

 

예를 들어서 (키, 몸무게)로 벡터를 표현한다면, (180, 70) 과 (164, 50)으로 나타낼 수 있고 두 벡터의 차이는 두 사람의 키, 몸무게에 대한 전체적인 차이를 나타내게 됩니다. 

 

(180-164, 70-50) = (26, 20)이 됩니다. 그러면 이 차이에 대해서 이를 어떻게 수치화 할 수 있을까요?

단순하게 키로만 한다면 26, 몸무게로 한다면 20이 됩니다. 혹은 두 개를 평균내서 23이 두 벡터의 차이에 대한 수치화라고 이야기할 수 있습니다.  Norm 은 이러한 차이를 나타내는 방법으로 사용될 수 있습니다. 

 

일반적은 차이에 대한 벡터를 (r1, r2) 라고 했을 때, 다음과 같이 5가지 방법으로 차이를 수치화할 수 있습니다.

(물론 더 많은 방법이 있겠죠!)

 

이 중에서 2번은 단순하게 두 값을 더하는 것인데, 음수값이 있다면 (-20, 20) 벡터는 0이 되므로 사용하기 껄끄럽습니다. 


Norm

 

다음 x 벡터가 있다고 합시다. 

L-1 norm

 

먼저 L-1 norm은 각 원소들에 대해서 절대값을 취하고 더한 값 입니다. 

L-2 norm

 

L-2 norm은 제곱을 해서 더하고 루트를 씌운 것 입니다. 피타고라스 정리와 느낌이 비슷합니다. 

 

L-p norm

 

L-2 norm은 제곱을 하고 1/2승을 합니다. 이를 일반적은 p승을 하고 1/p을 한 게  L-p norm 입니다. 

Maximum norm (Infinity norm)

 

Maximum norm 은 L-p norm에서 p를 무한대로 보내면 얻어지는 값 입니다. 이 값은 원소들의 절대값에서 가장 큰 값을 뽑은 것과 일치합니다. 

 

Example

다음 X 벡터를 가지고 Norm을 계산한 값을 확인해보시면 Norm에 따라서 다른 값을 가짐을 알 수 있습니다. 

 


차이가 뭐야?

 

Norm에 따라서 어떠한 차이를 보이는지 보기 전에 공통점을 살펴보겠습니다. 모든 norm은 원소에 절대값을 씌우기 때문에 항상 0보다 크거나 같습니다. 그렇다면 Norm의 최소값은 0이 됩니다. 처음 인트로에서 벡터의 차이에 대해서 이야기를 했습니다. 만일 우리가 두 벡터의 차이를 생각한다면, 차이가 0이 되는 게 제일 좋겠죠. 따라서 0 근처에서 Norm이 어떻게 생기는지 보겠습니다. 

마법진처럼 생긴 이 그림이 나타내는 것은 norm = 1 이 되는 Vector의 위치입니다. 

 

  • L1 norm은 원점에서 다이아몬드 형태의 점에 대한 벡터가 Norm = 1 이 되고
  • L2 norm은 원점에서 원 위의 점에 대한 벡터가 Norm = 1 이 되며
  • L max 는 원점에서 정사각형 위의 점에 대한 벡터가 Norm = 1 이 됩니다. 

 

따라서 만일 벡터가 동일한 색깔에 위치하게 된다면, 벡터의 Norm 값은 동일합니다. 

 


아래 그림처럼 벡터가 Gaussian 분포로 데이터가 분홍색 점 주변에 분포되어 있다면 형광색으로 칠해진 부분의 벡터는 모두 동일한 Norm을 가지게 되겠죠?

 

 

 

 

여기서 Maximum Norm으로 중앙을 지나가게 그린다면, 빨간선과 분홍선이 겹치는 점의 벡터(노란색 형광팬) 는 모두 같은 Norm을 지니게 됩니다. 

 


벡터를 측정하는 Norm에 대해서 알아봤습니다. 벡터와 비슷한 형태 중에 Matrix가 있는데, Matrix 또한 Norm을 생각할 수 있습니다. 이에 대해서는 다음에 알아보도록 하겠습니다~

 

질문은 댓글을 통해서 해주세요 :)