행렬은 선형대수학에서 숫자를 다룰 때 자주 사용되는 형태이며, 본질적으로 AI 모델 코드는 텐서 기반의 파이토치(PyTorch)로 작성되는 경우가 많기 때문에 행렬에 대한 명확한 이해를 바탕으로 자유롭게 조작할 수 있는 능력이 중요하다. 행렬의 기본과 정방행렬의 역행렬과 비정방행렬의 의사역행렬에 대해 알아봅시다.
행렬
행렬 정의
행렬의 정의는 다음과 같이 정의할 수 있습니다.
- 벡터가 요소인 2D 배열
- 동일한 차원의 벡터 배열
즉, 행렬은 벡터를 요소로 하는 2차원 행렬입니다. list나 array오전.
numpy행 벡터를 기본 단위로 간주합니다.
행렬에는 $n$ 벡터가 있고 vevtor에는 $m$ 요소가 있습니다.
행렬의 표현
- 행렬은 $\mathbf{X}$로 표현됩니다.
- 행렬의 원소인 벡터는 $(\mathbf{x_1}, \mathbf{x_2}, … , \mathbf{x_n})$로 표현된다.
- 행렬의 $n$번째 벡터이고 $m$번째 원소는 $x_{nm}$로 표현된다.
행렬 이해
- 행렬은 두 개의 인덱스(행과 열)를 갖는 것으로 생각할 수 있습니다.
- $m$ 차원 공간에서 $n$ 포인트로 구성된 데이터 세트로 생각할 수도 있습니다.
- 즉, $i$번째 데이터의 $j$번째 변수 값을 가져오는 데 사용할 수 있습니다.
- 특정 행이나 열이 지정되면 행 벡터 또는 열 벡터로 이해할 수 있습니다.
이 이해 기술은 브로드캐스트 또는 요소별 작업을 통해 데이터를 조작하는 데 유용하게 사용될 수 있습니다.
전치행렬

행렬 $A$의 행 및 열 인덱스를 변경하면 행렬 $A^T$가 전치됩니다.
$A$: mxn 행렬 → $A^T$: nxm 행렬 $x_{ij}$ → $x_{ji}$
매트릭스 연산
행렬 덧셈과 뺄셈

(원천) https://commons.wikimedia.org/wiki/File:Matrix_addition_qtl2.svg, 계간지
차원이 같은 행렬은 해당 요소 간에 더하거나 뺄 수 있습니다.
행렬 곱셈
$\mathbf{X}\mathbf{Y}$와 같은 곱셈 행렬은 구성 요소가 $\mathbf{X}$의 i번째 행 벡터와 $\mathbf의 j번째 열 벡터의 내적인 행렬입니다. {Y are }$ 보존할 연산입니다.
행렬 곱셈이 성공하려면 $\mathbf{X}$의 행 벡터에 있는 요소의 수와 $\mathbf{Y}$의 열 벡터에 있는 요소의 수가 같아야 합니다.

