내적 (inner product) & 정사영 (projection) 개념으로 Fourier Transform 해석하기
본문 바로가기
연구 노트/선형대수

내적 (inner product) & 정사영 (projection) 개념으로 Fourier Transform 해석하기

by NEWSUN* 2024. 3. 11.

내적, 정사영, 단위벡터 개념을 알아보고 벡터 내적 관점으로 fourier transfrom 식을 해석해봅시다.

 

내적 (inner product)

두 벡터가 얼마나 닮았는가, 즉 닮은 정도를 나타냅니다. 아래의 그림을 보면, 한 벡터 다른 벡터 방향으로의 성분을 얼마나 가지고 있는지를 두 벡터를 내적함으로써 알 수 있습니다. 
 

 
내적 (dot product)는 scalar product라고도 하며 좀 더 일반화된 용어로 inner product라고 불립니다. 다음으로 간단한 dot product 예시를 살펴보겠습니다.
 
$$a=\begin{bmatrix} 1 \\ 3 \end{bmatrix} \;  b=\begin{bmatrix} 5 \\ 1 \end{bmatrix}$$
$$ a \cdot b= \begin{bmatrix} 1 \\ 3 \end{bmatrix} \cdot \begin{bmatrix} 5 \\ 1 \end{bmatrix} = 8 = a^Tb = b^Ta $$
 
$a$와 $b$의 내적은 각각의 벡터 성분을 곱한 후 더한 값으로 결과값이 나옵니다. 전치를 수행해도 똑같은 결과값을 얻게 됩니다. 
 

정사영 (projection)

벡터 내적은 아래와 같은 식으로도 나타낼 수 있습니다. 기하학적으로 해석하면, 내적은 정사영 (projection)의 의미를 가진다고 할 수 있습니다. 정사영 (projection)은 한 점에서 한 직선 또는 한 평면 위에 그은 수선의 발을 나타냅니다.
 
$$a\cdot b = a^Tb=||a||\cdot||b|| cos\theta $$
 

 
$||a||$는 $a$벡터의 크기 (norm)를 나타냅니다. 벡터의 각 성분의 제곱값을 모두 더한 후 루트를 취해주면 크기를 구해줄 수 있습니다. $\theta$는 두 벡터가 이루는 사이 각을 말합니다. $||a||cos\theta$는 $a$를 $b$에 정사영한 크기고 $||b||cos\theta$는 $b$를 $a$에 정사영한 크기를 말합니다. 따라서, 한 벡터를 다른 벡터로 정사영한 크기와 다른 벡터의 크기를 곱한 값이 내적한 결과값($||a||cos\theta \cdot ||b||$, $||b||cos\theta \cdot ||a||$)이라고 할 수 있겠습니다. 
 
$$a^Ta = ||a|| \cdot ||a||=||a||^2$$
 
자기자신을 내적하게 되면, $cos(0)=1$이기 때문에 벡터 크기에 제곱한 결과 값을 가지게 됩니다.
 

단위벡터 (unit vector)

 
단위 벡터는 크기가 1인 벡터를 말합니다. $a=\begin{bmatrix} 4 \\ 3 \end{bmatrix}$가 있다고 가정했을 때, $a$와 방향은 같고 크기가 1인 벡터는 $\frac{a}{\sqrt{a^Ta}}=\frac{a}{||a||}$ 식으로 구해줄 수 있습니다. 벡터 $a$를 자기자신의 norm으로 나눠 크기가 1이 되도록 normalize 해준 것으로 해석할 수 있겠습니다. 
 
벡터 간 내적은 한 벡터가 다른 방향으로의 성분을 얼마나 가지고 있는지 나타낸다고 했습니다. 그림에서 알 수 있듯이, 파란색 단위벡터는 $a=\begin{bmatrix} 4 \\ 3 \end{bmatrix}$ 벡터와 방향이 일치했을 때 내적 결과가 가장 크게 나타납니다. 반대로, 빨간색 표시선과 같은 방향, 즉 사이각이 90도를 이룰 때는 내적 결과가 0이 됩니다. 내적은 두 벡터가 얼마나 닮았는지를 나타내기 때문에 이 경우에는 두 벡터가 전혀 닮은 구석이라고는 찾아볼 수 없다고 말할 수 있겠습니다.

 

 
위 그림은 정사영된 벡터를 구하는 예제입니다. $a$를 $b$로 정사영하여 얻은 벡터의 크기와 $b$ 벡터의 방향을 곱하여 정사영한 벡터를 구해줄 수 있습니다.
 

벡터 내적 관점으로 Fourier Transform 해석

이제 개념을 알았으니 대표적인 신호 처리 기법인 fourier transform을 내적과 정사영을 이용해 해석해봅시다. fourier transform을 왜 하는 걸까요? 그 이유는 바로 신호를 분석할 때 frequency domain에서 해석하는 게 편리하기 때문이죠. time domain에서 신호 자체를 보는 것 보다는 주파수 스펙트럼으로 보는 게 신호의 특성 (pitch, formant, harmonic 등등...)을 더 잘 나타내주기 때문에 신호를 분석하는데 있어서 더 편합니다. $x_a(t)$라는 신호가 주어졌을 때, 단일 주파수 신호인 sinusoidal signal과의 내적을 통해 신호 간 유사도를 알 수 있습니다. $x_a(t)$를 정사영하여 얻은 노란색 선은 특정 신호 $x_a(t)$가 $e^{j\Omega t}$의 성분을 얼마나 가지고 있는지 기여도 (contribution)를 나타냅니다.
 
$$X_a(j\Omega)= \int^{\infty}_{-\infty} x_a(t)e^{-j\Omega t} \, dt $$
 
따라서, $x_a(t)$를 fourier transform한 것$x_a(t)$ 신호가 단일한 주파수 신호 $e^{-j\Omega t}$의 성분을 얼마나 포함하고 있는지를 전구간에서 구한 것이라고 해석할 수 있겠습니다.