Folioby Interconnected
ログイン新規登録

特異値分解 ― 任意の行列の構造を解き明かす

任意の $m \times n$ 行列 $A$ は $A = U\Sigma V^T$ と分解でき,特異値は行列の「大きさ」を完全に特徴づける(特異値分解)。本記事では存在定理の完全な証明を与え,低ランク近似,擬似逆行列,主成分分析,条件数への応用を解説する。

FO
Folio公式
2026年3月24日

1. 動機 — 正方でない行列の構造

前章までに,対称行列のスペクトル定理を学んだ。対称行列A∈Mn​(R)は直交行列Pを用いてA=PDPTと対角化でき,固有値がその行列の本質的な構造を記述することを見た。

しかし,この理論は正方行列に限定される。実際の応用では,m×n行列(m=n)が自然に現れる。例えば,m個のデータ点をn個の特徴量で記述するデータ行列はm×n行列であり,線形写像T:Rn→Rmの表現行列も一般には正方でない。このような行列に対しては固有値の概念がそもそも定義されず,スペクトル定理をそのまま適用することはできない。

本章の主役である特異値分解(singular value decomposition, SVD)は,この制約を取り払う。任意のm×n実行列Aに対して,直交行列U, Vと「対角行列」Σを用いた分解A=UΣVTが存在することを証明する。

鍵となる着想は次の観察である:Aが正方でなくとも,積ATAはn×nの対称行列であり,AATはm×mの対称行列である。これらにスペクトル定理を適用することで,A自身の構造を明らかにできる。

2. 特異値の定義

補題 1 (ATAの半正定値性).
任意の A∈Mm×n​(R) に対し,ATA は半正定値対称行列である。
証明.
対称性は (ATA)T=AT(AT)T=ATA より明らか。半正定値性を示す。任意の x∈Rn に対し,
xT(ATA)x=(Ax)T(Ax)=∥Ax∥2≥0.
よって ATA は半正定値である。 □
注意 1.
同様に,AAT も m×m の半正定値対称行列である。証明は yT(AAT)y=∥ATy∥2≥0 による。
定義 2 (特異値).
A∈Mm×n​(R) とする。ATA の固有値を λ1​≥λ2​≥⋯≥λn​≥0 とするとき,
σi​=λi​​(i=1,2,…,n)
を A の特異値(singular values)という。σ1​≥σ2​≥⋯≥σn​≥0 と降順に並べる。
補題 4 (ATAとAATの非零固有値の一致).
A∈Mm×n​(R) とする。ATA と AAT は同じ非零固有値を(重複度を込めて)持つ。
証明.
λ=0 を ATA の固有値とし,ATAv=λv(v=0)とする。u=Av とおくと,λ=0 かつ ∥u∥2=vTATAv=λ∥v∥2=0 より u=0 である。このとき
AATu=AAT(Av)=A(ATAv)=A(λv)=λ(Av)=λu.
よって λ は AAT の固有値でもある。逆も同様に,AATu=λu(λ=0)なら v=ATu=0 が ATAv=λv を満たす。重複度の一致は,この対応が固有空間の間の線形同型を与えることから従う。 □
例 3.
A=​101​110​​ とする。
ATA=(11​01​10​)​101​110​​=(21​12​).
固有方程式 det(ATA−λI)=(λ−2)2−1=λ2−4λ+3=(λ−3)(λ−1)=0 より λ1​=3, λ2​=1。したがって特異値は σ1​=3​, σ2​=1 である。

3. 特異値分解の存在定理

定理 6 (特異値分解).
任意の A∈Mm×n​(R) に対し,m×m 直交行列 U,n×n 直交行列 V,および m×n 行列 Σ が存在して
A=UΣVT
が成り立つ。ここで Σ は,対角成分に A の特異値 σ1​≥σ2​≥⋯≥σr​>0(r=rankA)を持ち,他の成分はすべて 0 の行列である:
Σ=​σ1​0⋮0​σ2​⋯⋯​⋱​00σr​0⋮0​⋯⋯⋯⋯⋯​00⋮00⋮0​​.
V の列ベクトル v1​,…,vn​ を右特異ベクトル(right singular vectors),U の列ベクトル u1​,…,um​ を左特異ベクトル(left singular vectors)という。
証明.
A のランクを r とする。

Step 1: 右特異ベクトルの構成。 ATA は n×n 半正定値対称行列であるから,スペクトル定理より,正規直交固有ベクトル v1​,…,vn​∈Rn と非負固有値 λ1​≥⋯≥λn​≥0 が存在して
ATAvi​=λi​vi​(i=1,…,n)
が成り立つ。σi​=λi​​ とおく。

