2021. 12. 2. 04:02ㆍrequirement fot AI/기초 수학 (AI)
벡터는 숫자를 원소로 가지는 리스트 또는 배열이다.



열벡터와 행벡터의 차이는 세로로 두냐. 가로로 두냐.의 차이.
보통은 행벡터를 기준으로 표현을 합니다.
벡터는 공간에서 한 점을 나타낸다.



인공지능에서는 훨씬 많은 차원 (n차원)을 다루게 됨. vector는 하나의 점임을 기억하자.
즉 벡터는 공간에서의 한 점. 원점으로부터 상대적 위치를 표현한다. (원점으로부터 화살표)

벡터에 숫자(스칼라)를 곱해주는 것을 스칼라곱이라고 한다.
주어진 벡터의 길이를 스칼라의 길이에 따라 변환시키는 것.

1. 스칼라가 1보다 크면 길이가 늘어남
2. 스칼라가 1보다 작다면 길이가 줄어듬
3. 스칼라가 음수라면 길이가 반대 방향을 가르킴.
벡터끼리 같은 모양을 가지면 덧셈, 뺄셈, 곱셈을 계산할 수 있습니다.

서로 매칭되는 구성성분의 연산(덧셈, 뺄셈)을 진행한다. 서로 다른 모습이면 덧셈 뺄셈이 불가능하다.

위 연산과 동일하게 진행된다.
벡터의 덧셈
두 벡터의 덧셈은 다른 벡터로부터 상대적 위치이동을 표현합니다.

아무것도 더하지 않았을 때 x벡터의 모습

x벡터와 y벡터의 합은 x벡터의 원점을 y로 옮기는 것!

x벡터와 y벡터의 뺄셈은 원점 y로 부터 -x를 더한 것!
벡터의 노름(norm)은 원점에서부터의 거리를 말한다.


노름이라는 기호는 임의의 차원 d에서 성립함. 차원의 개수와 상관없이 계산을 할 수가 있다.

L1 노름이라고 부름. L1 노름은 각 성분의 변화량의 절대값을 모두 더한다.
절대값을 모두 더한다는 것, 즉 L1은 각 좌표축을 따라 이동하는 거리를 나타냄.

예를 들어 2차원 좌표평면(x, y)에서는 x축을 따라서 이동하는 x1의 절대값. y을 따라서 이동하는 x2의 절대값의 합.

L2 노름은 피타고라스 정리를 이용해 유클리드 거리를 계산한다!

L2 노름은 원점에서 x라는 벡터로 바로 연결되는 선의 거리를 의미
2차원 뿐만이 아니라 임의의 차원 d에 대해서도 사용이 가능!

L1 노름을 구할 때 x를 절대 값(np.abs())으로 바꿔주고 더해주면(np.sum()) 됨!
L2 노름을 구할 때는 제곱(x*x)을 해주고 더해주고(np.sum()) 루트(np.sqrt)를 씌워준다.

왜 다른 노름을 소개합니까?
노름의 종류에 따라 기학적 성질이 달라진다.

머신러닝은 이 다른 성질을 이용하여 학습 방법이나 정규화를 할 때 응용을 할 수 있다.
각 기계학습에서 목적에 따라 어떤 노름을 사용할 지 정함.
그 방법들은 노름의 기하학적 성질에 의존하기 때문에 이해해야 함!
두 벡터 사이의 거리를 구해보자. (두 점사이의 거리를 계산.)

L1, L2노름을 사용하면, 두 벡터 사이의 거리를 계산할 수 있다. 계산할 때는 벡터의 뺄셈을 이용한다!
x와 y의 뺄셈은 y와 -x의 합이라는 의미이다. 즉 원점 y에서 -x를 이동한 값.
x와 y의 거리는 y와 y-x의 거리와 같다.

두 벡터 사이의 각도도 계산할 수 있을까?

각도를 계산하는 것은 L2 노름만 가능하다.

제 2 코사인 법칙의 공식을 이용해서 각도를 계산한다. (분자를 쉽게 계산하려면? 내적을 이용)

내적은 두 벡터들의 연산들의 성분곱을 취한 벡터들의 모든 성분을 전부 더해주는 연산.
분모는 x벡터의 거리와 y벡터의 거리의 곱 (L2노름)으로 표현이 되는 것. 분자는 x벡터와 y벡터의 내적으로 정의됨.

numpy를 이용해 각도를 구하는 코드.
inner함수로 분자를 구하고, l2 노름을 구하고 두 벡터의 노름의 곱으로 분모를 구하면 cos 세타의 값을 구할 수 있음.
arccos함수 (cos의 역을 구해준다.)을 이용하면 두 벡터 사이의 각도를 계산할 수 있다.
임의의 d차원에서 항상 각도를 계산할 수 있다. (거리도 동일)
내적은 어떻게 해석할까?
정사영(orthogonal projection)이라는 개념을 알아야 함.


프로젝션된 새로운 벡터 (Proj(x))의 길이는
x의 노름과 위에서 계산한 코사인 세타의 값을 곱한 것과 같음.
그렇다면 다시 내적은 뭘까?

내적은 정사영의 길이를 y의 노름(벡터 y의 길이)만큼 조정(곱)한 값이다.
두 벡터의 유사도를 계산할 때 두 벡터의 내적을 계산함으로써 유사도를 측정할 수 있다.
각도를 계산할 때 내적이 필요. 이 각도를 측정하여 유사도를 측정하는 것 같다 (얼마나 비슷한 방향으로 가는지)
'requirement fot AI > 기초 수학 (AI)' 카테고리의 다른 글
| 통계 : p-value (0) | 2021.12.08 |
|---|---|
| 통계 : ABtest (0) | 2021.12.08 |
| 통계 : 의사결정나무 (0) | 2021.12.08 |
| 통계 : 심슨의 역설 (0) | 2021.12.08 |
| 1. 딥러닝 기본 용어 설명 (0) | 2021.12.01 |