놈이란?
놈은 벡터의 크기를 나타내는 양입니다. 크기 또는 길이라고도 합니다.
$$ \parallel v \parallel _p = ( \sum_{i=1}^n |v_i|^p )^ \frac{1}{p} $$
수식은 위와 같습니다. 위의 p 값에 1이 들어가면 L1, 2가 들어가면 L2 라고 합니다. 인공지능에서는 주로 1,2가 사용됩니다.
1. L1
위의 수식에 1을 넣어보겠습니다.
$$\parallel v \parallel _1 = \sum_{i=1}^n |v_i|$$
$$=|v_1|+|v_2|+|v_3|+...+|v_n|$$
단순히 벡터 성분들을 더해주면 됩니다. 정말 쉽죠?
2. L2
위의 수식에 2를 넣어보겠습니다.
$$\parallel v \parallel _2 = ( \sum_{i=1}^n |v_i|^2 )^ \frac{1}{2}$$
$$= \sqrt[]{v_1^2+v_2^2+v_3^2...+v_n^2} $$
각 벡터 성분의 제곱을 루트씌워주시면 됩니다. 어디서 많이 본 식이지 않나요?
바로 길이를 구하는 수식과 동일하죠!
L1과 L2의 차이
그림으로 간단하게 말씀드리자면, L1은 바로 위에 있는 빨간색, 파란색, 노란색과 같습니다. 즉, 격자무늬로 갈 수 있는 가장 최단 거리라고 생각하시면 됩니다. L2는 초록색을 뜻하며, 격자무늬가 아닌 두 점의 최단거리라고 생각하시면 되겠습니다.
단위벡터
위에서 나온 놈(노름)이 1인 경우를 단위벡터라고 합니다. 즉, 크기가 항상 1이 되는 벡터라고 생각하시면 됩니다.
단위벡터를 만드는 방법은 벡터의 성분을 위에서 나왔던 L1, L2 수식 값으로 나누어주면 됩니다. (이는 v햇이라고 합니다)
$$ \hat{v} = \frac{v}{\parallel v \parallel_p} $$
예를 들어 v=(2,1)을 L2놈으로 나타낼 경우 수식은 아래와 같습니다.
$$\parallel v \parallel_2=\sqrt[]{2^2+1^2}=\sqrt[]{5}$$
$$\hat{v} = (\frac{2}{\sqrt[]{5}},\frac{1}{\sqrt[]{5}})$$
아래 나온 v햇의 크기를 한번 구해보시면 1이된다는 것을 알 수 있습니다.