rank(ATA)=rankA=r であることを示す。ATAx=0 ならば ∥Ax∥2=xTATAx=0 より Ax=0 であるから,ker(ATA)=kerA。よって rank(ATA)=n−dimker(ATA)=n−dimkerA=rankA=r。

したがって,λ1​≥⋯≥λr​>0 かつ λr+1​=⋯=λn​=0,すなわち σ1​≥⋯≥σr​>0 かつ σr+1​=⋯=σn​=0 である。V=(v1​∣⋯∣vn​) とおくと,V は直交行列である。

Step 2: 左特異ベクトルの構成。 i=1,…,r に対し
ui​=σi​1​Avi​
と定める。u1​,…,ur​ が Rm の正規直交系であることを確かめる:
uiT​uj​=σi​σj​1​viT​ATAvj​=σi​σj​1​viT​(λj​vj​)=σi​σj​λj​​δij​=σi​σj​σj2​​δij​=δij​.

r<m の場合,u1​,…,ur​ を Rm の正規直交基底に拡張して ur+1​,…,um​ を得る(Gram–Schmidt の直交化法による)。U=(u1​∣⋯∣um​) とおくと,U は m×m 直交行列である。

Step 3:A=UΣVTの検証。 Avi​=σi​ui​(i=1,…,r)が定義から成り立つ。i=r+1,…,n のとき,vi​∈ker(ATA)=kerA より Avi​=0 である。

V は直交行列なので {v1​,…,vn​} は Rn の正規直交基底であり,任意の x∈Rn は x=∑i=1n​(viT​x)vi​ と展開される。したがって
Ax=i=1∑n​(viT​x)Avi​=i=1∑r​σi​(viT​x)ui​.
これは行列の形で AV=UΣ,すなわち A=UΣVT を意味する。各列について確認すると,UΣ の第 i 列は i≤r のとき σi​ui​,i>r のとき 0 であり,(UΣVT)vi​=(UΣ)ei​ がこの値に一致する。 □
注意 4.
SVD は外積展開の形でも表せる:
A=i=1∑r​σi​ui​viT​.
各 ui​viT​ はランク 1 の行列であり,SVD は A をランク 1 行列の重み付き和として表す分解である。
注意 5.
SVD の一意性について:特異値 σ1​≥⋯≥σr​>0 は A から一意に定まる。しかし,特異値に重複がある場合や零特異値に対応する特異ベクトルの選び方には自由度がある。すなわち,U と V は一般には一意でない。

4. 幾何学的解釈

特異値分解A=UΣVTの幾何学的意味を考えよう。

線形写像x↦AxをVT, Σ, Uの3段階に分解する:

  1. x↦VTx:Rn における直交変換(回転または鏡映)。

  2. VTx↦Σ(VTx):各座標軸方向への伸縮。第 i 軸は σi​ 倍される。

  3. ΣVTx↦U(ΣVTx):Rm における直交変換。

例 6 (単位球から楕円体へ).
Rn の単位球面 Sn−1={x∈Rn:∥x∥=1} を考える。VT は直交変換であるから,Sn−1 を Sn−1 に写す。次に Σ によって各軸方向に σi​ 倍されるので,像は半軸の長さが σ1​,…,σr​ の楕円体(の Rm への埋め込み)となる。最後に U がこの楕円体を回転する。

したがって,Aによる単位球面の像は楕円体であり,その主軸の方向が左特異ベクトルu1​,…,ur​,主軸の長さが特異値σ1​,…,σr​に対応する。右特異ベクトル vi​ は,楕円体の第 i 主軸方向に写される元の単位球面上の方向を示す。

5. 2×3行列のSVD計算例

例 7 (SVD の計算).
A=(10​01​10​)∈M2×3​(R) の特異値分解を求める。

Step 1:ATAの計算。
ATA=​101​010​​(10​01​10​)=​101​010​101​​.

Step 2: 固有値の計算。 固有方程式を計算する。
det(ATA−λI)=det​1−λ01​01−λ0​101−λ​​.
第2行で展開すると
(1−λ)[(1−λ)2−1]=(1−λ)(λ2−2λ)=λ(1−λ)(λ−2).
よって λ1​=2, λ2​=1, λ3​=0。特異値は σ1​=2​, σ2​=1。ランクは r=2。

Step 3: 右特異ベクトルVの計算。

λ1​=2 に対する固有ベクトル:(ATA−2I)v=0 を解く。
​−101​0−10​10−1​​v=0⟹v1​=2​1​​101​​.

λ2​=1 に対する固有ベクトル:(ATA−I)v=0 を解く。
​001​000​100​​v=0⟹v2​=​010​​.

λ3​=0 に対する固有ベクトル:ATAv=0,すなわち kerA を求める。
v3​=2​1​​−101​​.

