티스토리 뷰
Intro
간단하게 intro로 Norm과 Lp-Norm의 차이를 엄밀하게 설명해보려고 한다!
딥러닝에서는 Norm이라고 지칭하면 Lp-Norm을 쓰길래 궁금하지 않으신 분들은 pass해도 될것같다!
수학에서 'Norm'이란 벡터 공간상의 함수이다. 이 함수는 다음 4개의 조건을 충족하는 함수이다.
1) $f(ax) = af(x)$
2) $f(x+y) \leq f(x) + f(y)$
3) $f(x) = 0 <=> x=0$
4) $f(x) \geq 0$
그중에서 Lp-norm이란 수많은 norm중에 하나로, 다음과 같이 정의되는 함수이다.
$\parallel x\parallel_p = (\sum_{i=1}^n | x_i \right|)^p$
Stanford cs231n강의에서 k-nearest neighbor을 설명하다가 L1, L2 distance라는 두개의 Distance Metric을 제시했다.
식도 그림도 잘 이해가 안가서 제대로 정리해보려고 한다...!
1. norm , distance
"norm"은 벡터공간에서 벡터의 크기를 재기 위해서 사용한다.
벡터의 크기를 그냥 '길이' 처럼 제곱해서 루트 씌워서 계산해도 된다고 생각했다? 그러면 이미 L2 Norm은 알고 있는 것이다!!
$$||x||_p = (\sum_{i=1}^N{|x_i|^p})^{\frac{1}{p}} $$
p=1이면 L1 norm, p=2이면 L2 norm이다.
1) L1 Norm
p=1이면
$$||x||_1 = (\sum_{i=1}^N{|x_i|}) $$
익-숙한 절댓값의 형태가 나온다.
2) L1 Distance
두 벡터의 L1 distance를 구해보자!
$ d_1 (p, q) = ||p-q|| = \sum_{i=1}^n{|p_i - q_i|}$, where $(p, q)$ are vectors $p=(p_1, ..., p_n)$ and $q=(q_1, ..., q_n) $
3) L2 norm
4) L2 Distance
평소 점 사이의 거리를 구할때처럼 구하면 된다.
5) L1 norm vs L2 norm
2. Loss
L1 Loss는 오차의 합이고, L2 Loss는 오차 제곱의 합이어서 L2가 outlinear에 더 민감하게 반응한다.
3. Regularization
거리가 같게 떨어진 점을 모았을 때 L1은 마름모꼴이, L2는 원이 나온다.
[참고자료]
https://www.youtube.com/watch?v=SxumKyzdJnI
'MachineLearning' 카테고리의 다른 글
[ML] regularization (0) | 2021.08.19 |
---|---|
[MachineLearning] chain rule, backpropagation (0) | 2021.08.12 |
[MachineLearning] Multiclass SVM loss, loss function - regularization (0) | 2021.07.26 |
[Python][numpy] flatnonzero, dot, reshape, arange, zeros_like, max (0) | 2021.07.19 |
[MachineLearning] Activation Function - Step, Sigmoid, ReLU (0) | 2021.07.13 |