pullwall
Well done! 코딩
pullwall
전체 방문자
오늘
어제
  • 분류 전체보기 (151)
    • 개발환경 (2)
    • java study (21)
    • 백준 단계별 (51)
    • 알고리즘 (3)
    • AI (43)
    • 클라우드 (3)
      • Kubernetes in Google (3)
    • 논문 (5)
    • 리눅스 (1)
    • AWS (4)
    • 수학 (15)
    • 기타 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • pytorch
  • Google
  • 백준 단계별
  • 수학
  • Ai
  • 쿠버네티스
  • Kubernetes
  • dataset
  • 단계별
  • AWS
  • 자바독학
  • 선택정렬
  • 알고리즘
  • 자바
  • Java
  • 정렬
  • LLM
  • 백준
  • 정렬알고리즘
  • 논문리뷰

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
pullwall

Well done! 코딩

수학

transpose와 dot product에 대하여

2024. 8. 28. 15:37
728x90
해당 게시물은 "혁펜하임의 AI DEEP DIVE"를 수강하고 작성되었습니다.

행렬의 전치(Transpose)란, $\begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22} \\
\end{bmatrix}$ 와 같은 행렬이 주어졌을 때, 행과 열을 바꾸는 것 즉,  $\begin{bmatrix}
a_{11} & a_{21} \\
a_{12} & a_{22} \\
\end{bmatrix}$ 로 바꾸는 것이다.

 

기호로는 $ {\begin{bmatrix}
a_{11} & a_{12} \\
a_{21} & a_{22} \\
\end{bmatrix}}^T$와 같이 나타낸다.

 

행렬 전치의 중요한 성질 중 하나는 ${(ax)^T}=x^Ta^T$와 같이 다항식에 전치를 취하면 순서가 바뀐다.

 

딥러닝에서는 행렬곱 시 곱셈 가능한 행렬의 크기를 맞춰주기 위해 행렬 전치를 주로 사용한다.

$d^{2x1}$의 차원을 가지는 행렬과  $d^{2x1}$의 차원을 가지는 행렬은 행렬곱이 불가능 하기 때문에

행렬 전치를 통해 한쪽 행렬의 차원을 $d^{1x2}$로 바꾼다면 행렬곱이 가능해진다.

 


 

행렬의 내적(Dot Product)는 아래와 같이 계산할 수 있다.

$\begin{bmatrix}
x_1 \\ x_2
\end{bmatrix} \cdot \begin{bmatrix}
y_1 \\ y_2
\end{bmatrix} = x_1y_1+x_2y_2$

그리고 이는 간단하게 $x^Ty$ 로 나타낼 수 있다.

 

내적의 의미는 "닮은 정도" 이다.

$\begin{bmatrix}
x_1 \\ x_2
\end{bmatrix} \cdot \begin{bmatrix}
y_1 \\ y_2
\end{bmatrix} = x_1y_1+x_2y_2$ 는 $\left\|x \right\|\left\|y \right\|cos\theta$ 로 나타낼 수 있는데, $\theta$는 벡터$x$와 벡터$y$가 이루는 사잇각이다. 

 

$\theta$가0에 수렴할 수록 $cos\theta$는 1이 된다. 이는, 같은 방향일 때 (가장 닮았을 때) 내적값이 가장 크다는 것을 의미한다. 

 

728x90

'수학' 카테고리의 다른 글

미분과 도함수에 대하여  (2) 2024.08.28
극한과 입실론-델타 논법에 대하여  (2) 2024.08.28
백터와 행렬에 대하여  (1) 2024.08.28
로그함수에 대하여  (1) 2024.08.28
함수에 대하여  (1) 2024.08.27
    '수학' 카테고리의 다른 글
    • 미분과 도함수에 대하여
    • 극한과 입실론-델타 논법에 대하여
    • 백터와 행렬에 대하여
    • 로그함수에 대하여
    pullwall
    pullwall

    티스토리툴바