したがって
V=​1/2​01/2​​010​−1/2​01/2​​​.

Step 4: 左特異ベクトルUの計算。
u1​=σ1​1​Av1​=2​1​(10​01​10​)2​1​​101​​=21​(20​)=(10​).
u2​=σ2​1​Av2​=11​(10​01​10​)​010​​=(01​).

U=(10​01​)=I2​ となる。

Step 5: 検証。
UΣVT=(10​01​)(2​0​01​00​)​1/2​0−1/2​​010​1/2​01/2​​​.
ΣVT を計算する。第1行は (2​/2​, 0, 2​/2​)=(1,0,1),第2行は (0,1,0)。したがって UΣVT=(10​01​10​)=A。確かに一致する。

6. 低ランク近似

SVD の外積展開A=∑i=1r​σi​ui​viT​において,最初のk項だけを取った

Ak​=i=1∑k​σi​ui​viT​
をAのランクk切断(truncated SVD)という。Ak​はランクがちょうどk(k≤rのとき)の行列であり,Aの「最良の」ランクk近似を与える。

定義 8 (Frobenius ノルム).
行列 B=(bij​)∈Mm×n​(R) のFrobenius ノルム(Frobenius norm)を
∥B∥F​=i=1∑m​j=1∑n​bij2​​=tr(BTB)​
と定義する。
例 9.
B=(13​24​) のとき ∥B∥F​=1+4+9+16​=30​ である。
補題 13 (Frobenius ノルムと特異値).
A∈Mm×n​(R) の特異値を σ1​,…,σr​(r=rankA)とすると
∥A∥F​=σ12​+σ22​+⋯+σr2​​.
証明.
A=UΣVT と分解する。U, V は直交行列であるから
∥A∥F2​=tr(ATA)=tr(VΣTUTUΣVT)=tr(VΣTΣVT)=tr(ΣTΣVTV)=tr(ΣTΣ).
最後の等号でトレースの巡回性 tr(XY)=tr(YX) を用いた。ΣTΣ は対角行列で対角成分は σ12​,…,σr2​,0,…,0 であるから,∥A∥F2​=∑i=1r​σi2​ を得る。 □
定理 14 (Eckart–Young の定理).
A∈Mm×n​(R) の特異値分解を A=∑i=1r​σi​ui​viT​ とし,k<r とする。rankB≤k を満たすすべての行列 B∈Mm×n​(R) に対して
∥A−Ak​∥F​≤∥A−B∥F​
が成り立つ。すなわち,Ak​=∑i=1k​σi​ui​viT​ は Frobenius ノルムに関する最良ランク k 近似である。さらに,近似誤差は
∥A−Ak​∥F​=σk+12​+⋯+σr2​​
で与えられる。

この定理の証明は本書の範囲を超えるが,核心的なアイデアを述べる。A−Ak​=∑i=k+1r​σi​ui​viT​であり,この項たちは互いに直交するから,補題 13 より∥A−Ak​∥F2​=∑i=k+1r​σi2​となる。任意のランクk行列Bに対しては,kerBの次元がn−k以上であることと,v1​,…,vk+1​が張るk+1次元空間との交わりを用いて,∥A−B∥F2​≥σk+12​+⋯+σr2​を示す。

注意 10.
Eckart–Young の定理は画像圧縮の数学的基礎を与える。画像を m×n 行列とみなし,k≪r に対する Ak​ を計算すれば,k(m+n+1) 個の数値だけで A を近似できる。mn よりもはるかに少ない記憶容量で済む。

7. 応用 — 擬似逆行列・主成分分析・条件数

特異値分解は,純粋数学から工学・データ科学に至るまで幅広い応用を持つ。ここでは主要なものを概説する。

7.1. 擬似逆行列

A=UΣVTのとき,Σの非零対角成分の逆数を取り0はそのまま残した行列をΣ+と書くと,

A+=VΣ+UT
はAのMoore–Penrose 擬似逆行列(pseudoinverse)を与える。Aが正則な正方行列のときA+=A−1に一致し,一般には連立方程式Ax=bの最小二乗解x∗=A+bを計算するのに用いられる。

7.2. 主成分分析

主成分分析(principal component analysis, PCA)は,高次元データの次元削減手法であり,その本質は SVD に基づく。中心化されたデータ行列X∈Mm×n​(R)(m個のデータ,n個の特徴量)に対し,X=UΣVTの右特異ベクトルv1​,…,vk​への射影がデータの分散を最大化するk次元部分空間への射影を与える。

7.3. 条件数

行列Aの条件数(condition number)は

