행렬, 역행렬 및 양의 정부호

행렬은 선형대수학에서 숫자를 다룰 때 자주 사용되는 형태이며, 본질적으로 AI 모델 코드는 텐서 기반의 파이토치(PyTorch)로 작성되는 경우가 많기 때문에 행렬에 대한 명확한 이해를 바탕으로 자유롭게 조작할 수 있는 능력이 중요하다. 행렬의 기본과 정방행렬의 역행렬과 비정방행렬의 의사역행렬에 대해 알아봅시다.

행렬

행렬 정의

$$ \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix} $$

행렬의 정의는 다음과 같이 정의할 수 있습니다.

  • 벡터가 요소인 2D 배열
  • 동일한 차원의 벡터 배열

즉, 행렬은 벡터를 요소로 하는 2차원 행렬입니다. listarray오전.

numpy행 벡터를 기본 단위로 간주합니다.

행렬에는 $n$ 벡터가 있고 vevtor에는 $m$ 요소가 있습니다.

행렬의 표현

  • 행렬은 $\mathbf{X}$로 표현됩니다.
  • 행렬의 원소인 벡터는 $(\mathbf{x_1}, \mathbf{x_2}, … , \mathbf{x_n})$로 표현된다.
  • 행렬의 $n$번째 벡터이고 $m$번째 원소는 $x_{nm}$로 표현된다.

행렬 이해

  • 행렬은 두 개의 인덱스(행과 열)를 갖는 것으로 생각할 수 있습니다.
  • $m$ 차원 공간에서 $n$ 포인트로 구성된 데이터 세트로 생각할 수도 있습니다.
  • 즉, $i$번째 데이터의 $j$번째 변수 값을 가져오는 데 사용할 수 있습니다.
  • 특정 행이나 열이 지정되면 행 벡터 또는 열 벡터로 이해할 수 있습니다.

이 이해 기술은 브로드캐스트 또는 요소별 작업을 통해 데이터를 조작하는 데 유용하게 사용될 수 있습니다.

전치행렬

matrix_transpose

행렬 $A$의 행 및 열 인덱스를 변경하면 행렬 $A^T$가 전치됩니다.

$A$: mxn 행렬 → $A^T$: nxm 행렬 $x_{ij}$ → $x_{ji}$

매트릭스 연산

행렬 덧셈과 뺄셈

1200px-Matrix_addition_qtl2.svg

(원천) 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}$의 열 벡터에 있는 요소의 수가 같아야 합니다.

890px matrix_vector_multiplication.svg

(원천) 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$

역행렬의 의미

inverse_operator

주어진 행렬 $\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