1. 전치 행렬
전치 행렬이란 행과 열을 교환여 얻는 행렬을 말합니다.
예를 들어 3행 2열의 행렬이 있다면 이 행렬의 전치 행렬은
2행 3열의 행렬이 됩니다.
$$X=\left( x_{nk}\right) \rightarrow \left( x_{kn}\right)$$
예를 들어 A = [[1,2],[3,4],[5,6]] 이란 행렬이 있다면 A의 전치 행렬은 다음과 같습니다.
$$A=\begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}\rightarrow A^{T}=\begin{pmatrix} 1 & 3 & 5 \\ 2 & 4 & 6 \end{pmatrix}$$
2. 행렬의 내적
행렬의 내적은 수학에는 없는 개념입니다.
주로 파이썬에서 사용하는 개념이며 numpy의 np.inner를 사용해
i번째 행벡터와 j번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산합니다.
이때 두 행렬이 행이 같아야 계산할 수 있습니다.
예시입니다.
$$\begin{aligned}\langle \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 3 \end{bmatrix}\begin{bmatrix} 3 & 2 & 1 \\ 1 & 2 & 2 \end{bmatrix}\rangle =\begin{bmatrix} 1\times 3+2\times 2+3\times 1 & 1\times 1+2\times 2+3\times 2 \\ 2\times 3+4\times 2+3\times 1 & 2\times 1+4\times 2+3\times 2 \end{bmatrix}\end{aligned}$$
여기서 행렬의 내적 결과의 1행 1열은 각 행렬의 1행끼리의 곱이고
1행 2열은 1행과 2행, 2행 1열은 2행과 1행, 2행2열은 2행과 2행을 곱한 것입니다.
행렬의 내적을 파이썬으로 구현 시 다음과 같습니다.
import numpy as np
a = np.array([[1,2,3],
[2,4,3]])
b = np.array([[3,2,1],
[1,2,2]])
np.inner(a,b)
단순히 np.inner를 써주면 행렬의 내적이 계산됩니다.
3. 연산자로서의 행렬
행렬은 벡터공간에서 사용할 수 있는 연산자로 이해 할 수 있습니다.
행렬 끼리의 곱을 활용해 벡터를 다른 차원으로 이동 가능하며,
예를 들어 4행 3열의 행렬과 3행 2열의 행렬을 곱하면
4행 2열의 행렬로 계산됩니다.
행렬의 곱은 패턴 추출이나 데이터 압축에 사용이 가능합니다.
만약 [[1],[2],[3]]이라는 행렬에서 1과 2만을 추출하고 싶다면
$$\begin{bmatrix} 1 \\ 2 \\ 3 \end{bmatrix}X\begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 2 \\ 0 \end{bmatrix}$$
위와 같은 방식으로 추출이 가능합니다.
'머신러닝' 카테고리의 다른 글
[파이썬] 의사결정 트리( DecisionTree ) (0) | 2023.05.03 |
---|---|
[파이썬] 역행렬과 유사역행렬 (0) | 2023.04.20 |
[파이썬] 행렬의 연산 (0) | 2023.04.12 |
[파이썬] 행렬과 행렬의 이미지 표현 (0) | 2023.04.11 |
[파이썬] 인공지능 수학 군집화, 유사도 (0) | 2023.04.05 |