SVD 계산기
이차 정방행렬을 U, 특이값, V의 전치행렬로 분해하여 일관된 수치 결과를 구합니다.
특이값 분해
값은 쉼표로, 행은 세미콜론으로 구분하여 정확히 두 행을 입력하세요.
값 사이는 쉼표로, 두 행 사이는 세미콜론으로 구분하세요.
특이값 분해 알아보기
특이값 분해는 보통 SVD로 줄여 쓰며, 실수 행렬을 특정 구조를 가진 세 행렬로 분해합니다. 일반적인 식에서 원래 행렬은 U, Sigma, V의 전치행렬을 차례로 곱한 값과 같습니다. U와 V는 직교행렬이므로 각 열은 서로 수직인 단위 방향을 이룹니다. Sigma는 음이 아닌 특이값을 큰 값부터 작은 값 순서로 담은 대각행렬입니다. 이 계산기는 임의의 이차 실수 정방행렬에 대해 분해를 수행합니다.
먼저 입력 행렬의 전치행렬에 입력 행렬을 곱해 대칭행렬을 만듭니다. 이 행렬의 고유값은 미세한 부동소수점 오차를 제외하면 항상 음이 아닙니다. 고유값의 제곱근이 특이값이며, 정규화된 고유벡터가 V의 열이 됩니다. 원래 행렬에 각 오른쪽 특이벡터를 곱하고 해당하는 영이 아닌 특이값으로 나누면 U의 대응하는 열을 얻습니다. 특이값이 영인 경우에는 결정론적 방식으로 정규직교기저를 완성하여 표시되는 인수의 유효성을 유지합니다.
특이값은 행렬이 특정 방향으로 공간을 얼마나 늘이거나 줄이는지 나타냅니다. 첫 번째 값이 크고 두 번째 값이 훨씬 작으면 변환 대부분이 한 방향에 집중되어 있다는 뜻입니다. 두 번째 값이 영이면 행렬의 계수는 일 또는 영이며, 평면을 선이나 점으로 축소합니다. 가장 큰 특이값과 가장 작은 영이 아닌 특이값의 비는 수치적 조건과 관련되지만, 이 페이지는 조건수 대신 분해 결과 자체를 표시합니다.
SVD는 최소제곱 적합, 유사역행렬, 차원 축소, 이미지 압축, 추천 시스템, 신호 처리, 잡음 제거에 사용됩니다. 고유값 분해와 달리 모든 실수 행렬에 존재하며 대칭행렬이나 정방행렬로 제한되지 않습니다. 이 1단계 계산기는 간결하고 이해하기 쉬우며 외부 의존성이 없고 표시 형식이 일정한 구현을 위해 입력을 이차 정방행렬로 제한합니다. 그러나 기본 개념은 모든 크기의 직사각행렬로 직접 확장할 수 있습니다.
결과는 소수점 이하 여섯 자리로 반올림하고 불필요한 끝자리 영을 제거합니다. 직교 인수는 수학적으로 유일하지 않습니다. U와 V의 대응하는 열 부호를 동시에 바꾸어도 곱은 변하지 않으며, 중복 특이값이 있으면 부분공간 안에서 추가 회전도 가능합니다. 따라서 다른 신뢰할 수 있는 SVD 패키지가 다른 부호나 기저벡터를 표시하더라도 정확히 같은 입력 행렬을 복원할 수 있습니다. 이 계산기는 일정한 방향 선택 규칙을 사용하므로 반복 입력과 고정 예제의 결과가 안정적으로 유지됩니다.
SVD 예제
| 입력 행렬 | 특이값 | 설명 |
|---|---|---|
| 3,0;0,2 | 3, 2 | 양의 대각행렬은 이미 특이 방향과 정렬되어 있습니다. |
| 4,0;0,1 | 4, 1 | 첫 번째 축은 네 배로 늘리고 두 번째 축은 그대로 유지합니다. |
| 1,0;0,0 | 1, 0 | 영인 특이값은 계수가 일인 행렬을 나타냅니다. |
| 0,2;2,0 | 2, 2 | 특이값이 같으면 서로 수직인 두 방향의 확대율이 같습니다. |
SVD 계산기 사용 방법
- 첫 번째 행의 두 수를 쉼표로 구분하여 입력하세요.
- 세미콜론을 추가한 뒤 두 번째 행도 쉼표로 구분하여 입력하세요.
- SVD 계산을 선택하세요.
- 특이값과 U, Sigma, V의 전치행렬을 확인하세요.
SVD 계산기 자주 묻는 질문
특이값은 무엇을 나타내나요?
특이값은 특정한 서로 수직인 방향의 확대 정도를 나타냅니다. 값이 클수록 더 크게 확대되며, 영이면 해당 차원이 소실됩니다.
U와 V는 왜 직교행렬인가요?
각 열이 서로 수직인 단위벡터이기 때문입니다. 직교변환은 길이와 각도를 보존하므로 이 인수들은 추가 확대나 축소가 아닌 회전 또는 반사를 나타냅니다.
서로 다른 SVD 결과가 모두 맞을 수 있나요?
네. 짝을 이루는 특이벡터의 부호를 동시에 바꾸어도 복원된 행렬은 변하지 않습니다. 중복 특이값이 있으면 서로 다른 유효한 정규직교기저도 가능합니다.
직사각행렬도 지원하나요?
아니요. 이 1단계 구현은 임의의 이차 실수 정방행렬만 지원합니다. 더 큰 행렬과 직사각행렬에는 더 일반적인 수치 분해 루틴이 필요합니다.
특이값이 영이면 무슨 뜻인가요?
행렬이 독립적인 방향을 적어도 하나 잃은 특이행렬이라는 뜻입니다. 이차 정방행렬에서 하나가 양수이고 다른 하나가 영이면 계수는 일입니다.