내적, cosine similarity, projection 정사영 한번에 짚기
통계적 신호처리

내적, cosine similarity, projection 정사영 한번에 짚기

by handzoo 2023. 5. 17.

 

 

우리는 극좌표계를 통해서 다음과 같이 나타낼 수 있음을 안다.

 

여기서 r을 벡터 v의 크기로 보게 된다면 아래와 같이 충분히 표현 가능하다.

 

이번에는 벡터 a, b 두 개가 있고 b를 a에 정사영시킨다고 생각해보자.

b를 a 방향으로 projection하는 것이다.

위에 본 바에 의하면

$$|proj_{ \vec{a}} \vec{b}|=| \vec{b}|cos{\theta}$$

가 되는 것이 자연스럽다.

이는 정사영된 벡터의 크기가 되겠고 정사영벡터는 위에 정사영하고자 하는 벡터 방향으로의 크기가 1인 방향성만 추가해주면 되겠다.

$$proj_{ \vec{a}} \vec{b}=| \vec{b}|cos{\theta} \cdot \frac{\vec{a}}{|\vec{a}|}$$

 

여기서 내적 이야기를 할 수 있는데, 내적은 한 벡터를 다른 벡터로 정사영시켜 그 벡터의 크기를 곱하는 것이다.

$$ \vec{a} \cdot \vec{b} = |\vec{a}| |\vec{b}|cos\theta$$

 

  • \(\theta\)가 90도일 때 내적의 값이 0이 되는 이유가 되기도 한다.
  • 또 \(\theta\)가 0도일 때는 곧 자기 자신과의 내적이 되므로 \(\vec{a} \cdot \vec{a} = |\vec{a}| |\vec{a}|cos\theta=|\vec{a}|^2\)가 된다. 벡터 자기 자신의 내적은 자기 크기의 제곱 값이 나온다.

여기서 cosine similarity 이야기도 가능한데, 두 벡터가 얼마나 유사한지를 나타내는 척도이고

 

$$cos\theta = \frac{\vec{a} \cdot \vec{b}}{|\vec{a}| |\vec{b}|}$$

 

내적 값이 클 수록 두 벡터 사이 각도가 작아지므로 cos 값도 커지게 된다.

 

정사영 크기는 알고 내적도 알았으니 정사영 벡터를 위로부터 더 확장해본다면 다음과 같아진다.

$$proj_{ \vec{a}} \vec{b}=| \vec{b}|cos{\theta} \cdot \frac{\vec{a}}{|\vec{a}|} = | \vec{b}|\frac{\vec{a} \cdot \vec{b}}{|\vec{a}| |\vec{b}|} \cdot \frac{\vec{a}}{|\vec{a}|}=\frac{\vec{a} \cdot \vec{b}}{|\vec{a}| |\vec{a}|} \cdot \vec{a}$$

 


TOP

Designed by 티스토리