티스토리 뷰

Matrix Multiplication : Part 1

 - Element-wise Operation에 관해서 앞서 다뤘었다.

 - 이번엔 Matrix Multiplication에 대해 알아볼거고 더 복잡한 편이다.

 - 대부분의 행렬 곱셈은 Matrix Multiplication을 의미하는것이 아니라 Matrix Product를 의미한다.



 - 일반적인 행렬식의 곱셈을 짚고 넘어가보자.

 - 행렬 A의 첫번째 행벡터와 행렬 B의 첫번쨰 열벡터간의 각 인덱스가 일치하는 원소끼리의 곱을 모두 합한것이

 - Matrix Product의 결과가 된다.

 - 두가지 동일한 길이의 벡터가 있을때 같은 인덱스에 위치한 원소끼리의 곱을 합한 결과를 dot products 라 부른다.






Matrix Multiplication : Part 2

 - 행렬식의 곱셈에서는 product연산을 진행할 두 행렬의 shape에 대해 행렬 A의 행의개수와 행렬B의 열의 개수가 동일해야

 - Matrix product 연산을 진행 할 수 있다. 



 - 또 한가지 중요 특징은, 행렬식에서 교환법칙이 성립하지 않는다는 점이다.



정리

 - 행렬 A, B간의 곱셈 연산을 진행하려면 A의 열의개수가 B의 행의개수와 일치해야함

 - 또한 그 결과는 행렬 A의 행의개수 by 행렬 B의 열의개수 로 shape이 결정됨

 - 두 행렬간의 교환법칙이 성립하지 않음

 - 행렬 A의 데이터는 행으로 배열되고, 행렬 B의 데이터는 열로 배열된다.






Numpy Matrix Multiplication

 · Element-wise Multiplication

 - 인덱스에 대응되는 요소끼리의 곱셈

 - NumPy의 multiply 함수를 사용하거나 * 연산자를 사용하면 된다.






 · Matrix Product

 - NumPy의 matmul 함수를 이용하면 product계산이 가능하다.

 - 연산 가능한 두 행렬(compatible shapes)에 대해 matmul함수를 이용하여 계산해주면 됨






 · NumPy's dot function

 - matmul 함수를 이용한 연산을 예상한 곳에서 dot 함수를 이용한 처리가 된 것을 볼 때가 있을것인데,

 - 이는 해당 행렬이 2차원일 경우 동일한 결과를 보이기 때문이다.

 - 2차원 데이터에 대해 동일한 결과를 반환하지만, 서로 다른 shape끼리는 주의해아함

 - matmul 과 dot 의 차이점에대해서는 여기(matmul)여기(dot) 를 확인.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함