1. 벡터
- 벡터는 숫자를 원소로 가지는 리스트(list) 또는 배열(array)이다.
- 벡터는 공간에서 한 점을 나타냄.
- 벡터는 원점으로부터 상대적 위치를 표현.
- 벡터에 숫자를 곱해주면 길이만 변함.
- 벡터끼리 같은 모양을 가지면 덧셈, 뺄셈을 계산할 수 있음.
- 벡터끼리 같은 모양을 가지면 성분곱(Hadamard product)을 계산할 수 있음.
- 벡터의 노름(norm)은 원점에서부터의 거리를 말함.
- L1-노름은 각 성분의 변화량의 절대값을 모두 더함.
- L2-노름은 피타고라스 정리를 이용해 유클리드 거리를 계산.
*왜 다른 노름의 종류를 활용할까?
- 노름의 종류에 따라 기하학적 성질이 달라짐.
- 머신러닝에선 각 성질들이 필요할 때가 있으므로 둘다 사용.
* 노름을 이용한 두 벡터 사이의 거리와 각도
- L1,L2 - 노름을 이용해 두 벡터 사이의 거리를 계산할 수 있음.
- 두 벡터 사이의 거리를 계산할 때는 벡터의 뺄셈 이용.
- 단, 각도는 L2-노름에서만 가능. (제2 코사인 법칙)
- L2-노름을 이용해 d차원의 벡터사이의 각도를 계산할 수 있음.
- 위 식의 분자는 내적을 이용해 쉽게 구한다.
*내적은 어떻게 해석?
- 내적은 정사영(orthogonal projection)된 벡터의 길이와 관련.
- Proj(x)의 길이는 코사인법칙에 의해 x벡터 크기와 코사인세타의 곱이 됨.
- 내적은 정사영의 길이를 벡터 y의 길이만큼 조정한 값.
- 결국 내적은 두 벡터의 유사도를 측정하는데 사용 가능.
'부스트캠프 AI Tech > [Week1] AI Math' 카테고리의 다른 글
[Week1] AI Math - CNN & RNN (1) | 2021.08.06 |
---|