특이값 분해 SVD 계산기
모든 행렬의 특이값 분해(SVD)를 계산합니다. A = UΣVᵀ 분해 과정에 대한 단계별 풀이, 대화형 3D 시각화, 랭크(Rank) 분석, 조건수(Condition Number), 데이터 압축 및 차원 축소 응용 사례를 제공합니다.
광고 차단기로 인해 광고를 표시할 수 없습니다
MiniWebtool은 광고로 무료로 운영됩니다. 이 도구가 도움이 되었다면 Premium(광고 제거 + 더 빠름)으로 지원하시거나 MiniWebtool.com을 허용 목록에 추가한 뒤 새로고침하세요.
- 또는 Premium(광고 없음)으로 업그레이드
- MiniWebtool.com 광고를 허용한 다음 새로고침하세요
특이값 분해 SVD 계산기 정보
임의의 행렬을 근본적인 구성 요소로 분해하는 강력한 선형 대수 도구인 특이값 분해(SVD) 계산기에 오신 것을 환영합니다. SVD는 행렬을 A = UΣVᵀ로 인수분해하며, 단계별 솔루션, 대화형 시각화, 랭크 분석, 조건수, 저계수 근사 품질 및 유사역행렬 계산을 제공합니다. 선형 대수를 공부하든, 머신러닝 작업을 하든, 데이터를 분석하든 이 계산기는 전문가급 행렬 분해 기능을 제공합니다.
특이값 분해란 무엇인가요?
특이값 분해(SVD)는 임의의 m×n 행렬 A를 세 개의 행렬로 인수분해하는 것입니다:
여기서:
- A는 원본 m×n 행렬입니다.
- U는 m×m 직교 행렬입니다 (왼쪽 특이 벡터, AAᵀ의 고유 벡터).
- Σ (Sigma)는 비음수 특이값 σ₁ ≥ σ₂ ≥ ... ≥ 0을 갖는 m×n 대각 행렬입니다.
- Vᵀ는 n×n 직교 행렬입니다 (오른쪽 특이 벡터, AᵀA의 고유 벡터).
고유값 분해와 달리 SVD는 직사각형 행렬과 특이 행렬을 포함한 모든 행렬에 대해 항상 존재합니다. 이러한 보편성 덕분에 응용 수학에서 가장 중요한 분해 방법 중 하나로 꼽힙니다.
SVD 계산 방법
- AᵀA 구성: n×n 대칭 행렬 AᵀA를 계산합니다.
- 고유값 찾기: det(AᵀA − λI) = 0을 풀어 고유값 λ₁ ≥ λ₂ ≥ ... ≥ 0을 구합니다.
- 특이값: σᵢ = √λᵢ (고유값의 제곱근)를 구합니다.
- 오른쪽 특이 벡터 (V): AᵀA의 고유 벡터를 찾아 정규직교화하여 V의 열을 구성합니다.
- 왼쪽 특이 벡터 (U): 0이 아닌 각 특이값에 대해 uᵢ = Avᵢ/σᵢ를 계산하고, 이를 전체 정규직교 기저로 확장합니다.
주요 속성
행렬 랭크(Rank)
행렬 A의 랭크는 0이 아닌 특이값의 개수와 같습니다. 이는 부동 소수점 오류로 인해 잘못된 결과가 나올 수 있는 가우스 소거법보다 훨씬 더 수치적으로 안정적인 랭크 결정 방법입니다.
조건수(Condition Number)
조건수는 선형 시스템 Ax = b의 해가 섭동에 얼마나 민감한지를 측정합니다. κ가 크면 나쁜 조건의 행렬임을 나타내며, κ = 1인 경우가 가장 이상적(직교 행렬)입니다.
SVD를 통한 행렬 노름
- 스펙트럼 노름 (2-노름): \(\|A\|_2 = \sigma_1\) — 가장 큰 특이값
- 프로베니우스 노름: \(\|A\|_F = \sqrt{\sigma_1^2 + \sigma_2^2 + \cdots}\)
- 핵 노름(Nuclear norm): \(\|A\|_* = \sigma_1 + \sigma_2 + \cdots\) — 모든 특이값의 합
SVD의 활용
저계수 근사 (에카르트-영 정리)
에카르트-영-미르스키 정리에 따르면, 프로베니우스 노름 또는 스펙트럼 노름에서 A의 최적 랭크-k 근사는 상위 k개의 가장 큰 특이값만 유지함으로써 얻어집니다.
근사 오차는 다음과 같습니다: \(\|A - A_k\|_F = \sqrt{\sigma_{k+1}^2 + \cdots + \sigma_r^2}\)
SVD vs 고유값 분해
| 특징 | SVD | 고유값 분해 |
|---|---|---|
| 적용 대상 | 모든 m×n 행렬 | 정사각 행렬만 가능 |
| 항상 존재 여부 | 예 | 아니오 (대각화 가능성 필요) |
| 값의 성질 | 항상 실수, 비음수 | 복소수일 수 있음 |
| 기저 | 두 개의 직교 기저 (U, V) | 하나의 기저 (직교하지 않을 수 있음) |
| 수치적 안정성 | 우수함 | 비대칭 행렬의 경우 불안정할 수 있음 |
자주 묻는 질문
특이값 분해(SVD)란 무엇인가요?
특이값 분해(SVD)는 임의의 m×n 실수 또는 복소수 행렬 A를 세 개의 행렬의 곱 A = UΣVᵀ로 분해하는 행렬 분해 방법입니다. 여기서 U는 왼쪽 특이 벡터들로 구성된 m×m 직교 행렬이고, Σ는 특이값들을 대각 원소로 갖는 m×n 대각 행렬이며, Vᵀ는 오른쪽 특이 벡터들로 구성된 n×n 직교 행렬입니다. SVD는 모든 행렬에 대해 항상 존재합니다.
특이값은 어디에 사용되나요?
특이값은 행렬의 근본적인 특성인 랭크(비제로 특이값의 개수), 조건수(최대 특이값과 최소 특이값의 비율), 행렬 노름을 나타냅니다. 데이터 압축(가장 큰 특이값만 유지), 주성분 분석(PCA), 노이즈 제거, 추천 시스템 및 최소제곱법 문제 해결에 널리 사용됩니다.
SVD와 고유값 분해의 차이점은 무엇인가요?
고유값 분해는 정사각 행렬에 대해서만 정의되며 행렬이 대각화 가능해야 합니다. 반면 SVD는 직사각형 행렬을 포함한 모든 m×n 행렬에 대해 작동하며 항상 존재합니다. 대칭인 양의 준정부호 행렬의 경우 SVD와 고유값 분해 결과가 일치합니다. SVD는 두 개의 서로 다른 직교 기저(U와 V)를 사용하는 반면, 고유값 분해는 하나의 기저를 사용합니다.
SVD는 PCA와 어떤 관련이 있나요?
PCA(주성분 분석)는 SVD를 사용하여 직접 계산할 수 있습니다. 데이터 행렬 X를 중심화하고 X = UΣVᵀ로 SVD를 계산할 때, V의 열은 주성분(최대 분산 방향)이 되고, Σ의 특이값은 각 성분의 표준 편차를 나타내며, UΣ는 새로운 좌표계로 투영된 데이터를 제공합니다.
저계수 근사란 무엇인가요?
행렬 A의 랭크-k 근사는 가장 큰 k개의 특이값과 해당 벡터들만 유지하는 것입니다: A_k = U_k Σ_k V_k^T. 에카르트-영 정리에 의해, 이는 프로베니우스 노름과 스펙트럼 노름 모두에서 최적의 랭크-k 근사치입니다. 이것이 이미지 압축, 잠재 의미 분석 및 차원 축소의 수학적 기초가 됩니다.
행렬의 조건수란 무엇인가요?
조건수 κ(A) = σ_max / σ_min은 가장 큰 특이값과 가장 작은 특이값의 비율입니다. 이는 선형 시스템 Ax = b의 해가 섭동에 얼마나 민감한지를 측정합니다. 조건수가 크면 행렬이 나쁜 조건임을 의미하며 입력의 작은 오류가 해의 큰 오류를 유발할 수 있습니다. 조건수가 1인 경우(직교 행렬)가 이상적입니다.
추가 리소스
이 콘텐츠, 페이지 또는 도구를 다음과 같이 인용하세요:
"특이값 분해 SVD 계산기" - https://MiniWebtool.com/ko//에서 MiniWebtool 인용, https://MiniWebtool.com/
miniwebtool 팀 제작. 업데이트: 2026년 2월 20일
또한 저희의 AI 수학 해결사 GPT를 사용하여 자연어 질문과 답변으로 수학 문제를 해결할 수 있습니다.