티스토리 뷰
벡터 미적분학을 위한 '기초' 벡터 관련지식 정리(1) - norm, vector distance, inner product, 코시슈바르츠 부등식, orthogonal projection
벼랑끝과학자 2023. 10. 19. 00:181. p-차 놈 (Norm)
일단 어이가 없지만 |A|는 ||A||와 같은 말이다. 이것 때문에 다시 공부할때 약간 혼동이 오더라
: Norm은 벡터공간에서 벡터의 '크기'를 측정하는 척도로 생각하자.
우리가 알고있는 2차원 공간상의 Euclidian distance가 바로 2차 놈이다.
p-차 놈의 정의는 다음과 같이 내린다.
$$||x||_p = \{\sum_i^k(x_{i})^p\}^\frac{1}{p}$$
보통은 1차놈은 벡터 요소들의 절댓값의 합이고 2차놈은 Euclidian distance가 된다.
그 외 3차부터는 거의 사용하지 않는다. 예외로 무한차원의 놈을 사용하는데 딱히 실용적인 부분으로는 어디에 쓰이는지 기억이 가물가물한데 딱히 사용된 적이 없던것으로 보아 실무적인 부분에서 알 필요 없나보니 패스한다.
보통 ||x|| 형태로 아래첨자 p가 생략된 경우 2차 놈을 이야기한다. x = [1, 2, 3]일 때 ||x||를 구하면 다음과 같다.
$$||\vec{x}|| = \sqrt{1^2+2^2+3^2} = \sqrt{14}$$
일반화하면 다음과 같다. a = [a1, a2, ... ,an]일때 벡터 a의 2차 놈을 구하는 공식은 다음과 같다.
$$||\vec{a}|| = \sqrt{a_1^2 + a_2^2 + a_3^2...+a_n^2}$$
Vector Distance
그럼 두 벡터간의 거리(distance)는 어떻게 구하나? 다시 이 그림을 보자
벡터 A를 시작으로, 벡터 B를 끝점으로 하는 벡터를 구하면 B - A가 되는 것은 기본적인 벡터 사칙연산의 성질이다. 두 벡터의 distance는 간단하게 ||B - A||값으로 구해주면 된다.
2. 내적 (Inner product = Dot product = Scalar product)
: 내적은 무엇인가? 나는 사실 아직까지도 내적의 정확한 의미를 모르겠다.
일단 내적은 두 벡터간의 벡터 공간상의 각도와 두 벡터의 크기를 고려한 Saclar Value를 생성하는 연산으로 알아두자.
기하학적으로 내적은 두 벡터 사이의 유용한 관계를 설명하며, 벡터와 벡터 사이의 상대적인 위치 및 방향을 이해하는 데 도움이 된다.
- 내적의 크기 : 내적 결과로 나오는 값은 A벡터를 B벡터 방향으로 얼마나 투영했는지를 나타내는 척도
- 내적의 부호 : 내적의 부호가 양수이면 두 벡터는 같은 방향, 내적의 부호가 음수이면 두 벡터는 다른 방향
- 특히 내적값이 0이 될 때는 두 벡터가 서로 수직(perpendicular = orthogonal)임을 알 수 있다.
- 내적값을 이용하면 두 벡터 사이의 각도를 계산할 수 있다.
내적의 공식은 다음과 같다. a = [a1, a2, a3] b = [b1, b2 ,b3]일때
$$ \vec{a} \cdot \vec{b}=\ <\vec{a},\vec{b}>\ =(a_1b_1 + a_2b_2 + a_3b_3)$$
내적의 성질들은 다음과 같다.
- a ∙ a >= 0 (a가 0일때만 자기 자신과의 내적값이 0이될 수 있다.)
- c(a) ∙ b = c(a ∙ b) = a ∙ c(b)
- a ∙ b = b ∙ a
- a (b + c) = a ∙ b + a ∙ c = (b + c) ∙ a
이제 2차놈과 내적의 관계를 한번 생각해보자.
내적의 정의로부터 a ∙ a = (a1a1 + a2a2 + ... +anan) = (a1^2 + a2^2 + ... + an^2)이고
2차놈의 정의로부터 ||a|| =
Vector Normalization
: 벡터의 방향은 유지하되, 벡터의 norm값을 1로 바꾸는 연산이다. 이렇게 벡터들 중 norm값이 1인 벡터를 unit vector라고 한다. Normalization 방식은 매우 간단하다. 벡터의 각 요소들을 해당 벡터의 놈값으로 나누면 된다.
$$\vec{a} = \frac{\vec{a}}{||\vec{a}||}$$
벡터의 norm값을 1로 통일하는 것은 매우 자주 사용되니 normalization 개념은 알아두자.
두 벡터 사이의 각도 구하기
위에서 두 벡터의 내적을 a
내적도 배웠고, 2차 놈의 값도 계산할 수 있으니 cosθ를 이용하면 두 벡터 사이의 각도 θ값을 구할 수 있다.
3. 코시-슈바르츠 부등식
코시 슈바르츠 부등식은 "두 벡터 사이의 내적값은 절대로 두 벡터의 놈값의 곱보다 커질 수 없다"는 의미이다.
다양한 분야에서 사용되니 반드시 기억하자.
4. Orthogonal projection
벡터에는 투영(projection)이라는 개념이 있다. 내적도 이 projection의 일부이다. 벡터를 다른 벡터위로 '수직'이 되도록 투영하는 것은 특히 orthogonal projection이라고 한다. 무슨말인지 모르겠다고? 그림을 보면 이해가 될 것이다.
바로 이런경우에 벡터A를 벡터B로 orthogonal projection 한다고 이야기한다. (orthogonal projection A on B)
- ||A||cosθ는 실수값으로, orthogonal projection된 벡터(빨간색 화살표)의 크기를 의미한다.
- 빨간색 화살표 벡터(p)를 구하는 공식은 다음과 같다.
'Background > Math' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 선형대수
- 인공지능
- 3b1b
- kl divergence
- eigenvector
- ai신약개발
- 오일석기계학습
- 백준
- Matrix algebra
- 파이썬
- Manimlibrary
- manim library
- 최대우도추정
- MorganCircularfingerprint
- kld
- variational autoencoder
- marginal likelihood
- ai인공지능
- manim
- elementry matrix
- MatrixAlgebra
- MLE
- 베이즈정리
- 3B1B따라잡기
- vae
- 기계학습
- 제한볼츠만머신
- manimtutorial
- 이왜안
- eigenvalue
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |