Python/Python 딥러닝

L1 L2 Norm의 세계: 맨해튼부터 유클리드, 무한대까지

Codezoy 2024. 1. 20. 21:07

Norms의 역사

  1. 벡터 공간과 초기 개념 (19세기 말 - 20세기 초): 벡터 공간의 개념은 19세기 말에 발전하기 시작했습니다. Giuseppe Peano (1858–1932)는 벡터의 개념을 수학적으로 엄밀하게 정의했으며, 이는 나중에 Norm을 정의하는 데 중요한 기초가 되었습니다.
  2. 함수해석학의 발전 (20세기 초): Norm의 현대적 정의는 20세기 초 함수해석학의 발전과 함께 등장했습니다. 이 시기에 David Hilbert, Frigyes Riesz, Stefan Banach 등의 수학자들이 중요한 역할을 했습니다. 이들은 벡터 공간의 개념을 확장하고, Norm과 더불어 내적(inner product)의 개념을 도입했습니다.
  3. 노름화된 공간과 Banach 공간 (20세기 초 - 중반): Norm이 정의된 공간을 '노름화된 공간(normed space)'라고 합니다. Stefan Banach은 이러한 공간의 성질을 체계적으로 연구했으며, 완비성(completeness)의 개념을 도입하여 'Banach 공간'이라는 중요한 클래스를 정의했습니다.
  4. 응용 분야의 확장 (20세기 중반 - 현재): Norm의 개념은 공학, 물리학, 컴퓨터 과학 등의 분야에서 중요한 도구로 사용되기 시작했습니다. 특히, 최적화 이론, 머신 러닝, 신호 처리 등에서 Norm은 데이터의 크기나 거리를 측정하는 데 필수적인 요소가 되었습니다.



1. L1 Norm (맨해튼 Norm 또는 Taxicab Norm)

  • L1 Norm은 벡터의 각 요소의 절대값의 합으로 정의됩니다. 이는 격자와 같은 경로를 따라 두 점 사이의 거리를 측정하는 데 사용됩니다.

$$ \|x\|_1 = \sum_{i=1}^{n} |x_i| $$

$$예를\ 들어,\ 두\ 점\ (x_1,\ y_1)과\ (x_2,\ y_2)\ 사이의\ L1\ Norm은\ |x_1 - x_2|\ +\ |y_1 - y_2|로\ 계산됩니다.$$


2. L2 Norm (유클리드 Norm)

  • L2 Norm은 벡터 요소의 제곱 합의 제곱근으로, 전통적인 '직선 거리'를 나타냅니다.

$$ \|x\|_2 = \sqrt{\sum_{i=1}^{n} x_i^2} $$

$$두\ 점\ (x_1,\ y_1)과\ \ (x_2,\ y_2)\ 사이의\ L2\ Norm은\ \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2}로\ 계산됩니다.$$



3. L3 Norm (유클리드의 세제곱 Norm)

  • L3 Norm은 벡터 요소의 세제곱 합의 세제곱근으로 정의됩니다. 이는 벡터 요소들의 크기를 더 강조하기 위해 세제곱을 사용합니다.

$$ \|x\|_3 = \sqrt[3]{\sum_{i=1}^{n} |x_i|^3} $$

$$예를\ 들어,\ 3차원\ 벡터\ x\ =\ (x_1, x_2, x_3)의\ 경우, L3\ Norm은 \sqrt[3]{|x_1|^3 + |x_2|^3 + |x_3|^3}로 \ 계산됩니다.$$

 

  • L3 Norm은 벡터 요소의 세제곱 합의 세제곱근으로 정의됩니다. 이는 벡터 요소들의 크기를 더 강조하기 위해 세제곱을 사용합니다.
  • L3 Norm은 특정 응용 분야에서 벡터의 요소 간 차이를 더욱 강조할 필요가 있을 때 유용합니다. - 그러나 일반적인 데이터 분석이나 기계 학습에서는 L1 Norm과 L2 Norm이 더 자주 사용됩니다.

 

4. 무한대 Norm (L∞ Norm 또는 Maximum Norm)

  • 무한대 Norm은 벡터의 모든 요소 중 절대값이 가장 큰 요소로 정의됩니다. 이는 벡터의 모든 요소 중 최대치를 나타냅니다.

 

$$|x|_\infty = \max_i |x_i|$$

 

 

  • 이 Norm은 벡터의 모든 요소 중 가장 큰 값의 절대값을 Norm 값으로 갖습니다.