κ(A)=σr​σ1​​
で定義される(Aがランクrのとき)。条件数が大きいほど,連立方程式Ax=bは入力の微小な変動に対して解が大きく変化する(数値的に不安定)。κ(A)=1は直交行列のときに限り達成される。

8. 行列のノルムと特異値

定義 11 (作用素ノルム).
A∈Mm×n​(R) の作用素ノルム(operator norm)を
∥A∥=x=0max​∥x∥∥Ax∥​=∥x∥=1max​∥Ax∥
と定義する。ここで ∥⋅∥ はユークリッドノルムである。
例 12.
A=(30​02​) のとき,∥Ax∥ は x=e1​ で最大値 3 をとるから ∥A∥=3 である。
定理 18 (作用素ノルムと最大特異値).
A∈Mm×n​(R) に対し
∥A∥=σ1​.
すなわち,作用素ノルムは最大特異値に等しい。
証明.
A=UΣVT とする。U, V は直交行列であるから,∥Uy∥=∥y∥ がすべての y に対して成り立つ。したがって
∥Ax∥=∥UΣVTx∥=∥ΣVTx∥=∥Σz∥
ここで z=VTx とおいた。V は直交行列なので ∥z∥=∥x∥。よって
∥A∥=∥z∥=1max​∥Σz∥.
z=(z1​,…,zn​)T とすると
∥Σz∥2=i=1∑r​σi2​zi2​≤σ12​i=1∑r​zi2​≤σ12​∥z∥2=σ12​.
等号は z=e1​ のとき成立する。よって ∥A∥=σ1​。 □
注意 13.
以上をまとめると,特異値分解は次の形で行列のノルムを完全に記述する:
  • 作用素ノルム: ∥A∥=σ1​(最大特異値)。

  • Frobenius ノルム: ∥A∥F​=σ12​+⋯+σr2​​(特異値の二乗和の平方根)。

特に,A が直交行列のとき σi​=1(i=1,…,n)であるから ∥A∥=1, ∥A∥F​=n​ となる。

まとめ

本章では,任意のm×n行列に対して成り立つ特異値分解A=UΣVTを導入した。

  • 特異値は ATA の固有値の平方根として定義され,A の幾何学的性質を反映する。

  • SVD は「回転・伸縮・回転」の合成として線形写像を分解する。

  • Eckart–Young の定理により,切断 SVD は最良のランク k 近似を与える。

  • 作用素ノルム・Frobenius ノルムはいずれも特異値で記述される。

  • 擬似逆行列,主成分分析,条件数など,多岐にわたる応用の理論的基盤を提供する。

スペクトル定理が対称行列の構造を固有値で完全に記述したように,SVD は正方とは限らない一般の行列の構造を特異値で記述する。次章では,この道具を用いてさらに進んだ話題を扱う。

線形代数代数学教科書特異値分解SVD行列分解
FO
Folio公式

数学の「教科書が書かない行間」をLaTeXで.Folio公式アカウントです.

0 フォロワー·107 記事
線形代数の教科書Part 13 of 13
Previous
実対称行列のスペクトル定理 ― 直交対角化の理論
No next article

あなたの専門知識を世界に発信しよう

LaTeX対応エディタで記事を執筆し、読者を増やし、知識を収益化できます。

無料で記事を書き始める

Folio公式の他の記事

Folio公式·February 27, 2026

Jordan標準形 ― 対角化の先にある標準形

対角化できない行列でも,Jordan 細胞の直和として表す Jordan 標準形が一意に存在する。本記事では一般化固有空間による構成法,最小多項式との関係,行列指数関数 $e^{tA}$ の計算法を完全な証明付きで解説する。

線形代数代数学教科書
2
Folio公式·February 27, 2026

線形独立・基底・次元 ― ベクトル空間の骨格

有限次元ベクトル空間の基底はすべて同じ個数のベクトルからなり,その個数が次元を定める。本記事では Steinitz 交換定理によりこの事実を証明し,線形独立系と生成系から基底を構成する方法を解説する。

線形代数代数学教科書
9
Folio公式·February 27, 2026

行列式 ― 正方行列に定まるスカラー量

正方行列 $A$ の行列式 $\det(A)$ は交代性と多重線形性で一意に特徴づけられるスカラー量である。本記事では置換による定義,余因子展開,積公式 $\det(AB) = \det(A)\det(B)$,クラメルの公式を完全な証明付きで解説する。

線形代数代数学教科書
2
Folio公式·February 27, 2026

「次元」とは結局なにか ― 自由度の正体

「3次元空間」の「3」が何を意味するのか.基底の元数がいつも同じになるという非自明な事実と,Steinitz交換定理の具体例を通して,次元の正体に迫ります.

線形代数代数学教科書の行間
3