[AI Math] 1. 벡터
![[AI Math] 1. 벡터](/assets/img/boostcampaitech2/cover.png)
벡터
1.1 벡터의 노름
- 벡터의 노름(norm)은 원점에서부터의 거리를 말한다.
- 다양한 형태의 노름(norm)이 존재한다.
- 노름(norm)은 임의의 차원 \(d\)에 대해 성립한다.
1.1.1 \(L_1\) 노름
- 각 성분의 변화량의 절대값을 모두 더한다.
- 좌표축을 따라 움직이는 거리
1.1.2 \(L_2\) 노름
- 피타고라스 정리를 이용해 유클리드 거리를 계산한다.
- \(L_2\) 노름은
np.linalg.norm
을 이용해도 구현 가능하다.
1.1.3 왜 다른 노름을 소개하나?
- 노름의 종류에 따라 기하학적 성질이 달라진다.
- 머신러닝에선 각 성질들이 필요할 때가 있으므로 둘 다 사용한다.
1.2 두 벡터 사이의 거리
- \(L_1\), \(L_2\) 노름을 이용해 두 벡터 사이의 거리를 계산할 수 있다.
- 두 벡터 사이의 거리를 계산할 때는 벡터의 뺄셈을 이용한다.
- 벡터 \(\mathbb{x}\)와 벡터 \(\mathbb{y}\) 사이의 거리 : \(\|\|\mathbb{y}-\mathbb{x}\|\|=\|\|\mathbb{x}-\mathbb{y}\|\|\)
1.3 두 벡터 사이의 각도
- 두 벡터 사이의 각도를 구하는 것은 \(L_2\) 노름에서만 가능하다. (\(L_1\) 노름에서는 각도를 계산할 수 없다.)
제 2 코사인 법칙에 의해 두 벡터 사이의 각도를 계산할 수 있다.
- 벡터 \(\mathbb{x}\)와 벡터 \(\mathbb{y}\) 사이의 각도
- 위 공식의 분자를 쉽계 계산하는 방법이 내적이다.
- 내적(inner product) 연산
- 내적은
np.inner
응 이용해서 계산한다.
1.4 내적을 어떻게 해석할까?
- 내적은 정사영(orthogonal projection)된 벡터의 길이와 관련 있다.
\(Proj(\mathbb{x})\) : 벡터 \(\mathbb{y}\)로 정사영된 벡터 \(\mathbb{x}\)의 그림자를 의미
\(Proj(\mathbb{x})\) 의 길이는 코사인법칙에 의해 \(\|\|\mathbb{x}\|\| cos \theta\) 와 같다.
- 내적은 정사영된 벡터의 길이를 벡터 \(\mathbb{y}\) 의 길이 \(\|\|\mathbb{y}\|\|\) 만큼 조정한 값이다.
- 내적은 두 벡터의 유사도(similarity)를 측정하는 데 사용 가능하다.