300x250

인공지능을 위해 필요한 선형대수 내용을 간단하게 정리해보고자 한다.

4년간 배운 내용과 다른 블로그, 유튜브 등 여러 곳에서 조금씩 참고하여 정리했다.

전체적인 흐름은 유명한 '3Blue1Brown' 유튜브 채널의 선형대수 부분을 따랐다.

 

벡터 합, 벡터와 스칼라 곱, 행렬 합, 행렬 곱 등 기초적인 내용은 제외하고, 중요하면서도 외워둬야 할 것들 위주로 정리할 것이다.

 

 

 

 

 

 

6. Dot Product, Cross Product

 

 

 

 

1) Dot Product

 

내적의 개념 보다는 이에 대한 기하학적 의미를 알아보고자 한다.

기본적으로, 내적의 결과는 scalar임을 알고 있을 것이다.

 

다음 두 벡터 v=[41],w=[21]의 내적을 살펴보자.

계산은 다음과 같이 간단히 할 수 있다.

 

vw=[41][21]=(42)+(11)=7

 

이를 기하학적으로 표현하면, 'w 벡터를 v벡터와 원점을 지나는 선 위로 projection(투영)하고, 투영된 w 벡터의 길이와 벡터 v 길이를 곱하는' 개념이다.

 

이를 두 벡터 사이의 각도 θ로 나타내면 다음과 같다.

 

wcos(θ)v

 

만약 투영된 w 벡터와 v 벡터가 반대 방향을 가리킨다면, 결과값은 음수가 될 것이고, 한 벡터가 다른 벡터로 투영했을 때 영벡터가 되는 경우(즉, w 벡터와 v 벡터가 직교할 경우) 결과는 0이 될 것이다.

 

물론, 서로 반대로 투영한다고 해도 같은 결과를 갖는다.

 

 

선형 변환의 관점에서 볼 수도 있다.

기존 2차원 좌표의 i^=[10]T,j^=[01]T를 1차원 수선의 좌표 i^=[1],j^=[2]로 선형 변환하는 1 × 2 행렬 [12]을 떠올려보자.

 

해당 행렬에 의해, v=[43]T 벡터는 다음과 같이 변환된다.

 

[12][43]=(14)+(23)=2

 

이는 dot product의 계산 과정과 동일하다.

 

 

 

 

2) Cross Product

 

외적은 기본적으로 결과가 벡터이다.

그 크기는 기하학적으로 아래와 같이 두 벡터가 만드는 평행사변형의 넓이이다.

 

cross product

 

그런데, w×v는 양수, v×w는 음수이다. 

 

간단히 3차원의 표준 기저벡터 기준으로 양수, 음수는 다음과 같이 판단한다.

i^×j^=+k^

j^×k^=+i^

k^×i^=+j^

 

이는 엄지를 제외한 오른 손으로 i^ 방향에서 j^ 방향으로 감아 쥐었을 때, 엄지가 향하는 방향이 양수라는 규칙으로 쉽게 떠올릴 수 있다.

 

앞서 Determinant가 두 벡터가 이루는 넓이임을 설명했으므로, 부호만 잘 판별해준다면 외적의 값을 쉽게 알 수 있다.

 

하지만, 원래 외적의 정의는 3차원인 두 벡터를 결합하여 새로운 3차원 벡터를 만드는 것을 말한다.

3차원인 두 벡터가 만드는 평행사변형의 넓이를 크기로, 오른손 법칙에 따른 방향을 방향으로 하는 새로운 벡터가 바로 외적의 정의이다.

 

Determinant를 사용하여 3차원 벡터의 외적을 구할 수 있다.

아래와 같이 i^,j^,k^를 1열로, v를 2열로, mathbfw를 3열로 갖는  3 × 3 행렬의 행렬식을 계산한다.

 

v×w=det([i^v1w1j^v2w2k^v3w3])

 

여기서, 1열에 기저 벡터들을 넣는다는 개념이 아니라, 계산 과정에서 scalar처럼 곱하여 계산을 진행하면 결과 값이 벡터가 나오게 된다.

 

v×w=det([i^v1w1j^v2w2k^v3w3])=i^(v2w3v3w2)j^(v1w3v3w1)+k^(v1w2v2w1)

 

위와 같은 결과로 나온 벡터가 바로 v,w가 이루는 평행사변형의 면적을 크기로 갖고, 오른손 법칙에 따른 방향을 갖는 벡터이다.

728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기