
선형대수학이란? 벡터, 행렬 및 이를 다루는 선형 변환을 연구하는 수학 분야임.
AI에서의 역할: 모든 데이터(이미지, 텍스트)를 행렬로 변환하여 처리함. 딥러닝 알고리즘의 작동 원리를 이해하는 데 필수적임.
NumPy와의 관계: NumPy는 선형대수학의 개념을 파이썬에서 가장 빠르고 효율적으로 구현할 수 있게 함.
| 국문 표현 | 영어 표현 | 정의 (개조식) |
|---|---|---|
| 스칼라 | Scalar | 방향 없이 크기만 가진 단일 숫자임. |
| 벡터 | Vector | 방향과 크기를 모두 가진 숫자의 1차원 배열임. |
| 행렬 | Matrix | 벡터가 모여 행과 열을 이루는 2차원 배열임. |
| 텐서 | Tensor | 행렬을 일반화한 개념으로, 3차원 이상의 배열임. |
| 연산 구분 | 연산 특징 | NumPy 연관성 |
|---|---|---|
| 기본 연산 | 두 행렬의 차수(크기)가 같아야 연산 가능함. 같은 위치의 원소끼리 연산함. | 브로드캐스팅 덕분에 크기가 다른 배열(스칼라 등) 간에도 쉽게 연산 가능함. |
| 상수 곱셈 | 상수(스칼라)가 행렬의 모든 원소에 곱해짐. 행렬의 차수는 변하지 않음. | 스칼라가 배열 전체에 브로드캐스팅되어 적용됨. |
| 행렬 곱셈 | 비가환성(Not Commutative)이 성립함 (일반적으로 ). | A @ B 또는 np.matmul(A, B) 사용함. |
| 곱셈 조건 | 앞 행렬의 열 수와 뒤 행렬의 행 수가 같아야 곱셈이 성립함. | A(m x n)과 B(n x q)의 곱셈 결과는 C(m x q)가 됨. |
| 주의 사항 | A * B는 행렬 곱셈이 아닌, 같은 위치 원소끼리 곱하는 요소별 곱셈(Hadamard Product)임. | 일반적인 행렬 곱셈과 혼동하지 않도록 주의함. |
| 국문 표현 | 영어 표현 | 정의 및 특징 (개조식) | NumPy 함수 |
|---|---|---|---|
| 단위 행렬 | Identity Matrix () | 숫자 '1'과 같은 역할을 하는 정방 행렬임. 대각선은 1, 나머지는 0임. | np.eye(n) |
| 전치 행렬 | Transpose Matrix () | 행렬의 행(Row)과 열(Column)을 서로 바꾼 행렬임. | arr.T 또는 np.transpose(arr) |
| 역 행렬 | Inverse Matrix () | 행렬 에 곱했을 때 단위 행렬()이 나오도록 하는 행렬임. 모든 행렬이 가지지는 않음. | np.linalg.inv(arr) |
ndarray의 역할: NumPy의 ndarray는 선형대수학의 행렬과 벡터를 구현한 핵심 객체임.np.linalg 모듈을 통해 역행렬, 행렬식 등 복잡한 선형대수 계산 함수를 제공함.np.dot, @, np.matmul 등의 메서드는 선형대수학의 행렬 곱셈 원리를 바탕으로 구현됨.