1.1 Numpy로 벡터 생성 및 시각화하기
벡터 : 수의 나열
차원 : 벡터가 가진 원소의 수
방향 : 열 방향(높이 세워진 형태), 행 방향(평평하게 누운 형태)
수학 | 코드 | |
차원 | 벡터가 가진 원소의 수 | 벡터의 길이(length) 또는 모양(shpae) |
예시 | ex) 모든 벡터는 벡터가 가진 원소의 수(수학적 차원)에 상관없이 Numpy에서 '2차원 배열'로 간주됨. 특정 방향이 없는 수 나열은 원소 수에 상관없이 파이썬에서 1차원 배열임. |
보통 벡터에 아무런 표시가 없으면 열 방향이라고 가정함.
행 벡터의 경우에 $w^T$로 씀. 여기에서 $T$는 전치 연산을 나타냄.
▶ 벡터의 기하학적 해석
대수학적 해석 : 순서대로 나열된 수 목록
기하학적 해석 : 특정 길이(또는 크기)와 방향(또는 각도 : 양의 $x$축을 기준으로 계산)을 가진 직선
>> 벡터와 좌표는 다르지만 벡터가 원점에서 시작될 때는 일치함. 이를 기준위치라고 함.
(기준위치의 벡터는 꼬리가 원점에 있고, 머리는 기하학적 좌표를 가리킴)
1.2 벡터 연산
(1) 두 벡터의 덧셈, 뺄셈
두 벡터의 차원과 방향이 같을 때만 더하고 뺄 수 있음.
(2) 스칼라-벡터 곱셈
스칼라는 벡터나 행렬에 포함된 숫자가 아닌 수 그 자체임. $\alpha$ 또는 $\gamma$로 나타냄.
스칼라는 벡터의 방향을 바꾸지 않고, 크기만 조정함.
* 영벡터는 모든 원소가 0임. 자명한 해(설명하지 않아도 되는 명백한 해)라고도 함.
두 벡터의 평균을 구하려면, 두 벡터를 더한 뒤 스칼라 1/2을 곱하면 됨.
1.3 벡터 크기와 단위벡터
벡터의 크기(기하학적 길이 또는 노름 norm)는 벡터의 꼬리부터 머리까지의 거리임.
$||v||$로 표현. 표준 유클리드 거리 공식으로 구함.
# 배열의 차원
v = np.array([1,2,3])
v_dim = len(v)
# 기하학적 길이(크기)
v_mag = np.linalg.norm(v)
단위벡터 : 기하학적인 길이가 1인 벡터, $||v|| = 1$
$\vec{v} = \frac{1}{||v||} v$
영벡터를 제외한 모든 비단위벡터는 연관된 단위벡터를 가짐.
1.4 벡터-내적
내적(또는 점곱, 스칼라곱) : $a^Ta$, $a·b$, $<a, b>$
내적을 구하는 방법 : 두 벡터의 대응되는 원소끼리 곱한 다음, 모두 더하기.
즉, 내적은 동일한 차원의 두 벡터 사이에서만 성립함.
[수학적 정의]
$\delta = \sum^{n}_{i=1} a_{i}b_{i}$
[기하학적 정의]
$\alpha = cos(\theta_{v, w}\,||v||\,||w||)$
# 내적 함수
# v와 w는 배열
np.dot(v, w)
내적은 두 벡터 사이의 유사성 또는 매핑의 척도임.
두 변수가 서로 관련이 있을 때 내적의 크기도 큼.
두 변수 사이의 정규화된 내적을 피어슨 상관계수라고 함.
벡터 크기는 엄격하게 양수이지만 $cos(\theta)$의 값은 -1과 1사이임.
내적의 부호가 전적으로 두 벡터 사이의 기하학적 관계로 결정된다는 뜻임.
[ 중요 암기사항 ] 다음 명제들은 동치임.
1) 두 벡터가 직교한다. 2) 두 벡터는 내적이 0이다. 3) 두 벡터 사이의 각은 90˚다.
1.5 벡터-외적
외적 행렬의 각 행은 행벡터 스칼라에 대응되는 열벡터 원소를 곱한 것.
$vw^T$로 나타냄.
두 벡터는 차원이 달라도 됨.
1.6 직교벡터 분해
분해를 통해 행렬에 숨겨진 정보를 밝혀내거나 행렬을 사용하기 쉬운 형태로 만들기도 하고, 데이터를 압축하기도 함.
(예시) 42.01을 42와 0.01로 분해할 수 있음. 이 42를 소수 2, 3, 7의 곱으로 소인수 분해할 수 있음.
목표 벡터를 두 개의 벡터로 분해.
두 벡터의 합은 목표벡터가 됨.
하나의 벡터는 기준벡터와 직교하지만 다른 벡터는 기준벡터와 평행함.
'통계학, 인과추론 스터디 > 선형 대수학' 카테고리의 다른 글
선형대수학 Khan Academy | 1단원. 벡터와 공간(2) (1) | 2024.11.04 |
---|---|
선형대수학 Khan Academy | 1단원. 벡터와 공간(1) (0) | 2024.10.26 |
댓글