Machine Learning/기법

[통계] 행렬(Matrix), 행렬 미분

파송송 2023. 3. 30. 15:24
728x90

Matrix 미분 표기법

Numerator layout

  • 분자 중심의 행렬 미분으로 미분당하는 변수(혹는 함수)를 기준으로 결과의 형태를 표기함
    • y(피미분)의 형태로 미분 결과가 나옴

Denumerator layout

  • 분모 중심의 행렬 미분으로 미분을 하는 변수(혹은 함수)를 기준으로 결과의 형태를 표기함
    • x(미분)의 형태로 미분 결과가 나옴

Scalar Vector 미분

Scalar를  Vector로 미분


Numerator layout

Denumerator layout
Denumerator layout을 T한것과 동일 \( \frac{\delta y}{\delta x}= \begin{bmatrix} \frac{\delta y}{\delta x_{1}} &  \ldots  &\frac{\delta y}{\delta x_{p}} \end{bmatrix}  \) x가 column 형태로 있기 때문에 결과도 column 형태로 출력 \( \frac{\delta y}{\delta x}=  \begin{bmatrix} \frac{\delta y}{\delta x_{1}} \\
 \ldots \\
\frac{\delta y}{\delta x_{p}} 
 \end{bmatrix}  \)
Denumerator layout을 T한것과 동일 \( \frac{\delta y}{\delta x^{T}}=  \begin{bmatrix} \frac{\delta y}{\delta x_{1}} \\
 \ldots \\
\frac{\delta y}{\delta x_{p}} 
 \end{bmatrix}  \)
x가 row 형태로 있기 때문에 결과도 row 형태로 출력 \( \frac{\delta y}{\delta x^{T}}= \begin{bmatrix} \frac{\delta y}{\delta x_{1}} &  \ldots  &\frac{\delta y}{\delta x_{p}} \end{bmatrix} \)
  • 이 게시글의 vector의 기본형은 column vector로 통일함
  • x가 미분변수 vector
  • y가 피미분변수 scalar

Vector를 Scalar로 미분

Numerator layout Denumerator layout
x가 column 형태로 있기 때문에 결과도 column 형태로 출력 \( \frac{\delta x}{\delta y}=  \begin{bmatrix} \frac{\delta x_{1}}{\delta y} \\
 \ldots \\
\frac{\delta x_{p}}{\delta y} 
 \end{bmatrix}  \) 
Numerator layout을 T한것과 동일 \( \frac{\delta x}{\delta y} =  \begin{bmatrix} \frac{\delta x_{1}}{\delta y} &  \ldots  & \frac{\delta x_{p}}{\delta y} \end{bmatrix}  \)
  • x가 미분변수 vector
  • y가 피미분변수 scalar

Scalar Matrix 미분

Scalar를 Matrix로 미분

Numerator layout Denumerator layout
Denumerator layout을 T한것과 동일 \( \frac{\delta y}{\delta M}= \begin{bmatrix} \frac{\delta y}{\delta x_{11}} &  \ldots  & \frac{\delta y}{\delta x_{m1}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta y}{\delta x_{1n}}& \ldots &\frac{\delta y}{\delta x_{mn}}
 \end{bmatrix} 
\)
Matrix 형태로 출력됨 \( \frac{\delta y}{\delta M}= \begin{bmatrix} \frac{\delta y}{\delta x_{11}} &  \ldots  & \frac{\delta y}{\delta x_{1n}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta y}{\delta x_{m1}}& \ldots &\frac{\delta y}{\delta x_{mn}}
 \end{bmatrix}  \)

Matrix를 scalar로 미분

Numerator layout Denumerator layout
Matrix 형태로 출력됨 \( \frac{\delta M}{\delta y}= \begin{bmatrix} \frac{\delta x_{11}}{\delta y} &  \ldots  & \frac{\delta x_{m1}}{\delta x_{y}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta x_{m1}}{\delta y}& \ldots &\frac{\delta x_{mn}}{\delta y}
 \end{bmatrix} \)
Numerator layout을 T한것과 동일 \( \frac{\delta M}{\delta y}= \begin{bmatrix} \frac{\delta x_{m1}}{\delta y} &  \ldots  & \frac{\delta x_{m1}}{\delta x_{y}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta x_{n1}}{\delta y}& \ldots &\frac{\delta x_{mn}}{\delta y}
 \end{bmatrix} \) 

Vector Vector 미분

제일 많이 쓰이기에 잘 알아둬야함

Numerator layout Denumerator layout
Denumerator layout을 T한것과 동일 \( \frac{\delta y}{\delta x}= \begin{bmatrix} \frac{\delta y_{1}}{\delta x_{1}} &  \ldots  & \frac{\delta y_{1}}{\delta x_{q}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta y_{p}}{\delta x_{1}}& \ldots &\frac{\delta y_{p}}{\delta x_{q}}
 \end{bmatrix}  \)
x는 column 형태로 있고 그대로 미분되어 출력됨 \( \frac{\delta y}{\delta x}= \begin{bmatrix} \frac{\delta y_{1}}{\delta x_{1}} &  \ldots  & \frac{\delta y_{p}}{\delta x_{1}} \\
 \vdots  &   \ddots & \vdots  \\
\frac{\delta y_{1}}{\delta x_{q}}& \ldots &\frac{\delta y_{p}}{\delta x_{q}}
 \end{bmatrix} \)
  • 이 게시글의 vector의 기본형은 column vector로 통일한다고 하였기에 x의 형태를 자세하기 보길 바람

미분 증명

