무어-펜로즈 역행렬 학습 중 의문점
무어-펜로즈 역행렬 or 유사 역행렬 [np.linalg.pinv]
- A의 역행렬을 계산할 수 없다면 유사 역행렬을 사용.
n * m matrix A에 대해 transpose(A) * A, A * transpose(A)의 역행렬이 존재한다면 아래가 성립.
- 무어-펜로즈 유사역행렬의 일반화된 정의는 위와 다르다.(아래 Reference 참조) 신기한 점은 무어-펜로즈 유사 역행렬은 항상 존재하고 유일하다. (!!)
- 식의 개수가 변수 개수보다 적은 연립방정식의 해를 '하나' 구할 수 있음. (n < m인 경우)
연립방정식을 행렬의 곱셈 Ax = b로 표현하면,
처음에는 왼쪽에서 오른쪽 결과를 유도하기 위해 좌측역행렬을 곱해야 한다고 생각했다. 하지만, 좌측역행렬을 곱해서 나온 x는 Ax = b이기 위한 필요조건이지 충분조건이 아니기 때문에 해가 되지 않을 수 있다.
오히려 반대로 x = Bb가 해가 되는 게 존재한다고 가정하고 행렬 A를 곱한 Ax = ABb 가 원래의 식 Ax = b가 되기 위한 B를 찾아야 한다. B를 우측 역행렬로 가정하면 되고 이 때야 말로 x가 Ax=b가 되는 충분조건이 된다.
따라서 무어펜로즈 역행렬을 이용하면 주어진 방정식의 해를 하나 찾을 수 있다.
- 선형회귀분석 [np.linalg.pinv]
식의 개수가 변수 개수보다 많은 연립방정식 XB = y (n * m sizes matrix X. n > m인 경우)
우측 역행렬이 아니라 좌측 역행렬을 곱해준다.
우선, y가 영벡터가 아니고 n개의 행벡터가 서로 독립이라면 Xb = y가 되는 해는 존재하지 않는다. 그래서 여기서는 위에처럼 필요조건, 충분조건을 따질 필요가 없다.
y^는 방정식의 해가 아니라, 주어진 점들을 가장 잘 표현할 수 있는 선형회귀식을 뜻한다. (y - y^)의 L2 노름의 크기를 최소화할 수 있는 선형회귀식을 찾는 게 목표.
n개의 행벡터의 선형조합으로 만들어진 y^는 X의 n개 행벡터로 만들어지는 span 위에 존재한다. y^ = XB로 표현 가능. y와 y^를 잇는 직선이 X의 행벡터들과 수직일 때 노름의 크기가 최소라고 할 수 있다.
- 무어-펜로즈 역행렬의 '펜로즈'가 2020년 노벨물리학상을 받은 '로저 펜로즈'였다..
Reference
- 부스트캠프 AI Tech
- 위키피디아 무어-펜로즈 유사역행렬
* 야매스러운 증명/ 논리가 있을 수 있고, 전문적이지 않습니다.
* 개선사항/오타/오류 지적, 감사합니다.