2. 선형대수 (노름)
2.5 노름 norm
종종 벡터의 크기를 측정해야 할 때가 있다. 일반적으로 기계 학습에서는 벡터의 크기를 노름 norm 이라고 부르는 함수를 이용해서 측정한다.
L^p 로 표기하는 노름의 정의는 다음과 같다.
일반적으로 노름은 벡터를 음이 아닌 값으로 사상하는 함수이다.
직관적으로 이해하지만 벡터 x 의 노름은 원점에서 점 x 까지의 거리이다. 좀 더 엄밀하게 정의하자면, 노름은 다음과 같은 성질들을 만족하는 임의의 함수 f 이다.
- f(x) = 0 → x = 0
- f(x+y) <= f(x) + f(y)
- ∀a ∈ R, f(ax) = |a|f(x)
p = 2 인 L^2 노름을 유클리드 노름이라고 부른다. 원점에서 x 에 해당하는 점까지의 유클리드 거리이다. L^2 노름은 기계 학습에서 아주 자주 쓰이기 때문에 위 첨자 2 를 생략하고 이중 수직선을 이용해서 표기하는 경우가 많다.
또한, 주어진 벡터의 크기를 제곱노름으로 측정하는 경우도 흔한다.
L^2 노름 자체보다 제곱 L^2 노름이 수학적으로나 계산에서나 다루기 편하다.
예를 들어 x 의 각 성분에 대한 제곱 L^2 노름의 각 미분은 오직 x 의 해당 성분에만 의존하지만 L^2 노름의 모든 미분은 벡터 전체에 의존한다.
많은 경우 제곱 L^2 노름은 원점 부근에서 아주 느리게 증가하기 때문에 바람직하지 않다.
기계 학습 응용 중에는 정확히 0과 같은 성분과 작지만 0이 아닌 성분을 구분하는 것이 중요한 것들이 많다.
그런 경우에는 수학적인 단순함을 유지하면서도 모든 장소에서 같은 비율로 증가하는 또 다른 노름 함수를 사용한다 L^1 노름이 바로 그것이다.
0과 0이 아닌 성분의 차이가 아주 중요한 기계 학습 응용에 흔히쓰인다.
기계 학습에 흔히 쓰이는 또 다른 노름으로 L^INF 노름이 있다. 이것을 최대 노름이라고 부르기도 한다. 이 노름은 벡터에서 크기가 가장 큰 성분의 절댓값이다.
또한 행렬의 크기를 구해야 할 때도 있다. 심층 학습의 맥락에서 가장 흔히 쓰이는 행렬 크기는 프로베니우스 노름이다. 이 놀므은 벡터의 L^2 노름과 비슷하다.
두 벡터의 내적을 노름으로 다음처럼 표현할 수 있다.