기계 학습(Machine Learning)에서는 벡터의 크기를 측정할 때 노름$^{\mathsf{norm}}$이라고 불리는 함수를 이용해 측정하며, 다음과 같이 표기 및 정의한다.
\[ L^p = ||x||_p = (\sum_i |x_i|^p)^{\frac{1}{p}} \]
$p \in \mathbb{R}, p \ge 1$이다. 일반적으로 노름은 벡터를 음이 아닌 값으로 사상(mapping)하는 것이며, 벡터 $\boldsymbol{x}$의 노름은 원점에서 점 $x$까지의 거리이다. 노름은 다음과 같은 성질을 만족하는 임의의 함수이다.
- $ f(\boldsymbol{x}) = 0 \Rightarrow \boldsymbol{x} = \boldsymbol{0} $
- $ f(\boldsymbol{x} + \boldsymbol{y}) \le f(\boldsymbol{x}) + f(\boldsymbol{y}) $
- $ \forall \alpha \in \mathbb{R}, f(\alpha \boldsymbol{x}) = |\alpha|f(\boldsymbol{x}) $
우리가 가장 많이 알고 있는 노름은 유클리드 노름(Euclidean norm)이다. 맨하탄 노름 등 다양한 노름이 존재한다. 또한 두 벡터의 내적을 노름으로 표현하면 다음과 같다.
$ \boldsymbol{x}^T \boldsymbol{y} = ||x||_2 ||y||_2 cos\theta $
$\theta$는 두 벡터 간 사이 각도를 의미한다. 유클리드 노름의 원래 표기는 $||x||_2$로 하는 것이 맞지만, 기계 학습에서 자주 쓰이기 때문에 $||x||$로 표기하는 경우도 많다. 기계 학습 관련 책을 읽다가 $||x||$ 가 나오면 유클리드 노름으로 생각하면 된다.
벡터에서 크기가 가장 큰 성분의 절댓값을 의미하는 Max norm도 기계학습에서 많이 사용된다. 또한 행렬의 크기를 구할 때에는 프로베니우스 노름(Frobenius norm)을 사용하고, 단위벡터의 크기를 표현할 때에는 unit norm을 사용한다. 각 노름의 수식은 각각 다음과 같다.
- Max norm \[ ||x||_{\infty} = \max_i |x_i| \]
- Frobenius norm \[ ||A||_F = \sqrt{\sum_{i,j}A^2_{i,j}} \]
- unit norm \[ ||x||_2 = 1 \]
간혹 해밍$^{\mathsf{Hamming}}$거리를 사용하기도 하는데, 해밍거리는 두 개의 길이가 같은 문자열 사이의 거리를 측정할 때 사용하거나 길이가 같은 이진 벡터일 때 사용한다. 예를 들면 'abcdd'와 'bbcda' 가 있다고 하자. 그럼 빨간색으로 표기된 부분만 변환할 경우 두 문자는 동일하게 된다. 이때의 해밍거리는 2가 된다.
'Mathematics > Linear Algebra' 카테고리의 다른 글
[Linear Algebra] 무어-펜로즈 유사역행렬(Moore-Penrose pseudoinverse) (0) | 2022.03.05 |
---|---|
[Linear Algebra] 고윳값 분해(eigen decomposition) (0) | 2022.03.05 |
[Linear Algebra] 선형대수학 기초 용어 정리 (0) | 2022.03.05 |
[Linear Algebra] SVD(Singular Value Decomposition) (0) | 2022.02.15 |
[Linear Algebra] 선형 변환 (0) | 2021.07.21 |