들어가기
인공지능 스터디하는 중간에 도움될 만한 수학 기초 일부를 단순 참고용으로 정리했다.
작성자: http://ospace.tistory.com/ (ospace114@empal.com)
벡터
벡터(Vector)는 크기와 방향을 갖는 양을 표현하는 개념이다. 벡터 $\overrightarrow {AB}$는 시작점 A에서 끝점 B로 이어지는 방향을 가지는 화살표로 표현된다. 벡터 표시는 문자 상단에 화살표나 진한 문자로 표현한다.
$$ \vec a, \bold a $$
벡터 크기는 화살표의 길이에 해당한다. 벡터 $\vec a$의 크기는 $| \vec a |$로 표현된다.
다음 2가지 형태의 노름으로 벡터 크기를 구할 수 있다.
- L1 노름
- 절대값으로 구한다.
- 1차원에서는 기호를 양수로 변경하며, 2차원에서 비슷하게 구할 수도 있지만 이 경우는 움직인 거리가 된다.
- $||a||_1 = |a_1|+|a_2|+…+|a_n| = \sum_{i=1}^n |a_i|$
- L2 노름
- 직선 거리를 구하며 유클리드 거리라고도 한다.
- $\vec a = (x,y)$벡터인 경우 $\sqrt { x^2 + y^2 }$로 계산할 수 있다.
- $||a||_2 = \sqrt{a_1^2 + a_2^2 + … + a_n^2} = \sqrt {\sum_{i=1}^n a_i^2}$
내적
내적(Dot Product, Scalar Product)는 주벡터의 같은 방향 정도 또는 유사도를 의미한다. 내적의 결과는 스칼라가 된다. 식으로 표현하면 다음과 같다.
$$ \vec a \cdot \vec b = <\bold a, \bold b> = |\vec a| |\vec b| \cos\theta $$
여기서 θ은 두 벡터의 각이다. 내적 표현이 두가지 형태가 있다. 직각 좌표계 값이 주어진다면 아래 처럼 계산할 수 있다.
$$ \vec a \cdot \vec b = x_a x_b + y_a b_b $$
코사-슈바르츠 부등식은 벡터 내적의 결과 아래 식이 성립한다.
$$ -|\vec a | | \vec b | \le |\vec a | | \vec b | \cos \theta \le |\vec a | | \vec b | $$
신경망에서 여러 입력과 여러 가중치 곱을 벡터 내적 형태로 볼수 있다.
벡터 a와 b가 직교하는 경우 다음이 성립한다.
$$ \vec a \cdot \vec b = 0 $$
앞의 유클리드 거리를 내적으로도 표현할 수 있다.
$$ || a||_2 = \sqrt {\vec a \cdot \vec b} = \sqrt {<\mathbb a, \mathbb b >} $$
코사인 유사도
내적을 cos θ 을 중심으로 전개하면 다음과 같다.
$$ \cos \theta = {\vec a \cdot \vec b \over |\vec a| |\vec b|} = {\sum_{i=1}^n a_i b_i \over \sqrt{\sum_{i=1}^n a_i^2} \sqrt{\sum_{i=1}^n b_i^2}} $$
직교하게 되면 0이되고 평행이고 다른 방향이면 -1, 같은 방향이면 1이 된다.
외적
외적(Cross Product, Outer Product)는 두 벡터의 곱으로 회전이 작용되는 힘 벡터를 표현한다. 외적 결과는 벡터이다. 벡터 곱의 결과 벡터의 방향은 두 벡터에 수직이고 앙페르의 오른나사 법칙애 의해 방향을 결정한다. 크기는 다음과 같이 구할 수 있다.
$$ |\vec a \times \vec b | = |\vec a||\vec b| \sin \theta $$
여기서 θ은 두 벡터의 각이다.
외적은 수직 방향으로 인해 3차원에서 적용된다. 3차원에서 $\vec a = (a_1, a_2, a_3)$와 $\vec b = (b_1, b_2, b_3)$에 대한 외적 정의이다.
$$ \vec a \times \vec b = (a_2 b_3 - a_3 b_2, a_3 b_1 - a_1 b_3, a_1b_2 - a_2 b_1) $$
만약 2차원에서 계산하려면 3번째 좌표를 0으로 처리해서 계산하면 된다.
$$ \vec a \times \vec b = (0, 0, a_1b_2 - a_2 b_1) $$
보통 괄호 없이 스칼라 값만 사용한다. 2차원에서는 방향성이 사라진다. 이를 사용해 두 벡터의 교차 유무를 확인할 수 있다. $\overrightarrow {ab}$와 $\overrightarrow {ac}$의 각각 외적를 구해서 서로 곱한 값이 0이하이면 교차한다.
$$ (\vec a \times \vec b)(\vec a \times \vec c) \le 0 $$
외적의 성질은 다음과 같다.
- $\vec a \times \vec b = - \vec b \times \vec a$
- $\vec a \times \vec a = 0$
- $(k \vec a) \times \vec b = k(\vec a \times \vec b) = \vec a \times k \vec b$
- $\vec a \times (\vec b + \vec c) = \vec a \times \vec b + \vec a \times \vec c$
- $(\vec a + \vec b) \times \vec c = \vec a \times \vec c + \vec b \times \vec c$
- $\vec a \cdot (\vec b \times \vec c) = (\vec a \times \vec b) \cdot \vec c = \vec b \cdot ( \vec a \times \vec c)$
- $\vec a \times ( \vec b \times \vec c ) = (\vec a \cdot \vec c)\vec b - (\vec a \cdot \vec b ) \vec c$
- $(\vec a \times \vec b) \times \vec c = (\vec a \cdot \vec c)\vec b - (\vec b \cdot \vec c ) \vec a$
참고
[1] 와쿠이 요시유키, 와쿠이 사다미, 처음 배우는 딥러닝 수학, 한빛미디어
[2] 이시카와 아키히코, 신상재 이진희, 인공지능을 위한 수학, 프리렉, 2019.09.16
[3] 나무위키, 외적, https://namu.wiki/w/%EC%99%B8%EC%A0%81,2025.02.18
'6.수학과 알고리즘' 카테고리의 다른 글
수학기초 5 - 행렬1 (0) | 2025.02.25 |
---|---|
수학기초 3 - 미분과 적분 (2) | 2025.02.14 |
수학기초 2 - 수열 (0) | 2025.02.11 |
수학기초 1 - 함수 종류 (0) | 2025.02.04 |
CNN 이미지 식별 알고리즘 (0) | 2024.03.11 |