NumPy는 파이썬에서 수치 연산을 위한 핵심 라이브러리로 매트릭스 연산과 관련된 함수들을 제공합니다. matmul과 dot 함수는 둘 다 배열(행렬)의 곱셈 연산을 수행하는 함수입니다.
np.matmul() 함수
np.matmul(a, b) 함수는 두 배열 a와 b의 행렬 곱셈을 수행합니다. 행렬 곱셈의 규칙에 따라 앞의 행렬의 열과 뒤의 행렬의 행을 일치시켜야 합니다.
import numpy as np
A = np.array([[1, 2],
[3, 4]])
B = np.array([[5, 6],
[7, 8]])
result = np.matmul(A, B)
print(result)
출력
[[19 22]
[43 50]]
np.matmul() 함수는 행렬 곱셈 규칙에 따라 연산을 수행하며, 다차원 배열의 경우에도 브로드캐스팅 규칙을 적용합니다.
np.dot() 함수
np.dot(a, b) 함수는 두 배열 a와 b 사이의 점곱(dot product) 또는 내적(inner product)을 계산합니다. 이 함수는 다차원 배열에도 적용할 수 있지만, 행렬 곱셈 규칙과는 조금 다른 계산 방식을 사용합니다.
import numpy as np
A = np.array([1, 2])
B = np.array([3, 4])
result = np.dot(A, B)
print(result)
출력:
11
행렬의 경우, np.dot() 함수는 np.matmul()과 동일한 결과를 생성하지만, 벡터의 경우에는 각 요소별로 곱한 후 합산하여 결과를 도출합니다.
일반적으로 행렬 곱셈을 수행하려면 np.matmul() 함수를 사용하는 것이 더 명확하고 의미적으로도 적합합니다. np.dot() 함수는 다양한 문맥에서 사용되며, 벡터의 내적 또는 행렬 곱셈과 같은 다양한 연산에 활용될 수 있습니다.
해당 게시글은 ChatGPT의 도움을 받아 작성되었습니다.
'AI > Machine-Learning' 카테고리의 다른 글
RobustScaler (0) | 2023.08.29 |
---|---|
다중 선형 회귀와 절차 (0) | 2023.08.29 |
결정계수 (Coefficient of Determination) (0) | 2023.08.28 |
[Scikit-learn] LinearRegression, SGDRegressor (0) | 2023.08.28 |
Numpy rand(), randn() (0) | 2023.08.28 |