왜 이렇게 계산할까?
이는 행렬이 왜 존재하느냐와 연결된다.
행렬은 '변환'을 표현하기 위해 만들어졌다.
단순한 숫자놀이가 아닌 여러계산을 한번에 처리하기 위한 방식이다.
백터가 숫자의 묶음이라면 행렬은 여러개의 계산식과 같다.
[
[1 2 3]
[4 5 6]
]
[x, y, z]
인 행렬은
1x + 2y + 3z
4x + 5y + 6z를 표현했다고 이해해보자.
행렬의 곱은 한줄의 계산식과 입력값 묶음을 계산하는 구조임을 이해한다면
행 [1, 2, 3]에
[10,
20,
30]
을 입력해 계산한다는 과정을 이해할 수 있다.
https://standout.tistory.com/1727
np.dot()에서 왜 1차원배열이 세로벡터처럼 계산될까?
여기서 x는 1차원배열이었는데 np.dor하는순간 왜 세로벡터처럼 계산될까? 행렬곱의 규칙 때문이다. 이를 수학에서는 엄격히 구분하지만 NumPy의 1차원 배열은 방향이 없는 벡터이고, dot 연산 시 자
standout.tistory.com
즉 행은 계산식이고 열은 입력값으로 인식하게되는데
행렬곱은 모든 계산식을 한번에 처리하는 구조임으로 앞은 '계산식'역할 뒤에 오늘 배열은 '입력값역할' 이라고 이해할 수 있다 .
여기서 첫번째 문단이 이해된다.
이는 행렬이 왜 존재하느냐와 연결된다.
행렬은 '변환'을 표현하기 위해 만들어졌다.
단순한 숫자놀이가 아닌 여러계산을 한번에 처리하기 위한 방식이다.
백터가 숫자의 묶음이라면 행렬은 여러개의 계산식과 같다.
즉 이제 앞선배열의 가로줄의 숫자와 뒤배열의 세로줄 수가 같아야 이 '계산식'이 계산이 될수있을테니
(A*B) * (C*D)일때
즉 식이 3문자일때 뒤에 오는 입력값묶음의 줄수가 3줄이어야한다는말.
그말이 쉽게 말해서 가운데 있는 숫자 B와 C가 같으면 계산이 된다~ 라는 의미겠다.
'인공지능 > NumPy' 카테고리의 다른 글
| NumPy Broadcasting 브로드캐스팅 (feat.네트워크에서의 Broadcasting) (0) | 2026.05.21 |
|---|---|
| np.dot()에서 왜 1차원배열이 세로벡터처럼 계산될까? (0) | 2026.05.21 |
| 파이썬의 다차원 배열 NumPy, NDArray (0) | 2026.05.20 |