(원천) https://commons.wikimedia.org/wiki/File:Matrix_vector_multiplication.svg, 계간지
행렬 $\mathbf{X}$의 행 수 $=$ 행렬 $\mathbf{Y}$의 열 수
행렬 곱셈에 대해 결합 및 분배 법칙을 설정할 수 있습니다.
그러나 $\mathbf{X}\mathbf{Y}$와 $\mathbf{Y}\mathbf{X}$는 교환법칙이 성립하지 않기 때문에 곱셈의 순서에 따라 계산 결과가 달라지므로 완전히 다른 의미를 갖는다.
numpy에서 행렬의 곱셈은 @ 기호를 사용
np.inner두 행 벡터에 대해 수행되며 다음 벡터를 전치하여 수학적으로 내적을 반환합니다.
즉, np.inner(X, Y)는 $\mathbf{X}\mathbf{Y}^T = \left( \sum_{k}{x_{ik}y_{kj}} \right)$와 같습니다. , 이것은 수학의 내적과 다릅니다.
일반적으로 행렬 곱셈이 i번째 행 벡터와 j번째 열 벡터의 내적이면 numpy의 내적은 i번째 행 벡터와 j번째 행 벡터의 내적이 됩니다.
X = np.array(((1, -2, 3),
(7, 5, 0),
(-2, -1, 2)))
Y = np.array(((0, 1, -1),
(1, -1, 0)))
Z = np.inner(X, Y)
print(Z)
'''
출력 결과
array((( -5, 3),
( 5, 2),
( -3, -1)))
'''
행렬의 스칼라 배수는 벡터의 스칼라 배수와 마찬가지로 행렬의 모든 요소를 같은 수로 곱한 것입니다.
일종의 매트릭스
| 행렬 이름 | 정당성 |
| 제로 매트릭스 | 행렬의 모든 요소가 0인 행렬 |
| 정사각 행렬 | 행과 열이 같은 행렬 |
| 대각 행렬 | 정사각 행렬의 모든 대각선 요소가 0이 아니고 다른 모든 요소가 0인 행렬 |
| 항등행렬(= 항등행렬) | 대각행렬의 대각성분이 모두 1인 행렬 |
| 상부 삼각 행렬 | 요소 값이 대각선 위에만 존재하는 행렬 |
| 하부 삼각 행렬 | 대각선 아래에만 요소 값이 있는 행렬 |
| 대칭 행렬 | 동일한 대각선 요소에 대해 대칭인 요소를 포함하는 행렬 |
벡터 공간 및 행렬
행렬은 벡터 공간에서 사용되는 연산자로 이해할 수 있습니다.
이것은 $m$ 차원 공간의 $\mathbf{x}$가 행렬 곱셈에 의해 $n$ 차원 공간의 $\mathbf{z}$로 변환될 수 있음을 의미합니다.
즉, 차원을 이동시키는 함수나 공식의 역할을 하여 패턴 추출이나 데이터 압축 등의 기능을 수행할 수 있다.
수학의 모든 선형 변환은 행렬 곱셈으로 계산할 수 있습니다.
역행렬
결정
2차원 행렬 $A$의 행렬식은 다음과 같이 정의됩니다.
$A = ((a, b), (c, d))$ $|A| = det A = 광고 – bc$
역행렬의 의미

