인공지능/인공지능 기초 개념

벡터의 크기와 거리(Norm and Distance)

BangPro 2024. 4. 14. 16:48
728x90

https://medium.com/@indirakrigan/vector-norms-cc12b80f5369

Data science에서 vector의 크기는 중요한 역할을 한다. Vector의 크기를 구하는 구하는 식을 Norm이라 한다.

Norm이란 벡터를 하나의 음이 아닌 수로 맵핑하는 함수이다.

L2 Norm (Euclidean Norm)

p = 2일때 Norm을 L2 norm이라 하고 다른 이름으로는 Euclidean Norm이라고도 한다.

L2 Distance

원소 별로 차의 제곱을 다 합해주고 이를 마지막에 1/2 제곱하면 즉, 루트로 감싸면 L2 distance이다.

즉, 일반적으로 생각하는 두 점 사이의 거리이다.

L1 Norm (Manhattan Norm)

p = 1일때 Norm을 L1 Norm이라 하고 다른 이름으로 Manhattan이라 한다.

위 식에서는 각 원소별로 절대값을 씌운 값의 총 합이 L1 Norm이 된다.

L1 Distance

L1 distance를 구하는 경우 식은 아래와 같다.

두 점사이 각 원소의 차이를 구한 후 절대값을 씌워서 총 합을 구하면 L1 Norm이다.

Max Norm(P = $\infty$)

p = $\infty$일때 각 좌표중에서 max의 절댓값을 가져온다.
$$ ||x||_{\infty} = max(|x_i|)

Cosine similarity

마지막으로는 코사인 유사도를 살펴보자. 코사인 유사도는 텍스트 분류, 벡터 검색등 다양한 분야에서 활용된다.

https://m.blog.naver.com/sjc02183/221866765335
https://m.blog.naver.com/sjc02183/221866765335

각도에 기반한 유사도 측정 방식으로 방향이 같으면 유사도가 높다고 판단한다.

L1 Loss vs L2 Loss

L1 norm과 L2 norm을 이용해서 Loss Function을 구성한 것이다.

Target Label : y 이고 Output vector : f(x)일때 Error : y - f(x)이고 Loss는 error의 크기이다(norm 형태)

따라서, L1-Loss와 L2-Loss를 식으로 나타내면 다음과 같다.
L1-Loss
$$ L = \sum^n_{i=1} |y_i - f(x_i)| $$
L2-Loss
$$ L = \sum^n_{i=1} ((y_i - f(x_i))^2 $$

L2-Loss 식에서 루트가 없는 이유는 미분을 용이하게 하기 위해서이다.(Gradient Descent시에 미분하는데 루트 있으면 계산량 늘어나니까)