유사 역행렬(Pseudo inverse matrix, Moore-Penrose inverse matrix)

유상준·2022년 9월 21일
0

유사 역행렬이란?

  • 유사 역행렬은 무어-펜로즈 역행렬이라고도 불리우며, 정방행렬이 아닌 행렬의 역행렬을 구하고자 할 때 사용된다
An×m{Am×n+=(ATA)1AT,A+A=Im×mif  nmAm×n+=AT(AAT)1,AA+=In×nif  n<mA_{n\times m} \begin{cases} A^+_{m\times n} = (A^TA)^{-1}A^T,\quad A^+A = I_{m\times m} \quad if\;n\geq m\\ A^+_{m\times n} = A^T(AA^T)^{-1},\quad AA^+ = I_{n\times n} \quad if\;n<m \\ \end{cases}

어떻게 쓰일까?

1. n < m 인 경우

만약 n < m 이고, Ax = b와 같은 상황에서, 유사 역행렬을 이용하면 연립방정식의 해의 개수를 구하는 원리에 의해(식의 개수가 변수의 개수보다 작거나 같은 상황) 적어도 한개의 해를 찾을 수 있다 (An×m,xm×1,bn×1A_{n\times m},x_{ m\times 1}, b_{n\times 1})

A=[a11a1man1anm],x=[x1xm],b=[b1bn]A = \begin{bmatrix} a_{11} & \cdots & a_{1m} \\ \vdots & \ddots & \vdots \\ a_{n1} & \cdots & a_{nm} \end{bmatrix}, \quad x =\begin{bmatrix} x_{1} \\ \vdots \\ x_{m} \end{bmatrix}, \quad b = \begin{bmatrix} b_{1} \\ \vdots \\ b_{n} \end{bmatrix}

x=A+bx=AT(AAT)1bx = A^+b\\x = A^T(AA^T)^{-1}b

2. n > m 인 경우

n은 데이터의 개수, m은 변수의 개수를 의미한다고 간주하여 선형 회귀식의 회귀계수를 추정하는데에 이용할 수 있다 (Xn×m,βm×1,yn×1X_{n\times m},\beta _{ m\times 1}, y_{n\times 1})
하지만 차이점이 있다면, 식의 개수가 변수의 개수보다 많기 때문에, 해를 찾아내는 방정식의 개념과는 다르다. 즉 XX자체를 구할 수는 없고, XXyy가 주어졌을 때, 최적의 β\beta를 찾는 방식과 유사하다고 할 수 있다
(최적의 β\beta 기준 : L2 norm을 최소화 하는)

X=[x11x1mxn1xnm],β=[β1βm],y=[y1yn]X = \begin{bmatrix} x_{11} & \cdots & x_{1m} \\ \vdots & \ddots & \vdots \\ x_{n1} & \cdots & x_{nm} \end{bmatrix}, \quad \beta =\begin{bmatrix} \beta_{1} \\ \vdots \\ \beta_{m} \end{bmatrix}, \quad y = \begin{bmatrix} y_{1} \\ \vdots \\ y_{n} \end{bmatrix}

Xβ =y^y,β=(XTX)1XTyX\beta\ = \hat{y} \approx y,\\ \beta = (X^TX)^{-1}X^Ty

위와 같이 XX의 유사 역행렬을 이용하여 yy에 근사하는 y^\hat{y}을 추정하기 위한 β\beta를 구할 수 있다

profile
데이터 사이언티스트 지망생

0개의 댓글