1.2.2 열과 행의 곱셈에 대한 이해
데이터 과학에서 외적을 이용한 행렬 곱셈이 필수적인 이유는 무엇일까? 간단히 말하자면 우리는 행렬에서 어떤 중요한 부분을 찾으려 하기 때문이다. 일반적으로 A의 가장 큰 성분을 원하진 않는다.
더 중요한 것은 A의 가장 큰 부분이고, 그 부분은 바로 랭크 1 행렬 uv^T 이다. 응용 선형 대수학에서 중요한 주제는 다음과 같다.
A 를 CR 로 분해하라. 그리고 A = CR 의 부분 c_kr_k 를 살펴보아라.
A 를 CR 로 분해하는 것은 행렬 곱셈 CR = A 의 역과정이다. 특히 그 계산에 고윳값 또는 특이값이 필요하다면 분해하는 데 훨씬 더 오랜 시간이 걸린다.
하지만 고윳값과 특잇값은 행렬의 중요한 정보를 제공한다. 그 정보는 행렬을 분해하지 않으면 직접 볼 수 없다.
다음은 5개의 중요한 행렬 분해이다. 분해하기 전의 행렬은 보통 A 로 표기하며 아래 5개의 중요한 분해에서도 같은 표기를 사용할 것
- A = LU 는 소거법에서 얻는다. 행의 일차결합으로 A 에서 U 를, U 에서 A 를 얻을 수 있다.
- L 은 하삼각 행렬 Lower triangular matrix, U 는 상삼각행렬 Upper triangular matrix 이다.
- A = QR 는 그람-슈미트를 통해 열 a1, ..., an 을 직교화 orthogonalizing 하여 얻는다. Q에 정규직교인 열이 있으며(Q^TQ=I) R은 상삼각행렬이다.
- S = Q∀Q^T 는 대칭행렬 symmetric matrix S =S^T 의 고윳값 lamda1,...,lamda n 에서 얻는다. 이때 A의 대각성분은 고윳값이며, Q의 열은 정규직교인 고유벡터이다.
- A는 A = X∀X^-1 로 대각화 diagonalization 할 수 있으며, 대각화는 행렬에 일차독립인 고유벡터가 n 개일 때 간으하다. ∀의 대각 성분은 고윳값이며, X의 열은 A의 고유벡터이다.
- A = UEV^T 는 임의의 행렬 A의 특잇값 분해이다. E의 성분에는 특잇값 sigma1,..., sigma r 이 있으며, U 와 V에는 정규직교인 특이벡터가 있다.
이 중에서 세 번째 분해법의 아이디어의 설명, 이 특별한 분해는 Q∀Q^T 는 대칭행렬 S 와 관련 있다. 또한 q1,...,qn 은 직교 단위 교유벡터이다. 이 벡터들은 서로 직교하며 Q의 열에 해당한다.
S 와 Q는 선형대수학에서 중요하다.
대칭행렬 S, S^T = S 모든 s_ij = s_ji
직교행렬 Q, Q^T = Q^-1 모든 q_i·q_j=if(i≠j)0, (i=j)1
대칭행렬 ∀ 의 고윳값은 실수 lamda1, ..., lamda n 이다. 또한 실수 대칭행렬 S 에는 n 개의 정규직교인 고유벡터 q1,...,qn 을 가진다. 이 벡터를 행렬 S 에 곱해도 그 방향은 변하지 않고 단지 lamda 에 의해 크기만 변한다.
고유벡터 q 와 고윳값 lamda Sq = lamda q
행렬의 크기가 매우 큰 경우 lamda 와 q 를 찾는 것은 쉬운 일이 아니다. 그러나 S는 대칭행렬이므로 n 개의 고윳값과 고유벡터가 존재함을 알고 있다. 여기서 우리의 목적은 SQ = Q∀ 의 각 열을 Sq = lamda q 에서 어떻게 찾는지 아는 것이다.
Q^-1 = Q^T 이므로 SQ = Q∀ 의 양변에 Q^T 를 곱하면 S=Q∀Q^T = (대칭행렬) 을 얻는다. 각 고윳값과 고유벡터는 랭크가 1인 행렬 lamda*q*q^T 를 만든다.
- 랭크 1 행렬 S = (Q∀)Q^T
- 모두 대칭 qq^T 의 전채행렬은 qq^T 이다.
Q∀ 의 열은 lamda_1 q_1,...,lamda_n q_n 이다. 대각 행렬 ∀ 의 오른쪽에 행렬을 곱하는 것은 그 행렬의 행에 각 lamda_i 를 곱하는 것이다.
스펙트럼 정리 S = Q∀Q^T 의 증명에 관한 내용을 정리, 모든 대칭행렬 S는 n 개의 실수인 고윳값과 n 개의 정규직교인 고유벡터를 가진다.
특이값 분해 A = UEV^T 에서도 대각행렬 E 에서 특잇값 sigma 가 M 번 반복될 때 좀 더 주의를 기울어야 한다. 다시 말해, Av = sigma u 를 만족하는 특이벡터 v 와 u 의 쌍이 M개 존재해야 한다.