\( \frac{\delta a^{T}x}{\delta x} \)의 미분 (Numerator layout)

  • \( a^{T}x \)는 스칼라이므로, column 벡터로 미분한 결괏값은 row 벡터가 됨(Numerator layout)
  • \(  \frac{\delta a^{T}x}{\delta x}  = \begin{bmatrix} \frac{\delta a^{T}x}{\delta x_{1}}  &  \ldots &  \frac{\delta a^{T}x}{\delta x_{1}}\end{bmatrix} = \begin{bmatrix}  \frac{\delta (a_{1}x_{1}+ \ldots +a_{p}x_{p})}{\delta x_{1}}  &  \ldots  & \frac{\delta (a_{1}x_{1}+ \ldots +a_{p}x_{p})}{\delta x_{p}}
    \\\end{bmatrix} = \begin{bmatrix}a_{1} &   \ldots  &a_{n} \end{bmatrix} = a^{T} \) 
  • \(  \frac{\delta x^{T}a}{\delta x}  = \begin{bmatrix}a_{1} &   \ldots  &a_{n} \end{bmatrix} = a^{T} \) 
    • x가 column이기 때문에 row로 결과가 나옴
  • \( \frac{\delta a^{T}x}{x^{T}} = \begin{bmatrix} \frac{\delta x^{T}a}{x_{1}} \\
    \vdots \\
    \frac{\delta x^{T}a}{x_{p}}
    \end{bmatrix} =
    \begin{bmatrix} \frac{\delta a_{1}x_{1}+ \ldots +a_{p}x_{p}}{x_{1}} \\
    \vdots \\
    \frac{\delta a_{1}x_{1}+ \ldots +a_{p}x_{p}}{x_{p}}
    \end{bmatrix} =
     \begin{bmatrix}a_{1}\\
      \vdots  \\
    a_{n} \end{bmatrix} = a \) 
  • \( \frac{\delta x^{T}a}{x^{T}}= \begin{bmatrix}a_{1}\\
      \vdots  \\
    a_{n} \end{bmatrix} = a \) 
    • x가 row이기 때문에 column으로 결과나 나옴 

\( Ax\)의 미분

  • \(A: (n \times p), x:p \times 1 \) (Numerator layout)
  • \( Ax (n \times 1) \)
  • Numerator layout 이기 때문에 미분한 결과의 행의 수는 n개가 나와야 함. 결과값은 (nxp)가 나와야함
  • \( A =  \begin{bmatrix}a_{11} &  \ldots  & a_{1p} \\
     \vdots  &  \ddots  &  \vdots \\
    a_{n1} &  \ldots &a_{np} \end{bmatrix} ,
    x =  \begin{bmatrix}x_{1}\\
     \vdots \\
    x_{p}
     \end{bmatrix} ,
    Ax =  \begin{bmatrix}  \sum_{j=1}^p a_{1j}x_{j}\\
    \vdots\\ 
    \sum_{j=1}^p a_{nj}x_{j}
    \end{bmatrix} \)
  • \( \frac{\delta Ax}{\delta x} =  \begin{bmatrix} \frac{ \sum_{j=1}^p a_{1j}x_{j}}{\delta x_{1}} &  \ldots  &  \frac{ \sum_{j=1}^p a_{1j}x_{j}}{\delta x_{p}}\\
     \vdots & \ldots & \vdots \\
    \frac{ \sum_{j=1}^p a_{nj}x_{j}}{\delta x_{1}} &  \ldots  &\frac{ \sum_{j=1}^p a_{nj}x_{j}}{\delta x_{p}} \end{bmatrix} 
    = \begin{bmatrix}a_{11}&  \ldots  & a_{1p}\\
     \vdots &  \ddots  &  \vdots  \\
    a_{n1} &  \ldots & a_{np} \end{bmatrix} = A \)

주요 미분 수식

  • \( \frac{\delta a^{T}x}{\delta x} = \frac{\delta x^{T}a}{\delta x}=a^{T} \) 
  • \( \frac{\delta a^{T}x}{\delta x^{T}} = \frac{\delta x^{T}a}{\delta x^{T}}=a \)
  • \( \frac{\delta Ax}{\delta x}(=\frac{\delta Ax}{\delta x^{T}}) = A \)
  • \( \frac{\delta x^{T}A}{\delta x}(=\frac{\delta x^{T}A}{\delta x^{T}}) = A^{T} \) 
    • \( (ax)^{\prime}=a \) 실수 미분과 같은 공식을 가짐
  • \( \frac{\delta x^{T}Ax}{\delta x} = x^{T}(A+A^{T}), x:p \times1, A: p \times p \)
  • \( \frac{\delta x^{T}Ax}{\delta x^{T}} = (A+A^{T})x, x:p \times1, A: p \times p \)
    • \( (ax^{2})^{\prime} =2ax  \Rightarrow X^{T}\cdot A \cdot X \)

회귀분석 미분

  • 회귀분석의 모델의 형태 : \( y = X\beta + \varepsilon \)
  • 오차제곱합: \( R(\beta) = (y-X\beta)^{T}(y-X\beta) \)
  • 오차제곱합을 최소로 만드는 \( \hat{\beta} \)(column vector)를 구해야 함
  • 미분
    • \( \frac{\delta R(\beta)}{\delta \beta^{T}} =  \frac{\delta (y-X\beta)^{T}(y-X\beta)}{\delta \beta^{T}} = \frac{\delta ( y^{T}y-\beta^{T}X^{T}y-y^{T}X\beta + \beta^{T}X^{T}X\beta  )}{\delta \beta^{T}}=-2X^{T}y+2X^{T}X\beta \)
  • \( -2X^{T}y+2X^{T}X\hat{\beta} = 0 \)
  • \( \hat{\beta}=(X^{T}X)^{-1}X^{T}y \)
728x90