행렬 미분과 관련된 내용을 정리합니다. (Updating)
익숙한 함수의 형태는 $\text { scalar } x \rightarrow \text { scalar } f$와 같이 입력과 출력이 스칼라인 경우이다. 입력/출력이 여러개인 다변수함수를 벡터/행렬의 관점에서 이해해보자.
함수와 벡터/행렬
Matrix or vector derivatives
1. 입력변수/독립변수가 여러개인 함수의 경우, 벡터와 행렬을 입력으로 가진 것으로 생각할 수 있다.
- $\text { vector } x \rightarrow \text { scalar } f$ : $f\left(\left[\begin{array}{l}
x_{1} \\
x_{2}
\end{array}\right]\right)=f(x)=f\left(x_{1}, x_{2}\right)$
벡터 ⇒ 행렬로 확장하면 다음과 같이 나타낼 수 있다.
- $\text { matrix } x \rightarrow \text { scalar } f$ : $f\left(\left[\begin{array}{ll}
x_{11} & x_{12} \\
x_{21} & x_{22}
\end{array}\right]\right)=f(X)=f\left(x_{11}, \cdots, x_{22}\right)$
2. 출력변수/종속변수가 여러개인 함수의 경우, 여러개의 함수를 합쳐놓은 것으로 생각할 수 있다.
$\text { scalar } x \rightarrow \text { vector } f$ :
$f(x)=\left[\begin{array}{l}
f_{1}(x) \\
f_{2}(x)
\end{array}\right]$$\text { scalar } x \rightarrow \text { matrix } f$ : $f(x)=\left[\begin{array}{ll}
f_{11}(x) & f_{12}(x) \\
f_{21}(x) & f_{22}(x)
\end{array}\right]$
3. 출력변수와 입력변수 모두 여러개인 함수는 벡터/행렬을 입력과 출력으로 가진 것으로 이해할 수 있다.
$\text { vector } x \rightarrow \text { vector } f$ : $f(x)=\left[\begin{array}{l}
f_{1}\left(x_{1}, x_{2}\right) \\
f_{2}\left(x_{1}, x_{2}\right)
\end{array}\right]$$\text { vector } x \rightarrow \text { matrix } f$ : $f(x)=\left[\begin{array}{ll}
f_{11}\left(x_{1}, x_{2}\right) & f_{12}\left(x_{1}, x_{2}\right) \\
f_{21}\left(x_{1}, x_{2}\right) & f_{22}\left(x_{1}, x_{2}\right)
\end{array}\right]$
1,2,3
과 같이 입력 혹은 출력이 행렬인 함수를 미분하는 것을 행렬미분 matrix differentiation
이라고 한다. (⇒ 실제로는 편미분 partial derivative
에 해당함)
행렬 미분
머신러닝에서 출력이 스칼라고, 입력이 벡터인 다변수 함수를 사용하는 경우가 많기 때문에, 편미분이 $\frac{\partial f}{\partial x_{1}}, \frac{\partial f}{\partial x_{2}}, \cdots$ 여러 개가 존재할 수 있다.
행렬미분의 표현법
행렬미분을 표기함에 있어 Numerator-layout notation
분자중심 & Denominator-layout notation
분모중심 2가지가 있다.
행렬 미분 - 분모중심표기법
분모중심 표기법으로 결과의 형태를 살펴보면 다음과 같다.
스칼라를 벡터로 미분 ⇒ 열벡터 (
gradient vector
그래디언트 벡터) : $\nabla y=\frac{\partial y}{\partial \mathbf{x}}=\left[\begin{array}{c}
\frac{\partial y}{\partial x_{1}} \\
\frac{\partial y}{\partial x_{2}} \\
\vdots \\
\frac{\partial y}{\partial x_{n}}
\end{array}\right]$벡터를 스칼라로 미분 ⇒ 행벡터 : $\frac{\partial \mathbf{y}}{\partial x}=\left[\begin{array}{llll}
\frac{\partial y_{1}}{\partial x} & \frac{\partial y_{2}}{\partial x} & \cdots & \frac{\partial y_{m}}{\partial x}
\end{array}\right]$벡터를 벡터로 미분 ⇒ 행렬 : $\frac{\partial \mathbf{y}}{\partial \mathbf{x}}=\left[\begin{array}{cccc}
\frac{\partial y_{1}}{\partial x_{1}} & \frac{\partial y_{2}}{\partial x_{1}} & \cdots & \frac{\partial y_{m}}{\partial x_{1}} \\
\frac{\partial y_{1}}{\partial x_{2}} & \frac{\partial y_{2}}{\partial x_{2}} & \cdots & \frac{\partial y_{m}}{\partial x_{2}} \\
\vdots & \vdots & \ddots & \vdots \\
\frac{\partial y_{1}}{\partial x_{n}} & \frac{\partial y_{2}}{\partial x_{n}} & \cdots & \frac{\partial y_{m}}{\partial x_{n}}
\end{array}\right]$스칼라를 행렬로 미분 ⇒ 행렬 : $\frac{\partial y}{\partial \mathbf{X}}=\left[\begin{array}{cccc}
\frac{\partial y}{\partial x_{11}} & \frac{\partial y}{\partial x_{12}} & \cdots & \frac{\partial y}{\partial x_{1 q}} \\
\frac{\partial y}{\partial x_{21}} & \frac{\partial y}{\partial x_{22}} & \cdots & \frac{\partial y}{\partial x_{2 q}} \\
\vdots & \vdots & \ddots & \vdots \\
\frac{\partial y}{\partial x_{p 1}} & \frac{\partial y}{\partial x_{p 2}} & \cdots & \frac{\partial y}{\partial x_{p q}}
\end{array}\right]$
행렬미분법칙
선형 모형 미분
선형 모형 미분 ⇒ 가중치 벡터
$y=w^{T} x$ ⇒ $\nabla y=\frac{\partial w^{T} x}{\partial x}=\frac{\partial x^{T} w}{\partial x}=w$
이차 형식(Quadratic Form)
이차 형식 미분 ⇒ 행렬과 벡터의 곱
$y=x^{T} A x$ ⇒ $\nabla y=\frac{\partial x^{T} A x}{\partial x}=\left(A+A^{T}\right) x$
스칼라 미분 vs 벡터/행렬 미분
스칼라 미분 | 벡터/행렬 미분 |
---|---|
$ax \rightarrow a$ | $\quad w^{T} x \rightarrow w$ |
$a x^{2} \rightarrow 2 a x$ | $\quad x^{T} A x \rightarrow\left(A+A^{T}\right) x$ |
Source&Reference : 데이터사이언스스쿨
'Statistics > Mathematics for ds' 카테고리의 다른 글
[선형대수학] 벡터와 행렬의 연산 - 내적과 내적의 활용 (0) | 2021.11.12 |
---|---|
[선형대수학] Notation for LinearAlgebra (0) | 2021.11.12 |
[선형대수학] 선형연립방정식과 역행렬 (0) | 2021.11.09 |
[선형대수학] 고유분해 - 고유값, 고유벡터 (0) | 2021.11.09 |
[선형대수학] 벡터와 행렬의 성질 - 놈, 대각합, 행렬식 (0) | 2021.11.02 |