주어진 행렬 $\mathbf{A}$의 역행렬은 $\mathbf{A^{-1}}$로 표현되며 연산의 역행렬 개념으로 이해할 수 있다.
$\mathbf{A}\mathbf{A^{-1}} = \mathbf{A^{-1}}\mathbf{A} = \mathbf{I}$ (단, $\mathbf{I}$는 항등식입니다. 매트릭스)
역행렬이 존재하려면 다음 조건이 충족되어야 합니다.
- 행과 열의 개수는 동일해야 합니다. (즉, 정방행렬이어야 합니다.)
- $\det A$는 null이 아닙니다.
수학적으로 역행렬은 가우시안 제거 및 보조인자 확장과 같은 방법을 사용하여 얻을 수 있습니다. numpy~ 안에 np.inv역행렬은 다음과 같이 얻습니다.
의사 역
연립방정식과 유사역행렬
정방행렬이 아니어서 역행렬을 구할 수 없다면 의사 역행렬이나 역 무어-펜로즈 행렬 $A^+$를 사용한다.
열보다 행이 많은지 적은지에 따라 의사 역행렬을 계산하는 방법이 다릅니다.
$n > m$이고 모든 열 벡터가 선형 독립이면 $A+ = (A^TA)^{-1}A^T$
$n \leq m$ 및 모든 행 벡터가 선형 독립인 경우 $A+ = A^T(AA^T)^{-1}$
$i\leq j$가 의사 역행렬을 거치는 경우, 즉 식이 변수의 개수보다 작거나 같으면 $(a_{ij})$와 $(b_{i})$ 상황에서 주어진 조건을 충족 우리는 (x_j)$를 찾는 문제를 해결할 수 있습니다.
$\mathbf{Ax} = \mathbf{b}$에서 $\mathbf{x}$는 $\mathbf{A}$와 $\mathbf{b}$의 유사한 역행렬의 곱입니다.
numpy~ 안에 np.linalg.pinv()의사 역행렬은 다음과 같이 얻습니다.
무어 펜로즈의 선형 회귀 및 역행렬
$i \ge j$의 경우는 변수보다 데이터가 더 많다는 것을 의미하며, 이 경우 역무어-펜로즈 행렬을 이용하여 선형회귀분석에서 선형회귀식을 구할 수 있다.
$\mathbf{X}\beta = \hat{\mathbf{y}} \approx \mathbf{y}$
여기서 $\mathbf{X}$는 선형 회귀 방정식의 변수, $\beta$는 계수, $\mathbf{y}$는 실제 값입니다.
$\mathbf{X}\beta$를 구하면 선형회귀식으로 구한 예측값이 되고 실제 값 $\mathbf{y}$에 근사해야 한다.
즉, 예측값에 최대한 근접한 선형회귀식의 계수를 찾는 것이 관건이다.
그러나 이를 완벽하게 만족하는 해를 찾을 수 없기 때문에 $\mathbf{\hat{y}}$와 $\mathbf{y}$ 사이의 오차가 최소인 $\beta$를 찾는다.
이때 역 Moore-Penrose 행렬을 이용하여 다음과 같이 정리할 수 있다.
$\beta=\mathbf{(X^{T}X)^{-1}X^T}\mathbf{y}$
요약하면 $\hat{\mathbf{y}}$와 $\mathbf{y}$ 사이의 $L_2$ 노름 거리가 최소일 때 선형 회귀 방정식이 가장 좋다는 것을 알 수 있습니다. 의사 역행렬은 계산 과정에서 사용됩니다.
$L_2$ 놈을 최소화하는 선형 모델을 찾는 데 있어서 역 무어-펜로즈 행렬을 이용하여 선형 회귀 방정식의 계수를 구한다.
긍정적인 결정
먼저 내부 제품은 다음 기사에서 자세히 다루었습니다.
벡터 정의 및 내적 세트
AI에서 주로 사용되는 기본 데이터 구조인 벡터에 대해 알아보고 벡터를 이해하는 데 필요한 노름, 내적, 직교성 등의 다양한 개념을 탐구합니다. 벡터의 정의 벡터는
lookyes.com
대칭, 양의 정부호
대칭 및 양의 정부호 행렬은 ML(머신 러닝)에서 매우 중요한 역할을 하며 내적으로 정의될 수도 있습니다.
차원 $n$의 벡터 공간에 정의된 내적 $\langle \cdot, \cdot \rangle$이 있고 이 벡터 공간에서 기저 $B = (b_1, \dots , b_n)$가 있다고 가정합니다. 그런 다음 벡터 공간 V에서 모든 벡터 $x, y \in V$는 다음과 같이 표현될 수 있습니다.
$$\begin{정렬} x = \sum_{i = 1}^n \psi_i b_i \\ y = \sum_{j = 1}^n \lambda_j b_j \end{정렬}$$
기저의 정의에 따르면 벡터 공간의 기저는 벡터 공간에 존재하는 모든 벡터를 요소의 선형 조합으로 나타낼 수 있기 때문입니다.
그런 다음 이 $x,y$의 내적을 찾으면 다음과 같이 정리할 수 있습니다.
$$\langle x ,y \rangle = \langle \sum_{i=1}^n \psi_i b_i, \sum_{j=1}^n \lambda_j b_j \rangle = \sum_{i = 1}^n \ sum_{j = 1}^n \psi_i \langle b_i, b_j \rangle \lambda_j = \hat{x}^{\intercal} A \hat{y}$$
여기서 행렬 $A$의 각 요소는 밑을 이루는 요소 쌍의 내적이며 내적은 정의상 대칭이므로 $A$도 당연히 대칭입니다. 그리고 $\hat{x}$ 및 $\hat{y}$는 밑변 $B$에 대한 벡터 $x, y$의 좌표로 해석될 수 있습니다.
스칼라 곱 $\langle \cdot, \cdot \rangle$이 행렬 $A$에 의해 고유하게 정의된다는 것이 중요합니다. 또한, 스칼라 곱은 정의상 양의 정부호 성질을 가지므로 벡터 공간 $V$에서 0 벡터를 제외한 모든 벡터에 대해 다음과 같은 사실을 추론할 수 있습니다.
$$\모든 x \in V \setminus {0}에 대해 : x^{\intercal} Ax > 0$$
즉, 자신의 벡터의 내적은 0 벡터가 아닌 한 항상 0보다 커야 하며, $A$는 위 식을 만족하면 대칭 양의 정부호(또는 단순히 양의 정부호)라고 합니다. 즉, 위의 식은 행렬 $A$가 양의 정부호 대칭이라는 정의입니다.
이를 직관적으로 이해하기 위해 벡터 $x$가 존재하고 임의의 양의 정부호 대칭행렬 $A$로 표현되는 변환을 $x$에 적용하여 변환하면 $와 내적을 한다면 결과는 0보다 크다. x$ 값이 나옵니다. 즉, $x$를 $A$로 변환한 결과 벡터는 $x$를 기준으로 90도 이내의 유사한 방향을 가리킵니다. 0보다 작으면 내적은 음수입니다.
위의 정의에서 $ \ge $를 $ \gt $로 바꾸면 대칭적인 준정의이다.
양의 정부호 및 내적
행렬 $A$가 벡터 공간 $\mathbb{R}^{n \times n}$ 대칭 양의 정부호이면 $\hat{x}^{\intercal} A \hat{y}^{\intercal } $는 주어진 벡터 공간 $V$에 속하는 각 벡터 $x$, $y$와 벡터 공간에 속하는 주어진 기저 $B$에 대한 내적 $\langle x, y \rangle$로 정의할 수 있습니다. 양식. .
즉, 스칼라 곱은 이 $A$에 의해 유일하게 결정된다고 결론지을 수 있다. 이것은 위에서 논의한 것에서도 발견됩니다.
양의 정부호의 속성
$A\in \mathbb{R}^{n\times n}$가 양의 정부호 대칭이면 다음 속성이 충족됩니다.
(1) $A$의 null space(kernel)는 null vector만을 원소로 갖는다. 그 이유는 $x^{\intercal} A x > 0$가 $x \ne 0$인 모든 벡터 $x$에 대해 만족되기 때문입니다. 이는 $x \ne 0$이면 $Ax \ne 0$임을 의미합니다.
(2) $A$의 대각선 요소인 $a_{ii}$는 모두 양수입니다. (0보다 큼.) $\hat{x}^{\intercal} A \hat{x}^에서 $x$ 대신 $\mathbb{R}^n$의 표준 기수인 $e_i입니다. { \intercal}$ $를 $a_{ii} = \hat{e_i}^{\intercal} A \hat{e_i}^{\intercal}$로 바꿉니다.
물론 이렇게 함으로써 양의 정부호 행렬의 모든 고유값이 0보다 크다는 사실을 얻을 수 있으며, 이러한 성질을 이용한 예는 다음 글의 푸리에 특징의 처리에서 찾아볼 수 있다.
뉴럴 탄젠트 코어와 푸리에 특징을 이용한 위치 부호화 (3) – 푸리에 특징 이 기사 시리즈는 “Neural Tangent Kernel: Convergence and Generalization in Neural Networks”라고 하며 “Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains” 논문과 이를 이해하는 데 필요한 콘텐츠를 소개합니다. lookyes.com
원천
1. 네이버 부스트캠프 AI 테크 1급 기초수학 강의
2. 기계 학습을 위한 수학, Cambridge University Press, Marc Peter Deisenroth