벡터의 크기와 거리(Norm and Distance)
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
마지막으로는 코사인 유사도를 살펴보자. 코사인 유사도는 텍스트 분류, 벡터 검색등 다양한 분야에서 활용된다.
각도에 기반한 유사도 측정 방식으로 방향이 같으면 유사도가 높다고 판단한다.
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시에 미분하는데 루트 있으면 계산량 늘어나니까)