AI 논문을 읽다보면 항상 행렬이 포함된 수식들을 만나게 됩니다.
그 중에서도 역행렬 연산을 만나게 될 때, 이런 궁금증이 생긴적이 있습니다.
"역행렬은 정사각행렬일 때만 정의된다고 배웠는데, 정사각행렬이 아닌 경우가 훨씬 많을텐데 어떻게 역행렬을 계산한거지?"
그래서 찾아보니 유사 역행렬(pseudo-inverse)라는 개념이 있었습니다.
이것을 활용하면 정사각행렬이 아닌 경우에도 역행렬을 구할 수 있고, 이는 곧 다양한 상황에서 최적해를 찾는데 도움을 줍니다.
유사 역행렬 계산 방법
이런 방정식이 있다고 해봅시다.
$$Ax = b$$
위 식의 해를 구하기 위해서는 양변에 $A^{-1}$를 곱해주면 됩니다.
그런데 만약 $A$가 정사각행렬이 아니라면?
$A^{-1}$를 정의할 수 없으므로 불가능하겠지요.
하지만, 이 때 완벽한 해는 아닐지라도 근접한 최적해를 구할 수 있는 방법이 있는데요, 그게 바로 유사 역행렬(pseudo-inverse)입니다.
아래 순서대로 연산을 수행하면 됩니다.
1. $Ax=b$의 양변에 $A^T$를 곱해줍니다. ($A$의 크기는 m*n)
2. 이 때 $A^TA$는 n*n 크기의 행렬이 됩니다. (역행렬 정의 가능)
3. $(A^TA)^{-1}$를 양변에 곱해줍니다.
이러한 방식으로 $A$가 정사각행렬이 아니더라도 $x$의 근사해를 구해낼 수 있습니다.
'Study > Linear Algebra' 카테고리의 다른 글
[Linear Algebra] Eigenvalue(고유값), Eigenvector(고유벡터)에 대하여 (0) | 2025.07.01 |
---|---|
[Linear Algebra] Determinant(행렬식)에 대하여 (0) | 2025.06.23 |
[Linear Algebra] Matrix(행렬)은 Linear Operator(선형 연산자)이다? (0) | 2025.05.19 |
[Linear Algebra] Null Space(영공간)에 대하여 (0) | 2025.05.18 |