seegongsik
내 단어장
공업수학

QR은 행렬을 회전과 삼각형으로 가른다

A=QR, 직교행렬 Q와 상삼각 R로 가르면 최소제곱을 안정적으로 푼다

행렬의 열은 보통 비뚤비뚤해요. 서로 직각도 아니고 길이도 제각각이죠. QR은 이 열들을 두 조각으로 깔끔하게 갈라요. 먼저 열들을 그람-슈미트로 곧게 펴서 서로 수직인 단위벡터들로 바꿔요. 이게 Q고, 길이도 각도 안 건드리는 순수한 회전(또는 반사)이에요. 그리고 펴면서 깎아낸 길이와 겹침을 전부 모아 둔 게 R인데, 신기하게도 항상 위쪽만 채워진 삼각형이에요. A = QR. 회전 하나와 삼각형 하나. 이 한 줄이 최소제곱을 가장 안정적으로 푸는 길이고, 수치 선형대수의 일꾼이에요.

버튼으로 단계를 밟아 보세요. 0단계는 A의 두 열 a1, a2예요. 비스듬하고 길이도 다르죠. 1단계로 가면 직전 강의 그람-슈미트가 이 둘을 곧게 펴요. a1 방향을 단위길이로 줄인 게 q1, a2에서 q1쪽 그림자를 빼고 남은 직교 성분을 단위화한 게 q2예요. 이제 q1과 q2는 정확히 직각이고 둘 다 길이 1이에요(점곱이 0으로 떠요). 2단계에서 R이 나와요. R = Qᵀ A라서 자동으로 상삼각이고, 왼쪽 아래 칸 r21은 0이에요. A는 비뚤어진 열, Q는 곧게 편 직교 열, R은 그 사이를 잇는 작은 삼각형. 이게 A = QR이에요.

Q의 두 열은 서로 수직인 단위벡터예요. 그래서 Q를 평면에 작용시키면 격자가 일그러지지 않고 통째로 돌아가기만 해요. 슬라이더로 각을 돌려 보세요. 칸은 늘어나거나 찌그러지지 않고, 정사각형은 정사각형으로 남아요. 길이도 각도도 그대로 보존되거든요. 반사 버튼을 누르면 거울처럼 뒤집히는데, 그래도 열은 여전히 직교 단위라 모양은 안 변해요. 이게 직교행렬의 정의 그 자체예요: QᵀQ = I. 화면 아래 QᵀQ를 보면 어떤 각에서도 단위행렬에 머물러요. Q가 회전이나 반사일 뿐이라는 증거예요.

R이 왜 항상 위쪽 삼각형만 채워질까요? 각 칸은 rij = qi · aj, 곧 i번째 곧게 편 방향에 j번째 원래 열을 비춰 본 그림자 길이예요. 칸을 켜서 점곱 값을 확인해 보세요. 핵심은 대각선 아래 칸이에요. r21 = q2 · a1인데, q2는 a1을 빼고 남은 직교 성분이라 a1과 정확히 수직이에요. 수직이면 점곱이 0이죠. 그래서 r21은 0이에요. 일반적으로도 뒤에서 만든 방향 qi는 앞선 열 aj(j < i)에 전혀 안 쓰여요. 그 열은 이미 앞 방향들로 다 표현됐으니까요. 그래서 대각선 아래는 통째로 0, R은 상삼각이에요.

이번엔 거꾸로, R을 손에 쥐고 A를 다시 지어 봐요. Q는 20도 회전으로 고정해 두고, 슬라이더로 R의 세 칸을 움직이면 A = QR이 실시간으로 다시 그려져요. r11은 첫 열 a1의 길이를 정해요. 키우면 a1이 길어지죠. r22는 두 번째 방향으로 얼마나 뻗는지, 곧 직교 성분의 길이예요. r12는 전단이에요. 두 번째 열을 첫 번째 방향으로 얼마나 기울일지 정하죠. 이 세 숫자가 길이와 기울임을 전부 담고, Q는 그 결과를 통째로 20도 돌릴 뿐이에요. R이 모양을, Q가 방향을 맡는다는 분업이 눈에 보여요.

이제 QR이 진짜 일하는 곳, 최소제곱이에요. 앞선 사영 강에서 데이터에 가장 잘 맞는 직선은 잔차(세로 점선)의 제곱합을 가장 작게 만드는 선이었죠. 슬라이더로 기울기와 절편을 움직여 SSE를 줄여 보세요. 교과서는 보통 AᵀA를 만들어 정규방정식을 풀라고 해요. 그런데 AᵀA는 오차에 민감해서 수치적으로 불안정할 때가 많아요. QR은 그 단계를 건너뛰어요. A = QR을 넣으면 정규방정식이 R x = Qᵀ b로 줄어들고, R이 삼각형이라 후진대입 한 번이면 끝나요. 버튼을 누르면 그 QR 해로 점프해 SSE가 최소가 돼요. AᵀA를 안 만들고 같은 답을 더 안정적으로 얻는 게 QR의 쓸모예요.

빠른 적용QR은 행렬을 A = QR로, 곧 회전과 삼각형으로 갈라요. Q는 그람-슈미트로 곧게 편 직교 단위열이라 회전(또는 반사)이고, QᵀQ = I로 길이와 각을 보존해요. R은 상삼각이고 각 칸은 rij = qi · aj, 곧 열의 길이와 겹침을 담아요. 대각선 아래가 0인 건 뒤 방향이 앞 열에 안 쓰이기 때문이에요. QR의 가장 큰 쓸모는 최소제곱이에요. AᵀA를 만들지 않고 R x = Qᵀ b를 후진대입으로 풀어, 같은 답을 수치적으로 더 안정하게 얻어요. 그래서 QR은 선형 회귀, 최소제곱, 고유값 알고리즘(QR 반복)까지 수치 선형대수 곳곳에서 일하는 기본 분해예요.
공업수학
이 페이지가 도움 됐다면 후원하기