行列分解
実数 2×2 行列 M の 特異値分解 UΣV⁎ の図。 上: M の作用。単位円 D と 2 つの標準単位ベクトル e 1 および e 2 への影響によって示されます 。 左: V ⁎ (回転)の D 、 e 1 、 e 2 への作用 。 下: Σ の作用、水平方向に特異値 σ 1 、垂直方向に σ 2 によるスケーリング 。 右: U のアクション 、別の回転。
線形代数 において 、 特異値分解 ( SVD ) は、 実数 または複素数行列を 回転 に 因数 分解し、その後に再スケーリングしてさらに回転させるものです。これは、正規直交固有基底を持つ正方正規行列の固有分解を任意の行列に一般化したものです 。 これ は 極 分解 に 関連 し ています 。
メートル
×
ん
{\displaystyle m\times n}
具体的には、 複素行列 の特異値分解 は、 が 複素 ユニタリ行列 、 が対角線上に非負の実数を持つ 直交対角行列 が 複素ユニタリ行列 、 が の 共役転置行列 である形式の因数分解です 。このような分解は、任意の 複素 行列に対して常に存在します。 が実数の場合、 と が実 直交 行列であることが保証されます 。このようなコンテキストでは、SVD は次のように表記されることがよくあります。
メートル
×
ん
{\displaystyle m\times n}
ま
{\displaystyle \mathbf {M} }
ま
=
あなた
Σ
五
∗
、
{\displaystyle \mathbf {M} =\mathbf {U\Sigma V^{*}} ,}
あなた
{\displaystyle \mathbf {U} }
メートル
×
メートル
{\displaystyle m\times m}
Σ
{\displaystyle \mathbf {\Sigma } }
メートル
×
ん
{\displaystyle m\times n}
五
{\displaystyle \mathbf {V} }
ん
×
ん
{\displaystyle n\times n}
五
∗
{\displaystyle \mathbf {V} ^{*}}
五
{\displaystyle \mathbf {V} }
ま
{\displaystyle \mathbf {M} }
あなた
{\displaystyle \mathbf {U} }
五
{\displaystyle \mathbf {V} }
あなた
Σ
五
T
。
{\displaystyle \mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{\mathrm {T} }.}
の 対角要素は によって一意に決定され、 の 特異値 として知られています 。非ゼロの特異値の数は の 階数に等しくなります。 の列と の列は、それぞれ の左特異ベクトルと右特異ベクトルと呼ばれます。これらは と の 2 つの 正規直交基底 セットを形成し 、値がゼロの特異値がすべて最も番号の高い列 (または行) になるように並べ替えると 、特異値分解は次のように表すことができます。
σ
私
=
Σ
私
私
{\displaystyle \sigma _{i}=\Sigma _{ii}}
Σ
{\displaystyle \mathbf {\Sigma } }
ま
{\displaystyle \mathbf {M} }
ま
{\displaystyle \mathbf {M} }
ま
{\displaystyle \mathbf {M} }
あなた
{\displaystyle \mathbf {U} }
五
{\displaystyle \mathbf {V} }
ま
{\displaystyle \mathbf {M} }
あなた
1
、
…
、
あなた
メートル
{\displaystyle \mathbf {u} _{1},\ldots ,\mathbf {u} _{m}}
ヴ
1
、
…
、
ヴ
ん
、
{\displaystyle \mathbf {v} _{1},\ldots ,\mathbf {v} _{n},}
σ
私
{\displaystyle \sigma_{i}}
ま
=
∑
私
=
1
r
σ
私
あなた
私
ヴ
私
∗
、
{\displaystyle \mathbf {M} =\sum _{i=1}^{r}\sigma _{i}\mathbf {u} _{i}\mathbf {v} _{i}^{*},}
の順位は どこですか?
r
≤
分
{
メートル
、
ん
}
{\displaystyle r\leq \min\{m,n\}}
ま
。
{\displaystyle \mathbf {M} .}
SVDは一意ではありませんが、特異値が降順になるように分解を選択することは常に可能です 。この場合、 (ただし、 と は除きます)は によって一意に決定されます。
Σ
私
私
{\displaystyle \Sigma _{ii}}
Σ
{\displaystyle \mathbf {\Sigma } }
あなた
{\displaystyle \mathbf {U} }
五
{\displaystyle \mathbf {V} }
ま
。
{\displaystyle \mathbf {M} .}
この用語は、 コンパクトSVDを指すこともあります 。 これは 、 が サイズ の正方対角行列 で 、 が の 階数であり 、 非ゼロの特異値のみを持つ、同様 の 分解です 。この変形では
ま
=
あなた
Σ
五
∗
{\displaystyle \mathbf {M} =\mathbf {U\Sigma V} ^{*}}
、 は 半 ユニタリ行列 で あり 、 は 半ユニタリ 行列 で あり 、
Σ
{\displaystyle \mathbf {\Sigma } }
r
×
r
、
{\displaystyle r\times r,}
r
≤
分
{
メートル
、
ん
}
{\displaystyle r\leq \min\{m,n\}}
ま
、
{\displaystyle \mathbf {M} ,}
あなた
{\displaystyle \mathbf {U} }
メートル
×
r
{\displaystyle m\times r}
五
{\displaystyle \mathbf {V} }
ん
×
r
{\displaystyle n\times r}
あなた
∗
あなた
=
五
∗
五
=
私
r
。
{\displaystyle \mathbf {U} ^{*}\mathbf {U} =\mathbf {V} ^{*}\mathbf {V} =\mathbf {I} _{r}.}
SVD の数学的応用には、 擬似逆行列 の計算、行列近似、行列の階数、 範囲 、および 零空間の決定が含まれます。SVD は、 信号処理 、 データの 最小二乗近似、 プロセス制御 など、科学、 工学 、および 統計 のすべての分野でも非常に役立ちます 。
直感的な解釈
2D の実 せん断行列 M の SVD のアニメーション図。まず、 単位円盤が2 つの 標準単位ベクトル とともに青色で表示されます。次に、 円盤を 楕円に歪める M の作用が表示されます 。SVD は、 M を 3 つの単純な変換、つまり初期 回転 V ⁎ 、 座標軸に沿った スケーリング、および最終回転 U に分解します。楕円の 半軸 の 長さ σ 1 と σ 2 は、 M の 特異値 、つまり Σ 1,1 と Σ 2,2 です。
Σ
{\displaystyle \mathbf {\Sigma } }
特異値分解における行列乗算の可視化
回転、座標スケーリング、反射
が
ま
{\displaystyle \mathbf {M} }
実正方行列 で
メートル
×
メートル
{\displaystyle m\times m}
ある 特殊 な ケースでは 、行列 および も実 行列に選択できます。その場合、「ユニタリ」は「 直交 」と同じになります 。次に、ユニタリ行列と対角行列の両方を、ここでは空間 の線形変換として解釈すると、 行列 および は 空間 の 回転 または 反射 を 表し 、 は 係数 による 各 座標 の スケーリング を表します 。 したがって 、SVD 分解は、 の線形変換を 3 つの幾何学的変換 、 つまり 回転 または 反射 ( ) 、 座標 ごと の スケーリング ( )、 および別の回転または反射 ( )の組み合わせに分解します 。
あなた
{\displaystyle \mathbf {U} }
五
∗
{\displaystyle \mathbf {V} ^{*}}
メートル
×
メートル
{\displaystyle m\times m}
あ
、
{\displaystyle \mathbf {A} ,}
x
↦
あ
x
{\displaystyle \mathbf {x} \mapsto \mathbf {Ax} }
R
メートル
、
{\displaystyle \mathbf {R} _{m},}
あなた
{\displaystyle \mathbf {U} }
五
∗
{\displaystyle \mathbf {V} ^{*}}
Σ
{\displaystyle \mathbf {\Sigma } }
x
私
{\displaystyle \mathbf {x} _{i}}
σ
私
。
{\displaystyle \sigma _{i}.}
R
メートル
{\displaystyle \mathbf {R} ^{m}}
五
∗
{\displaystyle \mathbf {V} ^{*}}
Σ
{\displaystyle \mathbf {\Sigma } }
あなた
{\displaystyle \mathbf {U} }
特に、 が
ま
{\displaystyle \mathbf {M} }
正の行列式を持つ場合、
あなた
{\displaystyle \mathbf {U} }
と
五
∗
{\displaystyle \mathbf {V} ^{*}}
は、両方とも反射のある回転、または両方とも反射のない回転として選択できます。 [ 要出典 ] 行列式が負の場合、それらのうちの 1 つだけが反射を持ちます。行列式が 0 の場合、それぞれを独立してどちらかのタイプに選択できます。
行列
ま
{\displaystyle \mathbf {M} }
が実数だが正方行列ではない場合、つまり で
メートル
×
ん
{\displaystyle m\times n}
は から への線形変換として解釈できます 。 その場合 と はそれぞれ と の回転/反射として選択できます 。また は 最初の 座標をスケーリングするだけでなく、ベクトルをゼロで拡張します。つまり、末尾の座標を削除して に変換します 。
メートル
≠
ん
、
{\displaystyle m\neq n,}
R
ん
{\displaystyle \mathbf {R} ^{n}}
R
メートル
。
{\displaystyle \mathbf {R} ^{m}.}
あなた
{\displaystyle \mathbf {U} }
五
∗
{\displaystyle \mathbf {V} ^{*}}
R
メートル
{\displaystyle \mathbf {R} ^{m}}
R
ん
、
{\displaystyle \mathbf {R} ^{n},}
Σ
、
{\displaystyle \mathbf {\Sigma } ,}
分
{
メートル
、
ん
}
{\displaystyle \min\{m,n\}}
R
n
{\displaystyle \mathbf {R} ^{n}}
R
m
.
{\displaystyle \mathbf {R} ^{m}.}
楕円または楕円体の半軸としての特異値
図に示すように、 特異値は2D の 楕円 の半軸の大きさとして解釈できます 。この概念は
n
{\displaystyle n}
次元 ユークリッド空間に一般化でき、任意の
n
×
n
{\displaystyle n\times n}
正方行列 の特異値は
n
{\displaystyle n}
次元 楕円 体の半軸の大きさとして見ることができます。同様に、任意の
m
×
n
{\displaystyle m\times n}
行列の特異値は 次元空間の
n
{\displaystyle n}
次元 楕円体 の半軸の大きさ 、たとえば 3D 空間内の (傾斜した) 2D 平面の楕円として見ることができます。特異値は半軸の大きさをエンコードし、特異ベクトルは方向をエンコードします。詳細については以下を参照してください。
m
{\displaystyle m}
の列 あなた そして 五 正規直交基底である
U
{\displaystyle \mathbf {U} }
と
V
∗
{\displaystyle \mathbf {V} ^{*}}
はユニタリなので、それらのそれぞれの列は 正規直交ベクトル の集合を形成し、これは 基底ベクトル とみなすことができます 。行列
M
{\displaystyle \mathbf {M} }
は、基底ベクトル
V
i
{\displaystyle \mathbf {V} _{i}}
を引き伸ばされた単位ベクトル
σ
i
U
i
.
{\displaystyle \sigma _{i}\mathbf {U} _{i}.}
にマップします。 ユニタリ行列の定義により、 特異値を引き伸ばしたものとしての幾何学的解釈が失われることを除いて、それらの共役転置
U
∗
{\displaystyle \mathbf {U} ^{*}}
および についても同じことが当てはまります。つまり、
V
,
{\displaystyle \mathbf {V} ,}
U
,
{\displaystyle \mathbf {U} ,}
U
∗
,
{\displaystyle \mathbf {U} ^{*},}
V
,
{\displaystyle \mathbf {V} ,}
および の列は
V
∗
{\displaystyle \mathbf {V} ^{*}}
正規直交基底 です 。 が
M
{\displaystyle \mathbf {M} }
半正定値 エルミート行列 である場合 、
U
{\displaystyle \mathbf {U} }
と はどちらも
V
{\displaystyle \mathbf {V} }
M
.
{\displaystyle \mathbf {M} .}
を対角化するのに使用されるユニタリ行列と等しくなります 。 ただし、 が
M
{\displaystyle \mathbf {M} }
半正定値エルミートではないが 対角化可能 な場合、その 固有分解 と特異値分解は異なります。
4つの基本部分空間との関係
の 最初の 列は
r
{\displaystyle r}
の 列空間 の基底です 。
U
{\displaystyle \mathbf {U} }
M
{\displaystyle \mathbf {M} }
の 最後の 列は
m
−
r
{\displaystyle m-r}
の ヌル空間 の基底です 。
U
{\displaystyle \mathbf {U} }
M
∗
{\displaystyle \mathbf {M} ^{*}}
の 最初の 列は
r
{\displaystyle r}
の列空間( 実際の場合は の 行空間 )の基底です。
V
{\displaystyle \mathbf {V} }
M
∗
{\displaystyle \mathbf {M} ^{*}}
M
{\displaystyle \mathbf {M} }
の 最後の 列は
n
−
r
{\displaystyle n-r}
のヌル空間の基底です 。
V
{\displaystyle \mathbf {V} }
M
{\displaystyle \mathbf {M} }
幾何学的な意味
U
{\displaystyle \mathbf {U} }
と は
V
{\displaystyle \mathbf {V} }
ユニタリなので、 の 列 は
U
1
,
…
,
U
m
{\displaystyle \mathbf {U} _{1},\ldots ,\mathbf {U} _{m}}
の 正規直交基底 を生じ、 の 列 は の正規直交基底を生じることがわかります (これらの空間上の標準的な スカラー積 に関して )。
U
{\displaystyle \mathbf {U} }
K
m
{\displaystyle K^{m}}
V
1
,
…
,
V
n
{\displaystyle \mathbf {V} _{1},\ldots ,\mathbf {V} _{n}}
V
{\displaystyle \mathbf {V} }
K
n
{\displaystyle K^{n}}
線形 変換
T
:
{
K
n
→
K
m
x
↦
M
x
{\displaystyle T:\left\{{\begin{aligned}K^{n}&\to K^{m}\\x&\mapsto \mathbf {M} x\end{aligned}}\right.}
これらの正規直交基底に関して、特に簡単な記述がある。
T
(
V
i
)
=
σ
i
U
i
,
i
=
1
,
…
,
min
(
m
,
n
)
,
{\displaystyle T(\mathbf {V} _{i})=\sigma _{i}\mathbf {U} _{i},\qquad i=1,\ldots ,\min(m,n),}
ここで、 は
σ
i
{\displaystyle \sigma _{i}}
の
i
{\displaystyle i}
番目の対角要素 であり 、 に対して です。
Σ
,
{\displaystyle \mathbf {\Sigma } ,}
T
(
V
i
)
=
0
{\displaystyle T(\mathbf {V} _{i})=0}
i
>
min
(
m
,
n
)
.
{\displaystyle i>\min(m,n).}
したがって、SVD 定理の幾何学的内容は次のようにまとめることができます。すべての線型写像
T
:
K
n
→
K
m
{\displaystyle T:K^{n}\to K^{m}}
に対して、
K
n
{\displaystyle K^{n}}
と
K
m
{\displaystyle K^{m}}
の正規直交基底を見つけることができ、 は
T
{\displaystyle T}
の
i
{\displaystyle i}
番目の基底ベクトルを の 番目の基底ベクトル の非負倍数に 写像し 、残りの基底ベクトルを 0 に送ります。これらの基底に関して、写像 は非負の実数の対角要素を持つ対角行列によって表されます。
K
n
{\displaystyle K^{n}}
i
{\displaystyle i}
K
m
,
{\displaystyle K^{m},}
T
{\displaystyle T}
特異値と SVD 因数分解のより視覚的なイメージをつかむには (少なくとも実数ベクトル空間で作業している場合は)、 半径 1 の球 を考えます
S
{\displaystyle S}
。 線型写像 は、 この球を
R
n
.
{\displaystyle \mathbf {R} ^{n}.}
の 楕円 体 に写像します。非ゼロの特異値は、単にこの楕円体の 半軸 の長さです。特に およびすべての特異値が異なっていて非ゼロである場合、線型写像 の SVD は、 3 つの連続する動きの連続として簡単に分析できます。楕円体 と具体的にはその軸を考えます。次に、 からこれらの軸に送られる の方向を考えます 。これらの方向は、たまたま相互に直交しています。まず等長写像を適用し 、これらの方向を の座標軸に送ります 。2 番目の動きでは、 座標軸に沿って対角化され、各方向に伸縮する自己準同型写像を適用し、 の半軸の長さを伸縮係数として使用します 。 次に 、 合成 は 単位 球を に等長な楕円体に送ります。3 番目で最後の動きを定義するには、この楕円体に等長写像 を適用して を 取得します。 簡単に確認できるように、合成 は と一致します 。
T
{\displaystyle T}
R
m
.
{\displaystyle \mathbf {R} ^{m}.}
n
=
m
,
{\displaystyle n=m,}
T
{\displaystyle T}
T
(
S
)
{\displaystyle T(S)}
R
n
{\displaystyle \mathbf {R} ^{n}}
T
{\displaystyle T}
V
∗
{\displaystyle \mathbf {V} ^{*}}
R
n
.
{\displaystyle \mathbf {R} ^{n}.}
D
{\displaystyle \mathbf {D} }
T
(
S
)
{\displaystyle T(S)}
D
∘
V
∗
{\displaystyle \mathbf {D} \circ \mathbf {V} ^{*}}
T
(
S
)
.
{\displaystyle T(S).}
U
{\displaystyle \mathbf {U} }
T
(
S
)
.
{\displaystyle T(S).}
U
∘
D
∘
V
∗
{\displaystyle \mathbf {U} \circ \mathbf {D} \circ \mathbf {V} ^{*}}
T
.
{\displaystyle T.}
例
4
×
5
{\displaystyle 4\times 5}
行列
を考えてみましょう
M
=
[
1
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
]
{\displaystyle \mathbf {M} ={\begin{bmatrix}1&0&0&0&2\\0&0&3&0&0\\0&0&0&0&0\\0&2&0&0&0\end{bmatrix}}}
この行列の特異値分解は 次のように表される 。
U
Σ
V
∗
{\displaystyle \mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
U
=
[
0
−
1
0
0
−
1
0
0
0
0
0
0
−
1
0
0
−
1
0
]
Σ
=
[
3
0
0
0
0
0
5
0
0
0
0
0
2
0
0
0
0
0
0
0
]
V
∗
=
[
0
0
−
1
0
0
−
0.2
0
0
0
−
0.8
0
−
1
0
0
0
0
0
0
1
0
−
0.8
0
0
0
0.2
]
{\displaystyle {\begin{aligned}\mathbf {U} &={\begin{bmatrix}\color {Green}0&\color {Blue}-1&\color {Cyan}0&\color {Emerald}0\\\color {Green}-1&\color {Blue}0&\color {Cyan}0&\color {Emerald}0\\\color {Green}0&\color {Blue}0&\color {Cyan}0&\color {Emerald}-1\\\color {Green}0&\color {Blue}0&\color {Cyan}-1&\color {Emerald}0\end{bmatrix}}\\[6pt]\mathbf {\Sigma } &={\begin{bmatrix}3&0&0&0&\color {Gray}{\mathit {0}}\\0&{\sqrt {5}}&0&0&\color {Gray}{\mathit {0}}\\0&0&2&0&\color {Gray}{\mathit {0}}\\0&0&0&\color {Red}\mathbf {0} &\color {Gray}{\mathit {0}}\end{bmatrix}}\\[6pt]\mathbf {V} ^{*}&={\begin{bmatrix}\color {Violet}0&\color {Violet}0&\color {Violet}-1&\color {Violet}0&\color {Violet}0\\\color {Plum}-{\sqrt {0.2}}&\color {Plum}0&\color {Plum}0&\color {Plum}0&\color {Plum}-{\sqrt {0.8}}\\\color {Magenta}0&\color {Magenta}-1&\color {Magenta}0&\color {Magenta}0&\color {Magenta}0\\\color {Orchid}0&\color {Orchid}0&\color {Orchid}0&\color {Orchid}1&\color {Orchid}0\\\color {Purple}-{\sqrt {0.8}}&\color {Purple}0&\color {Purple}0&\color {Purple}0&\color {Purple}{\sqrt {0.2}}\end{bmatrix}}\end{aligned}}}
スケーリング行列 は
Σ
{\displaystyle \mathbf {\Sigma } }
対角線の外側ではゼロ(灰色の斜体)であり、1 つの対角要素はゼロ(赤の太字、ダーク モードでは水色の太字)です。さらに、行列
U
{\displaystyle \mathbf {U} }
と は
V
∗
{\displaystyle \mathbf {V} ^{*}}
ユニタリ であるため 、それぞれの共役転置を掛けると、以下に示すように 単位行列 が生成されます。この場合、
U
{\displaystyle \mathbf {U} }
と は
V
∗
{\displaystyle \mathbf {V} ^{*}}
実数値であるため、それぞれは 直交行列 です。
U
U
∗
=
[
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
]
=
I
4
V
V
∗
=
[
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
]
=
I
5
{\displaystyle {\begin{aligned}\mathbf {U} \mathbf {U} ^{*}&={\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&1&0\\0&0&0&1\end{bmatrix}}=\mathbf {I} _{4}\\[6pt]\mathbf {V} \mathbf {V} ^{*}&={\begin{bmatrix}1&0&0&0&0\\0&1&0&0&0\\0&0&1&0&0\\0&0&0&1&0\\0&0&0&0&1\end{bmatrix}}=\mathbf {I} _{5}\end{aligned}}}
この特定の特異値分解は一意ではありません。たとえば、
U
{\displaystyle \mathbf {U} }
と は同じままにして、
Σ
{\displaystyle \mathbf {\Sigma } }
V
∗
{\displaystyle \mathbf {V} ^{*}}
の最後の2行を 次のように変更することができます。
V
∗
=
[
0
0
−
1
0
0
−
0.2
0
0
0
−
0.8
0
−
1
0
0
0
0.4
0
0
0.5
−
0.1
−
0.4
0
0
0.5
0.1
]
{\displaystyle \mathbf {V} ^{*}={\begin{bmatrix}\color {Violet}0&\color {Violet}0&\color {Violet}-1&\color {Violet}0&\color {Violet}0\\\color {Plum}-{\sqrt {0.2}}&\color {Plum}0&\color {Plum}0&\color {Plum}0&\color {Plum}-{\sqrt {0.8}}\\\color {Magenta}0&\color {Magenta}-1&\color {Magenta}0&\color {Magenta}0&\color {Magenta}0\\\color {Orchid}{\sqrt {0.4}}&\color {Orchid}0&\color {Orchid}0&\color {Orchid}{\sqrt {0.5}}&\color {Orchid}-{\sqrt {0.1}}\\\color {Purple}-{\sqrt {0.4}}&\color {Purple}0&\color {Purple}0&\color {Purple}{\sqrt {0.5}}&\color {Purple}{\sqrt {0.1}}\end{bmatrix}}}
同様に有効な特異値分解が得られます。行列 は
M
{\displaystyle \mathbf {M} }
階数が 3 なので、非ゼロの特異値は 3 つだけです。積 を取る際に、
U
Σ
V
∗
{\displaystyle \mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
U
{\displaystyle \mathbf {U} }
の最後の列と
V
∗
{\displaystyle \mathbf {V^{*}} }
の最後の 2 行 にゼロが掛けられるため、行列の積には影響がなく、最初の 3 つと互いに直交する任意の単位ベクトルに置き換えることができます。
コンパクトなSVD、
M
=
U
r
Σ
r
V
r
∗
{\displaystyle \mathbf {M} =\mathbf {U} _{r}\mathbf {\Sigma } _{r}\mathbf {V} _{r}^{*}}
は、これらの余分な行、列、および特異値を削除します。
U
r
=
[
0
−
1
0
−
1
0
0
0
0
0
0
0
−
1
]
Σ
r
=
[
3
0
0
0
5
0
0
0
2
]
V
r
∗
=
[
0
0
−
1
0
0
−
0.2
0
0
0
−
0.8
0
−
1
0
0
0
]
{\displaystyle {\begin{aligned}\mathbf {U} _{r}&={\begin{bmatrix}\color {Green}0&\color {Blue}-1&\color {Cyan}0\\\color {Green}-1&\color {Blue}0&\color {Cyan}0\\\color {Green}0&\color {Blue}0&\color {Cyan}0\\\color {Green}0&\color {Blue}0&\color {Cyan}-1\end{bmatrix}}\\[6pt]\mathbf {\Sigma } _{r}&={\begin{bmatrix}3&0&0\\0&{\sqrt {5}}&0\\0&0&2\end{bmatrix}}\\[6pt]\mathbf {V} _{r}^{*}&={\begin{bmatrix}\color {Violet}0&\color {Violet}0&\color {Violet}-1&\color {Violet}0&\color {Violet}0\\\color {Plum}-{\sqrt {0.2}}&\color {Plum}0&\color {Plum}0&\color {Plum}0&\color {Plum}-{\sqrt {0.8}}\\\color {Magenta}0&\color {Magenta}-1&\color {Magenta}0&\color {Magenta}0&\color {Magenta}0\end{bmatrix}}\end{aligned}}}
SVDとスペクトル分解
特異値、特異ベクトル、およびそれらの SVD との関係
非負の実数 が
σ
{\displaystyle \sigma }
に対して 特異値 となるのは 、
および に 単位 長さのベクトル が存在し 、
M
{\displaystyle \mathbf {M} }
u
{\displaystyle \mathbf {u} }
K
m
{\displaystyle K^{m}}
v
{\displaystyle \mathbf {v} }
K
n
{\displaystyle K^{n}}
M
v
=
σ
u
,
M
∗
u
=
σ
v
.
{\displaystyle {\begin{aligned}\mathbf {Mv} &=\sigma \mathbf {u} ,\\[3mu]\mathbf {M} ^{*}\mathbf {u} &=\sigma \mathbf {v} .\end{aligned}}}
ベクトル
u
{\displaystyle \mathbf {u} }
と は、それぞれ
v
{\displaystyle \mathbf {v} }
の 左特異ベクトル と 右特異ベクトル と呼ばれます 。
σ
,
{\displaystyle \sigma ,}
任意の特異値分解において
M
=
U
Σ
V
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
Σ
{\displaystyle \mathbf {\Sigma } }
の対角要素は
M
.
{\displaystyle \mathbf {M} .}
の特異値に等しくなります。 と の 最初の
p
=
min
(
m
,
n
)
{\displaystyle p=\min(m,n)}
列は、それぞれ対応する特異値の左特異ベクトルと右特異ベクトルです。したがって、上記の定理は次のことを意味します。
U
{\displaystyle \mathbf {U} }
V
{\displaystyle \mathbf {V} }
m
×
n
{\displaystyle m\times n}
行列
M
{\displaystyle \mathbf {M} }
に は最大で 個の
p
{\displaystyle p}
異なる特異値があります。
の各特異値の左特異ベクトルを張る基底ベクトルのサブセットを持つ の ユニタリ 基底 を 見つける こと は常に可能です 。
U
{\displaystyle \mathbf {U} }
K
m
{\displaystyle K^{m}}
M
.
{\displaystyle \mathbf {M} .}
の各特異値の右特異ベクトルを張る基底ベクトルのサブセットを持つ の ユニタリ 基底
V
{\displaystyle \mathbf {V} }
を 見つける ことは常に可能です 。
K
n
{\displaystyle K^{n}}
M
.
{\displaystyle \mathbf {M} .}
線形独立な 2 つの左 (または右) 特異ベクトルが見つかる特異値は 退化と 呼ばれます。
u
1
{\displaystyle \mathbf {u} _{1}}
と が
u
2
{\displaystyle \mathbf {u} _{2}}
2 つの左特異ベクトルで、どちらも特異値 σ に対応する場合、2 つのベクトルの正規化された線形結合も、特異値 σ に対応する左特異ベクトルになります。 同様のことが右特異ベクトルにも当てはまります。 独立した左特異ベクトルと右特異ベクトルの数は一致し、これらの特異ベクトルは
U
{\displaystyle \mathbf {U} }
と
V
{\displaystyle \mathbf {V} }
の同じ列に現れ、すべて同じ値を持つ
Σ
{\displaystyle \mathbf {\Sigma } }
の 対角要素に対応します 。
σ
.
{\displaystyle \sigma .}
例外として、特異値 0 の左特異ベクトルと右特異ベクトルは、 それぞれ の コカーネル と カーネルのすべての単位ベクトルで構成されますが、 ランク ヌル定理 により、 の場合、これらのベクトルは同じ次元にはなりません。 すべての特異値がゼロでなくても、 の場合はコカーネルが自明でないため、 には コカーネルからの 直交ベクトルが埋め込まれます。逆に、 の場合は、 にはカーネルからの 直交 ベクトル が 埋め込ま れ ます 。 ただし、 の特異値が存在する場合、 または の余分な列は、 すでに左特異ベクトルまたは右特異ベクトルとして表示されます。
M
,
{\displaystyle \mathbf {M} ,}
m
≠
n
.
{\displaystyle m\neq n.}
m
>
n
{\displaystyle m>n}
U
{\displaystyle \mathbf {U} }
m
−
n
{\displaystyle m-n}
m
<
n
,
{\displaystyle m<n,}
V
{\displaystyle \mathbf {V} }
n
−
m
{\displaystyle n-m}
0
{\displaystyle 0}
U
{\displaystyle \mathbf {U} }
V
{\displaystyle \mathbf {V} }
非退化特異値は、単位位相因子
e
i
φ
{\displaystyle e^{i\varphi }}
による乗算(実数の場合は符号まで)まで、常に一意の左特異ベクトルと右特異ベクトルを持ちます。したがって、正方行列 のすべての特異値が非退化かつ非ゼロである場合、その特異値分解は、
M
{\displaystyle \mathbf {M} }
U
{\displaystyle \mathbf {U} }
の列に単位位相因子を乗算し、同時に
V
{\displaystyle \mathbf {V} }
の対応する列 に同じ単位位相因子を乗算するまで一意です。一般に、SVD は、各特異値のサブスペースにまたがる
U
{\displaystyle \mathbf {U} }
と
V
{\displaystyle \mathbf {V} }
の列ベクトルに均一に適用される任意のユニタリ変換、および の核と余核にまたがる
U
{\displaystyle \mathbf {U} }
と の
V
{\displaystyle \mathbf {V} }
ベクトルに対する任意のユニタリ変換まで一意 です 。
M
.
{\displaystyle \mathbf {M} .}
固有値分解との関係
特異値分解は任意 の
m
×
n
{\displaystyle m\times n}
行列に適用できるという意味で非常に一般的です が、 固有値分解は正方 対角化可能な行列 にのみ適用できます 。それでも、2 つの分解は関連しています。
に
M
{\displaystyle \mathbf {M} }
SVD
M
=
U
Σ
V
∗
,
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*},}
がある場合 、次の 2 つの関係が成立します。
M
∗
M
=
V
Σ
∗
U
∗
U
Σ
V
∗
=
V
(
Σ
∗
Σ
)
V
∗
,
M
M
∗
=
U
Σ
V
∗
V
Σ
∗
U
∗
=
U
(
Σ
Σ
∗
)
U
∗
.
{\displaystyle {\begin{aligned}\mathbf {M} ^{*}\mathbf {M} &=\mathbf {V} \mathbf {\Sigma } ^{*}\mathbf {U} ^{*}\,\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}=\mathbf {V} (\mathbf {\Sigma } ^{*}\mathbf {\Sigma } )\mathbf {V} ^{*},\\[3mu]\mathbf {M} \mathbf {M} ^{*}&=\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}\,\mathbf {V} \mathbf {\Sigma } ^{*}\mathbf {U} ^{*}=\mathbf {U} (\mathbf {\Sigma } \mathbf {\Sigma } ^{*})\mathbf {U} ^{*}.\end{aligned}}}
これらの関係の右辺は左辺の固有値分解を表します。したがって、次のようになります。
V
{\displaystyle \mathbf {V} }
の列 (右特異ベクトルと呼ばれる)は の 固有ベクトルである。
M
∗
M
.
{\displaystyle \mathbf {M} ^{*}\mathbf {M} .}
U
{\displaystyle \mathbf {U} }
の列 (左特異ベクトルと呼ばれる)は、 の固有ベクトルである。
M
M
∗
.
{\displaystyle \mathbf {M} \mathbf {M} ^{*}.}
Σ
{\displaystyle \mathbf {\Sigma } }
の非ゼロ要素(非ゼロ特異値)は、 または の非ゼロ 固有値 の平方根です。
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
M
M
∗
.
{\displaystyle \mathbf {M} \mathbf {M} ^{*}.}
が
M
{\displaystyle \mathbf {M} }
正規行列 、つまり正方行列 である という特殊なケースでは、 スペクトル定理により、 固有ベクトル の基底を使用して ユニタリ 対角化 できるため 、 対角線に沿って 複素 要素 を持つ ユニタリ 行列 と対角行列 に対して として分解できます。 が 半正定値 の場合 、 は 非負の実数となるため、分解 も特異値分解になります。 それ以外の場合は、各 の位相 を対応する または に 移動することで、SVD として作り直すことができます。 SVD と非正規行列の自然な関係は、 極分解 定理によるものです。 ここで、 は 半正定値で正規であり、 はユニタリです。
M
=
U
D
U
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {D} \mathbf {U} ^{*}}
U
{\displaystyle \mathbf {U} }
D
{\displaystyle \mathbf {D} }
σ
i
{\displaystyle \sigma _{i}}
M
{\displaystyle \mathbf {M} }
σ
i
{\displaystyle \sigma _{i}}
M
=
U
D
U
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {D} \mathbf {U} ^{*}}
e
i
φ
{\displaystyle e^{i\varphi }}
σ
i
{\displaystyle \sigma _{i}}
V
i
{\displaystyle \mathbf {V} _{i}}
U
i
.
{\displaystyle \mathbf {U} _{i}.}
M
=
S
R
,
{\displaystyle \mathbf {M} =\mathbf {S} \mathbf {R} ,}
S
=
U
Σ
U
∗
{\displaystyle \mathbf {S} =\mathbf {U} \mathbf {\Sigma } \mathbf {U} ^{*}}
R
=
U
V
∗
{\displaystyle \mathbf {R} =\mathbf {U} \mathbf {V} ^{*}}
したがって、半正定値行列を除いて、
M
,
{\displaystyle \mathbf {M} ,}
の固有値分解と SVD は関連しているものの異なります。固有値分解は
1
{\displaystyle {1}}
であり、 は
U
{\displaystyle \mathbf {U} }
必ずしもユニタリではなく、 は
D
{\displaystyle \mathbf {D} }
必ずしも半正定値ではありません。一方、SVD は
1
{\displaystyle {1}}
であり、 は
Σ
{\displaystyle \mathbf {\Sigma } }
対角かつ半正定値であり、
U
{\displaystyle \mathbf {U} }
と は、
V
{\displaystyle \mathbf {V} }
行列 を除いて必ずしも関連していないユニタリ行列です。
M
.
{\displaystyle \mathbf {M} .}
欠陥のない 正方行列 のみ が固有値分解を持ちますが、任意の
m
×
n
{\displaystyle m\times n}
行列に SVD があります。
SVDの応用
擬似逆行列
特異値分解は行列の 擬似逆行列 を計算するために使用できます。 特異値分解による 行列 の 擬似
M
{\displaystyle \mathbf {M} }
逆行列
は
M
=
U
Σ
V
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
M
+
=
V
Σ
+
U
∗
,
{\displaystyle \mathbf {M} ^{+}=\mathbf {V} {\boldsymbol {\Sigma }}^{+}\mathbf {U} ^{\ast },}
ここで、 は の擬似逆行列であり 、これはすべての非ゼロの対角要素をその 逆数で置き換え、結果の行列を転置することによって形成されます。擬似逆行列は、 線形最小二乗 問題を解く 1 つの方法です 。
Σ
+
{\displaystyle {\boldsymbol {\Sigma }}^{+}}
Σ
{\displaystyle {\boldsymbol {\Sigma }}}
同次線形方程式を解く
一組の 同次線形方程式 は、行列 とベクトル について
A
x
=
0
{\displaystyle \mathbf {A} \mathbf {x} =\mathbf {0} }
と表すことができます。 典型的な状況は、 が既知であり、方程式を満たす非ゼロ を決定することです。このような は の ヌル空間 に属し、 の (右) ヌルベクトルと呼ばれることもあります 。 ベクトル は、ゼロである の特異値に対応する右特異ベクトルとして特徴付けることができます 。この観察は、 が 正方行列 であり 、消失する特異値を持たない場合、方程式には解として非ゼロ ということを意味します。また、消失する特異値が複数ある場合、対応する右特異ベクトルの線形結合はいずれも有効な解であることを意味します。 (右)ヌルベクトルの定義と同様に、 を満たす非ゼロ の は の 共役転置を表し、 は の左ヌルベクトルと呼ばれます。
A
{\displaystyle \mathbf {A} }
x
.
{\displaystyle \mathbf {x} .}
A
{\displaystyle \mathbf {A} }
x
{\displaystyle \mathbf {x} }
x
{\displaystyle \mathbf {x} }
A
{\displaystyle \mathbf {A} }
A
.
{\displaystyle \mathbf {A} .}
x
{\displaystyle \mathbf {x} }
A
{\displaystyle \mathbf {A} }
A
{\displaystyle \mathbf {A} }
x
{\displaystyle \mathbf {x} }
x
{\displaystyle \mathbf {x} }
x
∗
A
=
0
{\displaystyle \mathbf {x} ^{*}\mathbf {A} =\mathbf {0} }
x
∗
{\displaystyle \mathbf {x} ^{*}}
x
,
{\displaystyle \mathbf {x} ,}
A
.
{\displaystyle \mathbf {A} .}
合計最小二乗最小化
全 最小二乗 問題は、制約の下で ベクトル の 2 ノルム を 最小化する ベクトル
x
{\displaystyle \mathbf {x} }
を求めます。解は、最小の特異値に対応する
の右特異ベクトルになります。
A
x
{\displaystyle \mathbf {A} \mathbf {x} }
‖
x
‖
=
1.
{\displaystyle \|\mathbf {x} \|=1.}
A
{\displaystyle \mathbf {A} }
範囲、零空間、ランク
SVD のもう 1 つの用途は、行列の値域とヌル空間の明示的な表現を提供することです 。 の 消失
M
.
{\displaystyle \mathbf {M} .}
する 特異
M
{\displaystyle \mathbf {M} }
値に対応する右特異ベクトルは
M
{\displaystyle \mathbf {M} }
のヌル空間に広がり、
M
{\displaystyle \mathbf {M} }
の非ゼロ特異値に対応する左特異ベクトルは
M
.
{\displaystyle \mathbf {M} .}
の範囲に広がります。たとえば、上記の例では、ヌル空間は
V
∗
{\displaystyle \mathbf {V} ^{*}}
の最後の行に広がり、値域は の最初の 3 列に広がります 。
U
.
{\displaystyle \mathbf {U} .}
その結果、 の 階数は 、 の非ゼロの対角要素の数と同じである非ゼロの特異値の数に等しくなります。数値線形代数では、 丸め誤差 により、階数不足の行列で小さいながらも非ゼロの特異値が生じる可能性があるため、特異値を使用して 行列の 有効階数 を決定できます。大きな差を超える特異値は、数値的にゼロと等しいとみなされます。
M
{\displaystyle \mathbf {M} }
Σ
{\displaystyle \mathbf {\Sigma } }
低ランク行列近似
いくつかの実用的なアプリケーションでは、特定の階数 を持つ、切り捨てられたと言われる別の行列 を近似する問題を解く必要があります 。 近似 が と の 差 の フロベニウス ノルム を 最小 化することに基づいている場合 、制約の下で、解は の SVD によって与えられることがわかります 。
M
{\displaystyle \mathbf {M} }
M
~
{\displaystyle {\tilde {\mathbf {M} }}}
r
{\displaystyle r}
M
{\displaystyle \mathbf {M} }
M
~
{\displaystyle {\tilde {\mathbf {M} }}}
rank
(
M
~
)
=
r
,
{\displaystyle \operatorname {rank} {\bigl (}{\tilde {\mathbf {M} }}{\bigr )}=r,}
M
,
{\displaystyle \mathbf {M} ,}
M
~
=
U
Σ
~
V
∗
,
{\displaystyle {\tilde {\mathbf {M} }}=\mathbf {U} {\tilde {\mathbf {\Sigma } }}\mathbf {V} ^{*},}
ここで、は、 最大 の 特異値のみを含むことを除いて、 と同じ行列です (他の特異値はゼロに置き換えられます)。これは、1936年に2人の著者によって証明されたため、 エッカート–ヤングの定理 として知られています(ただし、後に、より古い著者にも知られていたことが判明しました。Stewart 1993を参照)。
Σ
~
{\displaystyle {\tilde {\mathbf {\Sigma } }}}
Σ
{\displaystyle \mathbf {\Sigma } }
r
{\displaystyle r}
分離可能なモデル
SVDは 、行列を分離可能な行列の重み付き順序付き和に分解すると考えることができます。分離可能とは、行列が 2 つのベクトルの外積として表されるか、座標で表せることを意味します 。 具体
A
{\displaystyle \mathbf {A} }
的 に は 、 行列 は 次 の よう に 分解できます。
A
=
u
⊗
v
,
{\displaystyle \mathbf {A} =\mathbf {u} \otimes \mathbf {v} ,}
A
i
j
=
u
i
v
j
.
{\displaystyle A_{ij}=u_{i}v_{j}.}
M
{\displaystyle \mathbf {M} }
M
=
∑
i
A
i
=
∑
i
σ
i
U
i
⊗
V
i
.
{\displaystyle \mathbf {M} =\sum _{i}\mathbf {A} _{i}=\sum _{i}\sigma _{i}\mathbf {U} _{i}\otimes \mathbf {V} _{i}.}
ここで、
U
i
{\displaystyle \mathbf {U} _{i}}
と は
V
i
{\displaystyle \mathbf {V} _{i}}
対応する SVD 行列の
i
{\displaystyle i}
番目の列、
σ
i
{\displaystyle \sigma _{i}}
は順序付けられた特異値、各
A
i
{\displaystyle \mathbf {A} _{i}}
は分離可能です。SVD は、画像処理フィルターを分離可能な水平フィルターと垂直フィルターに分解するために使用できます。非ゼロの の数は、行列のランクとまったく同じであることに注意してください 。 [
σ
i
{\displaystyle \sigma _{i}}
要 出典 ] 分離 可能 なモデルは生物系でよく発生し、SVD 因数分解はそのようなシステムの解析に役立ちます。たとえば、一部の視覚野 V1 単純細胞の受容野は、空間領域の ガボールフィルターに時間領域の変調関数を乗じることで適切に説明できます [1] 。したがって、たとえば 逆相関 を通じて評価された線形フィルターが与えられれば、2 つの空間次元を 1 つの次元に並べ替えて、SVD を通じて分解できる 2 次元フィルター (空間、時間) を生成できます。 SVD分解における の最初の列は ガボールであり、 の最初の列は時間変調を表します(またはその逆)。次に、分離可能性のインデックスを定義します。
U
{\displaystyle \mathbf {U} }
V
{\displaystyle \mathbf {V} }
α
=
σ
1
2
∑
i
σ
i
2
,
{\displaystyle \alpha ={\frac {\sigma _{1}^{2}}{\sum _{i}\sigma _{i}^{2}}},}
これは分解において最初の分離可能な行列によって説明される行列Mのべき乗の割合である。 [2]
最も近い直交行列
正方行列 の SVD を使用して、
A
{\displaystyle \mathbf {A} }
に最も近い 直交行列
O
{\displaystyle \mathbf {O} }
を決定することができます。適合度の近さは、 の フロベニウスノルム で測定されます。 解は積 [3] です。これは直感的に意味をなします。直交行列には分解 があり 、 は 単位 行列であるため、 の場合、積 は 特異値を 1 に置き換えることに相当するためです。同様に、解は、上記のように、伸張と回転のどちらの順序でも、極分解の ユニタリ行列 です。
A
.
{\displaystyle \mathbf {A} .}
O
−
A
.
{\displaystyle \mathbf {O} -\mathbf {A} .}
U
V
∗
.
{\displaystyle \mathbf {U} \mathbf {V} ^{*}.}
U
I
V
∗
{\displaystyle \mathbf {U} \mathbf {I} \mathbf {V} ^{*}}
I
{\displaystyle \mathbf {I} }
A
=
U
Σ
V
∗
{\displaystyle \mathbf {A} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
A
=
U
V
∗
{\displaystyle \mathbf {A} =\mathbf {U} \mathbf {V} ^{*}}
R
=
U
V
∗
{\displaystyle \mathbf {R} =\mathbf {U} \mathbf {V} ^{*}}
M
=
R
P
=
P
′
R
{\displaystyle \mathbf {M} =\mathbf {R} \mathbf {P} =\mathbf {P} '\mathbf {R} }
形状解析 における興味深い応用を持つ同様の問題 として、 直交プロクルステス問題があります。これは、 を に 最もよくマッピングする 直交行列
O
{\displaystyle \mathbf {O} }
を見つけることから成ります。具体的には、
A
{\displaystyle \mathbf {A} }
B
.
{\displaystyle \mathbf {B} .}
O
=
argmin
Ω
‖
A
Ω
−
B
‖
F
subject to
Ω
T
Ω
=
I
,
{\displaystyle \mathbf {O} ={\underset {\Omega }{\operatorname {argmin} }}\|\mathbf {A} {\boldsymbol {\Omega }}-\mathbf {B} \|_{F}\quad {\text{subject to}}\quad {\boldsymbol {\Omega }}^{\operatorname {T} }{\boldsymbol {\Omega }}=\mathbf {I} ,}
ここで は フロベニウスノルムを表します。
‖
⋅
‖
F
{\displaystyle \|\cdot \|_{F}}
この問題は、与えられた行列に最も近い直交行列を見つけることと同じです 。
M
=
A
T
B
{\displaystyle \mathbf {M} =\mathbf {A} ^{\operatorname {T} }\mathbf {B} }
カブシュアルゴリズム
Kabsch アルゴリズム ( 他の分野では Wahba の問題 とも呼ばれる) は、SVD を使用して、点の集合を対応する点の集合に揃える最適な回転 (最小二乗最小化に関して) を計算します。このアルゴリズムは、他の用途の中でも、分子の構造を比較するために使用されます。
信号処理
SVDと擬似逆行列は 、 信号処理 [4]、 画像処理 [5] 、 ビッグデータ (ゲノム信号処理など)にうまく適用されてきました。 [6] [7] [8] [9]
その他の例
SVD は、線形逆問題 の研究にも広く適用されており、 Tikhonov などの正規化法の分析にも役立ちます。統計では 主成分分析 や 対応分析 に関連して広く使用され 、 信号処理 や パターン認識 にも使用されます。また、出力のみの モード解析 でも使用され、非スケール モード形状は 特異ベクトルから決定できます。さらに別の用途としては、自然言語テキスト処理における 潜在的意味索引付け があります。
線形または線形化されたシステムを含む一般的な数値計算では、問題の規則性または特異性を特徴付ける普遍定数、つまりシステムの「条件数」が存在します 。これは、そのようなシステム上の特定の計算スキームのエラー率または収束率を制御することがよくあります。 [10] [11]
κ
:=
σ
max
/
σ
min
{\displaystyle \kappa :=\sigma _{\text{max}}/\sigma _{\text{min}}}
SVD は、シュミット分解 と呼ばれる形式で、 量子情報 の分野でも重要な役割を果たします。これにより、2 つの量子システムの状態が自然に分解され、それらが エンタングルメント されるための必要かつ十分な条件 (行列のランク が 1 より大きい場合) が提供されます。
Σ
{\displaystyle \mathbf {\Sigma } }
SVD をかなり大きな行列に適用する例の 1 つが数値天気予報 です 。ここでは、 ランチョス法を 使用して、与えられた初期の将来期間にわたって中心となる数値天気予報への最も線形に急速に増加する少数の摂動、つまり、その時間間隔における世界の天気の線形化されたプロパゲーターの最大特異値に対応する特異ベクトルを推定します。この場合の出力特異ベクトルは、天気システム全体です。これらの摂動は、完全な非線形モデルに渡って実行され、 アンサンブル予報 を生成し、現在の中心予測の周囲で許容されるべき不確実性の一部を把握します。
SVDは低次元モデリングにも応用されている。低次元モデリングの目的は、モデル化される複雑なシステムの自由度の数を減らすことである。SVDは ラジアル基底関数 と結合され、3次元の非定常流れの問題に対する解を補間する。 [12]
興味深いことに、SVDは地上重力波干渉計aLIGOによる重力波形モデリングの改善に使用されています。 [13] SVDは、重力波探索をサポートし、2つの異なる波形モデルを更新するための波形生成の精度と速度を向上させるのに役立ちます。
特異値分解は、 レコメンデーションシステム で人々のアイテム評価を予測するために使用されます。 [14] 分散アルゴリズムは、汎用マシンのクラスター上でSVDを計算する目的で開発されました。 [15]
低ランクSVDは、疾病 発生 検出への応用を目的とした時空間データからのホットスポット検出に適用されている。 [16] SVDと 高次SVD の組み合わせは、 疾病監視 における複雑なデータストリーム(空間と時間の次元を持つ多変量データ)からのリアルタイムイベント検出にも適用されている 。 [17]
天体力学 では、SVDとその派生型は、遷移軌道設計 [18] と 軌道維持 [19] のための適切な操作方向を決定するためのオプションとして使用されます 。
存在の証明
行列 の 固有値 は、 代数 関係
λ
{\displaystyle \lambda }
によって特徴付けられます 。 が エルミート である 場合、変分 による 特徴付けも利用できます。 を 実 対称 行列 とします。定義します。
M
{\displaystyle \mathbf {M} }
M
u
=
λ
u
.
{\displaystyle \mathbf {M} \mathbf {u} =\lambda \mathbf {u} .}
M
{\displaystyle \mathbf {M} }
M
{\displaystyle \mathbf {M} }
n
×
n
{\displaystyle n\times n}
f
:
{
R
n
→
R
x
↦
x
T
M
x
{\displaystyle f:\left\{{\begin{aligned}\mathbb {R} ^{n}&\to \mathbb {R} \\\mathbf {x} &\mapsto \mathbf {x} ^{\operatorname {T} }\mathbf {M} \mathbf {x} \end{aligned}}\right.}
極値定理 によれば、この連続関数は 単位球面に制限されると、ある
u
{\displaystyle \mathbf {u} }
で最大値に達します。 ラグランジュの乗数 定理によれば 、 は 必ず次を満たします。
{
‖
x
‖
=
1
}
.
{\displaystyle \{\|\mathbf {x} \|=1\}.}
u
{\displaystyle \mathbf {u} }
∇
u
T
M
u
−
λ
⋅
∇
u
T
u
=
0
{\displaystyle \nabla \mathbf {u} ^{\operatorname {T} }\mathbf {M} \mathbf {u} -\lambda \cdot \nabla \mathbf {u} ^{\operatorname {T} }\mathbf {u} =0}
ある実数
λ
.
{\displaystyle \lambda .}
に対して、ナブラ記号 は、
∇
{\displaystyle \nabla }
デル演算子(
x
{\displaystyle \mathbf {x} }
に関する微分) です 。
M
{\displaystyle \mathbf {M} }
の対称性を利用すると 、
∇
x
T
M
x
−
λ
⋅
∇
x
T
x
=
2
(
M
−
λ
I
)
x
.
{\displaystyle \nabla \mathbf {x} ^{\operatorname {T} }\mathbf {M} \mathbf {x} -\lambda \cdot \nabla \mathbf {x} ^{\operatorname {T} }\mathbf {x} =2(\mathbf {M} -\lambda \mathbf {I} )\mathbf {x} .}
したがって 、
M
u
=
λ
u
,
{\displaystyle \mathbf {M} \mathbf {u} =\lambda \mathbf {u} ,}
なので
u
{\displaystyle \mathbf {u} }
、 は
M
.
{\displaystyle \mathbf {M} .}
の単位長固有ベクトルです。 の単位長 固有ベクトル
v
{\displaystyle \mathbf {v} }
ごとに、 その 固有値は なので 、 は の最大固有値です。 の直交補に対して同じ計算を実行すると、 次に大きい固有値が得られ、以下同様に続きます。複素エルミートの場合も同様で、 実 変数 の 実数値関数が 存在 します。
M
{\displaystyle \mathbf {M} }
f
(
v
)
,
{\displaystyle f(\mathbf {v} ),}
λ
{\displaystyle \lambda }
M
.
{\displaystyle \mathbf {M} .}
u
{\displaystyle \mathbf {u} }
f
(
x
)
=
x
∗
M
x
{\displaystyle f(\mathbf {x} )=\mathbf {x} ^{*}\mathbf {M} \mathbf {x} }
2
n
{\displaystyle 2n}
特異値は、代数的に記述することも、変分原理から記述することもできるという点で似ています。ただし、固有値の場合とは異なり、
M
{\displaystyle \mathbf {M} }
のエルミート性、つまり対称性は もはや必要ありません。
このセクションでは、特異値分解の存在に関する 2 つの議論を示します。
スペクトル定理に基づく
を 複素 行列と する 。 は 半正定値かつエルミート行列なので、 スペクトル定理より、 次 のような
ユニタリ 行列 が存在する。
M
{\displaystyle \mathbf {M} }
m
×
n
{\displaystyle m\times n}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
n
×
n
{\displaystyle n\times n}
V
{\displaystyle \mathbf {V} }
V
∗
M
∗
M
V
=
D
¯
=
[
D
0
0
0
]
,
{\displaystyle \mathbf {V} ^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} ={\bar {\mathbf {D} }}={\begin{bmatrix}\mathbf {D} &0\\0&0\end{bmatrix}},}
ここで、 は 次元の対角正定値行列で 、 の非ゼロの固有値の数は です ( であることが証明できます )。 ここで、 は定義により、 の - 番目の列が の - 番目の固有ベクトル で 、固有値 に対応する 行列であることに注意してください 。 さらに、の - 番目の列( の場合)は 、 の固有ベクトルで、固有値 です。 これは、 と 書き表すことができます。したがって、 と の列には 、 それぞれ非ゼロ の固有値とゼロの固有値に対応する の固有ベクトルが含まれます。 のこの書き直しを使用すると 、方程式は次のようになります。
D
{\displaystyle \mathbf {D} }
ℓ
×
ℓ
{\displaystyle \ell \times \ell }
ℓ
{\displaystyle \ell }
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
ℓ
≤
min
(
n
,
m
)
{\displaystyle \ell \leq \min(n,m)}
V
{\displaystyle \mathbf {V} }
i
{\displaystyle i}
i
{\displaystyle i}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
D
¯
i
i
{\displaystyle {\bar {\mathbf {D} }}_{ii}}
j
{\displaystyle j}
V
{\displaystyle \mathbf {V} }
j
>
ℓ
{\displaystyle j>\ell }
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
D
¯
j
j
=
0
{\displaystyle {\bar {\mathbf {D} }}_{jj}=0}
V
{\displaystyle \mathbf {V} }
V
=
[
V
1
V
2
]
{\displaystyle \mathbf {V} ={\begin{bmatrix}\mathbf {V} _{1}&\mathbf {V} _{2}\end{bmatrix}}}
V
1
{\displaystyle \mathbf {V} _{1}}
V
2
{\displaystyle \mathbf {V} _{2}}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
V
{\displaystyle \mathbf {V} }
[
V
1
∗
V
2
∗
]
M
∗
M
[
V
1
V
2
]
=
[
V
1
∗
M
∗
M
V
1
V
1
∗
M
∗
M
V
2
V
2
∗
M
∗
M
V
1
V
2
∗
M
∗
M
V
2
]
=
[
D
0
0
0
]
.
{\displaystyle {\begin{bmatrix}\mathbf {V} _{1}^{*}\\\mathbf {V} _{2}^{*}\end{bmatrix}}\mathbf {M} ^{*}\mathbf {M} \,{\begin{bmatrix}\mathbf {V} _{1}&\!\!\mathbf {V} _{2}\end{bmatrix}}={\begin{bmatrix}\mathbf {V} _{1}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{1}&\mathbf {V} _{1}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{2}\\\mathbf {V} _{2}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{1}&\mathbf {V} _{2}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{2}\end{bmatrix}}={\begin{bmatrix}\mathbf {D} &0\\0&0\end{bmatrix}}.}
これは、
V
1
∗
M
∗
M
V
1
=
D
,
V
2
∗
M
∗
M
V
2
=
0
.
{\displaystyle \mathbf {V} _{1}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{1}=\mathbf {D} ,\quad \mathbf {V} _{2}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{2}=\mathbf {0} .}
さらに、2番目の式は を意味します 。 [20] 最後に、 のユニタリ性は 、 および の観点から 、 次の条件に変換されます。
M
V
2
=
0
{\displaystyle \mathbf {M} \mathbf {V} _{2}=\mathbf {0} }
V
{\displaystyle \mathbf {V} }
V
1
{\displaystyle \mathbf {V} _{1}}
V
2
{\displaystyle \mathbf {V} _{2}}
V
1
∗
V
1
=
I
1
,
V
2
∗
V
2
=
I
2
,
V
1
V
1
∗
+
V
2
V
2
∗
=
I
12
,
{\displaystyle {\begin{aligned}\mathbf {V} _{1}^{*}\mathbf {V} _{1}&=\mathbf {I} _{1},\\\mathbf {V} _{2}^{*}\mathbf {V} _{2}&=\mathbf {I} _{2},\\\mathbf {V} _{1}\mathbf {V} _{1}^{*}+\mathbf {V} _{2}\mathbf {V} _{2}^{*}&=\mathbf {I} _{12},\end{aligned}}}
ここで、単位行列の添え字は、それらの行列が異なる次元であることを示すために使用されます。
ここで定義しましょう
U
1
=
M
V
1
D
−
1
2
.
{\displaystyle \mathbf {U} _{1}=\mathbf {M} \mathbf {V} _{1}\mathbf {D} ^{-{\frac {1}{2}}}.}
それから、
U
1
D
1
2
V
1
∗
=
M
V
1
D
−
1
2
D
1
2
V
1
∗
=
M
(
I
−
V
2
V
2
∗
)
=
M
−
(
M
V
2
)
V
2
∗
=
M
,
{\displaystyle \mathbf {U} _{1}\mathbf {D} ^{\frac {1}{2}}\mathbf {V} _{1}^{*}=\mathbf {M} \mathbf {V} _{1}\mathbf {D} ^{-{\frac {1}{2}}}\mathbf {D} ^{\frac {1}{2}}\mathbf {V} _{1}^{*}=\mathbf {M} (\mathbf {I} -\mathbf {V} _{2}\mathbf {V} _{2}^{*})=\mathbf {M} -(\mathbf {M} \mathbf {V} _{2})\mathbf {V} _{2}^{*}=\mathbf {M} ,}
なぜなら、 これは という事実の直接の帰結とも見ることができます 。これは、 が の固有ベクトルの集合で、それらが 0 でない固有値に対応する場合 、 は 直交ベクトルの集合であり、 は (一般に完全ではない) 正規直交 ベクトルの集合であるという観察と同等です。これは、上で使用した行列形式と一致し、 の列が である行列、 の列が の固有ベクトルで 固有値 が 0 である行列、 の列がベクトル である行列を表します 。
M
V
2
=
0
.
{\displaystyle \mathbf {M} \mathbf {V} _{2}=\mathbf {0} .}
M
V
1
V
1
∗
=
M
{\displaystyle \mathbf {M} \mathbf {V} _{1}\mathbf {V} _{1}^{*}=\mathbf {M} }
{
v
i
}
i
=
1
ℓ
{\displaystyle \{{\boldsymbol {v}}_{i}\}_{i=1}^{\ell }}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
{
λ
i
}
i
=
1
ℓ
{\displaystyle \{\lambda _{i}\}_{i=1}^{\ell }}
{
M
v
i
}
i
=
1
ℓ
{\displaystyle \{\mathbf {M} {\boldsymbol {v}}_{i}\}_{i=1}^{\ell }}
{
λ
i
−
1
/
2
M
v
i
}
|
i
=
1
ℓ
{\displaystyle {\bigl \{}\lambda _{i}^{-1/2}\mathbf {M} {\boldsymbol {v}}_{i}{\bigr \}}{\vphantom {|}}_{i=1}^{\ell }}
V
1
{\displaystyle \mathbf {V} _{1}}
{
v
i
}
i
=
1
ℓ
{\displaystyle \{{\boldsymbol {v}}_{i}\}_{i=1}^{\ell }}
V
2
{\displaystyle \mathbf {V} _{2}}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
U
1
{\displaystyle \mathbf {U} _{1}}
{
λ
i
−
1
/
2
M
v
i
}
|
i
=
1
ℓ
{\displaystyle {\bigl \{}\lambda _{i}^{-1/2}\mathbf {M} {\boldsymbol {v}}_{i}{\bigr \}}{\vphantom {|}}_{i=1}^{\ell }}
これはほぼ望ましい結果であることがわかりますが、 と は一般にユニタリではないため、正方形ではない可能性があります。ただし、 の次元は および より大きくないため、 の行数は列 数より小さくないことはわかっています 。また、
U
1
{\displaystyle \mathbf {U} _{1}}
V
1
{\displaystyle \mathbf {V} _{1}}
U
1
{\displaystyle \mathbf {U} _{1}}
D
{\displaystyle \mathbf {D} }
m
{\displaystyle m}
n
{\displaystyle n}
U
1
∗
U
1
=
D
−
1
2
V
1
∗
M
∗
M
V
1
D
−
1
2
=
D
−
1
2
D
D
−
1
2
=
I
1
,
{\displaystyle \mathbf {U} _{1}^{*}\mathbf {U} _{1}=\mathbf {D} ^{-{\frac {1}{2}}}\mathbf {V} _{1}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{1}\mathbf {D} ^{-{\frac {1}{2}}}=\mathbf {D} ^{-{\frac {1}{2}}}\mathbf {D} \mathbf {D} ^{-{\frac {1}{2}}}=\mathbf {I_{1}} ,}
の列は 正規直交であり、正規直交基底に拡張できます。つまり、 がユニタリとなるようなものを選択できるということです 。
U
1
{\displaystyle \mathbf {U} _{1}}
U
2
{\displaystyle \mathbf {U} _{2}}
U
=
[
U
1
U
2
]
{\displaystyle \mathbf {U} ={\begin{bmatrix}\mathbf {U} _{1}&\mathbf {U} _{2}\end{bmatrix}}}
V
1
{\displaystyle \mathbf {V} _{1}}
すでにそれをユニタリにするために が
V
2
{\displaystyle \mathbf {V} _{2}}
あります 。ここで定義します
Σ
=
[
[
D
1
2
0
0
0
]
0
]
,
{\displaystyle \mathbf {\Sigma } ={\begin{bmatrix}{\begin{bmatrix}\mathbf {D} ^{\frac {1}{2}}&0\\0&0\end{bmatrix}}\\0\end{bmatrix}},}
ここで、ゼロ行の数が の列数と等しくなるように、 余分なゼロ行が追加 または削除されます 。したがって、 の全体的な次元は と等しくなります 。
U
2
,
{\displaystyle \mathbf {U} _{2},}
Σ
{\displaystyle \mathbf {\Sigma } }
m
×
n
{\displaystyle m\times n}
[
U
1
U
2
]
[
[
D
1
2
0
0
0
]
0
]
[
V
1
V
2
]
∗
=
[
U
1
U
2
]
[
D
1
2
V
1
∗
0
]
=
U
1
D
1
2
V
1
∗
=
M
,
{\displaystyle {\begin{bmatrix}\mathbf {U} _{1}&\mathbf {U} _{2}\end{bmatrix}}{\begin{bmatrix}{\begin{bmatrix}\mathbf {} D^{\frac {1}{2}}&0\\0&0\end{bmatrix}}\\0\end{bmatrix}}{\begin{bmatrix}\mathbf {V} _{1}&\mathbf {V} _{2}\end{bmatrix}}^{*}={\begin{bmatrix}\mathbf {U} _{1}&\mathbf {U} _{2}\end{bmatrix}}{\begin{bmatrix}\mathbf {D} ^{\frac {1}{2}}\mathbf {V} _{1}^{*}\\0\end{bmatrix}}=\mathbf {U} _{1}\mathbf {D} ^{\frac {1}{2}}\mathbf {V} _{1}^{*}=\mathbf {M} ,}
これが望ましい結果です:
M
=
U
Σ
V
∗
.
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}.}
議論は、 ではなく を
M
M
∗
{\displaystyle \mathbf {M} \mathbf {M} ^{*}}
対角化することから始まる可能性があることに注意してください(これは、 と が 同じ非ゼロの固有値を持つことを直接示します)。
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
M
M
∗
{\displaystyle \mathbf {M} \mathbf {M} ^{*}}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
変分特性に基づく
特異値は、特定の部分空間上の および の関数として考えられる
u
T
M
v
,
{\displaystyle \mathbf {u} ^{\mathrm {T} }\mathbf {M} \mathbf {v} ,}
の最大値として特徴付けることもできます。特異ベクトルは、これらの最大値が達成される および の値です 。
U
{\displaystyle \mathbf {U} }
V
,
{\displaystyle \mathbf {V} ,}
U
{\displaystyle \mathbf {U} }
V
{\displaystyle \mathbf {V} }
が
M
{\displaystyle \mathbf {M} }
実数要素を持つ
m
×
n
{\displaystyle m\times n}
行列を表すものとする 。 が
S
k
−
1
{\displaystyle S^{k-1}}
の単位 球面であり 、定義する。
(
k
−
1
)
{\displaystyle (k-1)}
R
k
{\displaystyle \mathbb {R} ^{k}}
σ
(
u
,
v
)
=
u
T
M
v
,
{\displaystyle \sigma (\mathbf {u} ,\mathbf {v} )=\mathbf {u} ^{\operatorname {T} }\mathbf {M} \mathbf {v} ,}
u
∈
S
m
−
1
,
{\displaystyle \mathbf {u} \in S^{m-1},}
v
∈
S
n
−
1
.
{\displaystyle \mathbf {v} \in S^{n-1}.}
関数 を
σ
{\displaystyle \sigma }
S
m
−
1
×
S
n
−
1
.
{\displaystyle S^{m-1}\times S^{n-1}.}
に制限して考えます。
S
m
−
1
{\displaystyle S^{m-1}}
と は
S
n
−
1
{\displaystyle S^{n-1}}
両方とも コンパクト 集合 なので、それらの 積 もコンパクトです。さらに、 は連続なので、
σ
{\displaystyle \sigma }
と 内 の 少なくとも 1 つのベクトル のペアで最大値を達成します 。 この
u
{\displaystyle \mathbf {u} }
最大 値は と表記され、対応するベクトルは および と表記されます。 は の最大値な ので 、非負でなければなりません。それが負の場合、 または の符号を変更すると正になり、したがって大きくなります。
S
m
−
1
{\displaystyle S^{m-1}}
v
{\displaystyle \mathbf {v} }
S
n
−
1
.
{\displaystyle S^{n-1}.}
σ
1
{\displaystyle \sigma _{1}}
u
1
{\displaystyle \mathbf {u} _{1}}
v
1
.
{\displaystyle \mathbf {v} _{1}.}
σ
1
{\displaystyle \sigma _{1}}
σ
(
u
,
v
)
{\displaystyle \sigma (\mathbf {u} ,\mathbf {v} )}
u
1
{\displaystyle \mathbf {u} _{1}}
v
1
{\displaystyle \mathbf {v} _{1}}
ステートメント。
u
1
{\displaystyle \mathbf {u} _{1}}
と は、
v
1
{\displaystyle \mathbf {v} _{1}}
対応する特異値 を持つ の 左
M
{\displaystyle \mathbf {M} }
特異ベクトルと右特異ベクトルです。
σ
1
.
{\displaystyle \sigma _{1}.}
証明。 固有値の場合と同様に、仮定により 2 つのベクトルはラグランジュの乗数方程式を満たします。
∇
σ
=
∇
u
T
M
v
−
λ
1
⋅
∇
u
T
u
−
λ
2
⋅
∇
v
T
v
{\displaystyle \nabla \sigma =\nabla \mathbf {u} ^{\operatorname {T} }\mathbf {M} \mathbf {v} -\lambda _{1}\cdot \nabla \mathbf {u} ^{\operatorname {T} }\mathbf {u} -\lambda _{2}\cdot \nabla \mathbf {v} ^{\operatorname {T} }\mathbf {v} }
代数的に計算すると、次のようになります。
M
v
1
=
2
λ
1
u
1
+
0
,
M
T
u
1
=
0
+
2
λ
2
v
1
.
{\displaystyle {\begin{aligned}\mathbf {M} \mathbf {v} _{1}&=2\lambda _{1}\mathbf {u} _{1}+0,\\\mathbf {M} ^{\operatorname {T} }\mathbf {u} _{1}&=0+2\lambda _{2}\mathbf {v} _{1}.\end{aligned}}}
左から最初の方程式に を
u
1
T
{\displaystyle \mathbf {u} _{1}^{\textrm {T}}}
掛け、左から2番目の方程式に
v
1
T
{\displaystyle \mathbf {v} _{1}^{\textrm {T}}}
を掛け、 考慮すると次のようになります。
‖
u
‖
=
‖
v
‖
=
1
{\displaystyle \|\mathbf {u} \|=\|\mathbf {v} \|=1}
σ
1
=
2
λ
1
=
2
λ
2
.
{\displaystyle \sigma _{1}=2\lambda _{1}=2\lambda _{2}.}
これを上記の2つの式に当てはめると、
M
v
1
=
σ
1
u
1
,
M
T
u
1
=
σ
1
v
1
.
{\displaystyle {\begin{aligned}\mathbf {M} \mathbf {v} _{1}&=\sigma _{1}\mathbf {u} _{1},\\\mathbf {M} ^{\operatorname {T} }\mathbf {u} _{1}&=\sigma _{1}\mathbf {v} _{1}.\end{aligned}}}
これはその声明を証明します。
を、それぞれ および に直交する正規化された および 上で 最大化することで、より多くの特異ベクトルと特異値を見つけることができ ます
σ
(
u
,
v
)
{\displaystyle \sigma (\mathbf {u} ,\mathbf {v} )}
。
u
{\displaystyle \mathbf {u} }
v
{\displaystyle \mathbf {v} }
u
1
{\displaystyle \mathbf {u} _{1}}
v
1
,
{\displaystyle \mathbf {v} _{1},}
実数から複素数への移行は、固有値の場合と同様です。
SVDの計算
片側ヤコビアルゴリズム
片側ヤコビ法は反復法であり、 [21]
行列を直交列を持つ行列に反復変換する。基本的な反復は ヤコビ回転 として与えられる。
M
←
M
J
(
p
,
q
,
θ
)
,
{\displaystyle M\leftarrow MJ(p,q,\theta ),}
ここで、ヤコビ回転行列の 角度は、 回転後に番号と列が直交するように選択されます 。 インデックスは、 、 列の数を
周期的にスイープします。
θ
{\displaystyle \theta }
J
(
p
,
q
,
θ
)
{\displaystyle J(p,q,\theta )}
p
{\displaystyle p}
q
{\displaystyle q}
(
p
,
q
)
{\displaystyle (p,q)}
(
p
=
1
…
m
,
q
=
p
+
1
…
m
)
{\displaystyle (p=1\dots m,q=p+1\dots m)}
m
{\displaystyle m}
アルゴリズムが収束した後、特異値分解は 次のように回復されます。行列は ヤコビ回転行列の累積であり、行列は 変換された行列の列を 正規化する ことによって与えられ 、特異値は変換された行列の列のノルムとして与えられます 。
M
=
U
S
V
T
{\displaystyle M=USV^{T}}
V
{\displaystyle V}
U
{\displaystyle U}
M
{\displaystyle M}
M
{\displaystyle M}
両側ヤコビアルゴリズム
両側ヤコビ SVD アルゴリズム ( ヤコビ固有値アルゴリズム の一般化) は、正方行列を反復的に対角行列に変換する反復アルゴリズムです。行列が正方でない場合は、まず QR 分解 が実行され、次にアルゴリズムが行列に適用されます。基本的な反復では、まず ギブンズ回転 を適用して要素のペアを対称化し、次に ヤコビ変換を 適用してそれらをゼロにすることで、非対角要素のペアをゼロにします 。
R
{\displaystyle R}
M
←
J
T
G
M
J
{\displaystyle M\leftarrow J^{T}GMJ}
ここで、 は回転後に与えられた 2 つの非対角要素が等しくなるように角度が選択されたギブンズ回転行列であり、ここで、は これらの非対角要素をゼロにするヤコビ変換行列です。反復は、ヤコビ固有値アルゴリズムとまったく同じように、すべての非対角要素を巡回的にスイープすることによって進行します。
G
{\displaystyle G}
J
{\displaystyle J}
アルゴリズムが収束した後、結果として得られる対角行列には特異値が含まれます。行列 および は 次のように累積されます:
、
。
U
{\displaystyle U}
V
{\displaystyle V}
U
←
U
G
T
J
{\displaystyle U\leftarrow UG^{T}J}
V
←
V
J
{\displaystyle V\leftarrow VJ}
数値的アプローチ
特異値分解は、次の観察を使用して計算できます。
M
{\displaystyle \mathbf {M} }
の左特異ベクトルは、 の 正規 直交固有ベクトル の集合です 。
M
M
∗
{\displaystyle \mathbf {M} \mathbf {M} ^{*}}
M
{\displaystyle \mathbf {M} }
の右特異ベクトルは、
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
の正規直交固有ベクトルの集合です 。
M
{\displaystyle \mathbf {M} }
の非ゼロ特異値 (の対角要素上) は、 と の 両方の非ゼロ 固有値 の平方根です 。
Σ
{\displaystyle \mathbf {\Sigma } }
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
M
M
∗
{\displaystyle \mathbf {M} \mathbf {M} ^{*}}
行列 の SVD は 、 通常
M
{\displaystyle \mathbf {M} }
、2 段階の手順で計算されます。最初のステップでは、行列が 二重対角行列 に縮小されます。これは、 と仮定すると、 浮動小数点演算 (フロップ) オーダーを必要とします。2 番目のステップでは、二重対角行列の SVD を計算します。このステップは 、反復法( 固有値アルゴリズム と同様) でのみ実行できます。ただし、実際には、 マシン イプシロン のように、特定の精度まで SVD を計算すれば十分です 。この精度が一定と見なされる場合、2 番目のステップでは 反復が必要になり、各反復には フロップのコストがかかります。したがって、最初のステップの方がコストが高く、全体のコストは フロップになります (Trefethen & Bau III 1997、講義 31)。
O
(
m
n
2
)
{\displaystyle O(mn^{2})}
m
≥
n
.
{\displaystyle m\geq n.}
O
(
n
)
{\displaystyle O(n)}
O
(
n
)
{\displaystyle O(n)}
O
(
m
n
2
)
{\displaystyle O(mn^{2})}
最初のステップは、 特異値のみが必要で特異ベクトルは必要ないと仮定すると、 ハウスホルダー反射を使用して
4
m
n
2
−
4
n
3
/
3
{\displaystyle 4mn^{2}-4n^{3}/3}
フロップスのコスト
で実行できます。 が
m
{\displaystyle m}
n
{\displaystyle n}
よりもはるかに大きい場合は 、最初に行列 を
M
{\displaystyle \mathbf {M} }
QR 分解 で三角行列に縮小し 、次にハウスホルダー反射を使用して行列をさらに二重対角形式に縮小すると有利です。合計コストは
2
m
n
2
+
2
n
3
{\displaystyle 2mn^{2}+2n^{3}}
フロップスです (Trefethen & Bau III 1997、講義 31)。
2 番目のステップは、 Golub と Kahan (1965) によって最初に説明された、固有値の計算のための QR アルゴリズムの変形によって実行できます。LAPACK サブルーチン DBDSQR [ 22] は、特異値が非常に小さい場合 (Demmel と Kahan 1990) をカバーするためにいくつかの変更を加えたこの反復法を実装しています。ハウスホルダー反射と、適切な場合は QR 分解を使用する最初のステップと合わせて、これは 特異値分解を計算するための
DGESVD [23]ルーチンを形成します。
同じアルゴリズムが GNU Scientific Library (GSL) に実装されています。GSL では、ステップ 2 で片側 Jacobi 直交化を使用する代替方法も提供されています (GSL Team 2007)。この方法では、Jacobi 固有値アルゴリズムが一連の 固有値法を解く のと同様に、一連の SVD 問題を解くことで、二重対角行列の SVD を計算します (Golub & Van Loan 1996、§8.6.3)。ステップ 2 のさらに別の方法では
2
×
2
{\displaystyle 2\times 2}
、分割統治法の固有値アルゴリズム の考え方が使用されます (Trefethen & Bau III 1997、Lecture 31)。
2
×
2
{\displaystyle 2\times 2}
固有値分解を明示的に使用しない別の方法があります。 [24] 通常、行列の特異値問題は 、
M
{\displaystyle \mathbf {M} }
次 の
M
M
∗
,
{\displaystyle \mathbf {M} \mathbf {M} ^{*},}
よう
M
∗
M
,
{\displaystyle \mathbf {M} ^{*}\mathbf {M} ,}
な同等の対称固有値問題に変換さ れ ます 。
[
0
M
M
∗
0
]
.
{\displaystyle {\begin{bmatrix}\mathbf {0} &\mathbf {M} \\\mathbf {M} ^{*}&\mathbf {0} \end{bmatrix}}.}
固有値分解を使用するアプローチは 、安定性と高速性を十分に備えた QR アルゴリズムに基づいています。特異値は実数であり、右特異ベクトルと左特異ベクトルは相似変換を形成するために必要ではないことに注意してください。QR 分解 と LQ 分解 を交互に繰り返して、実対角 エルミート行列 を見つけることができます。QR 分解では
M
⇒
Q
R
{\displaystyle \mathbf {M} \Rightarrow \mathbf {Q} \mathbf {R} }
が得られ 、 の LQ 分解では が得られます 。 したがって、すべての反復で を 更新 し 、 直交化を繰り返します。最終的に、 [ 説明が必要 ] QR 分解 と LQ 分解 の間のこの反復により 、左および右ユニタリ特異行列が生成されます。このアプローチは、QR アルゴリズムがスペクトル シフトやデフレーションでできるように、簡単に加速することはできません。これは、シフト法が相似変換を使用せずに簡単に定義できないためです。ただし、この反復アプローチは実装が非常に簡単なので、速度が重要でない場合は良い選択です。この方法は、純粋な直交/ユニタリ変換で SVD を取得する方法についての洞察も提供します。
R
{\displaystyle \mathbf {R} }
R
⇒
L
P
∗
.
{\displaystyle \mathbf {R} \Rightarrow \mathbf {L} \mathbf {P} ^{*}.}
M
⇒
Q
L
P
∗
,
{\displaystyle \mathbf {M} \Rightarrow \mathbf {Q} \mathbf {L} \mathbf {P} ^{*},}
M
⇐
L
{\displaystyle \mathbf {M} \Leftarrow \mathbf {L} }
2×2SVDの解析結果
2
×
2
{\displaystyle 2\times 2}
行列の特異値は 解析的に求めることができます。行列を
M
=
z
0
I
+
z
1
σ
1
+
z
2
σ
2
+
z
3
σ
3
{\displaystyle \mathbf {M} =z_{0}\mathbf {I} +z_{1}\sigma _{1}+z_{2}\sigma _{2}+z_{3}\sigma _{3}}
ここで、 は行列をパラメータ化する複素数、 は単位行列、は パウリ行列 を表します 。その2つの特異値は次のように与えられます。
z
i
∈
C
{\displaystyle z_{i}\in \mathbb {C} }
I
{\displaystyle \mathbf {I} }
σ
i
{\displaystyle \sigma _{i}}
σ
±
=
|
z
0
|
2
+
|
z
1
|
2
+
|
z
2
|
2
+
|
z
3
|
2
±
(
|
z
0
|
2
+
|
z
1
|
2
+
|
z
2
|
2
+
|
z
3
|
2
)
2
−
|
z
0
2
−
z
1
2
−
z
2
2
−
z
3
2
|
2
=
|
z
0
|
2
+
|
z
1
|
2
+
|
z
2
|
2
+
|
z
3
|
2
±
2
(
Re
z
0
z
1
∗
)
2
+
(
Re
z
0
z
2
∗
)
2
+
(
Re
z
0
z
3
∗
)
2
+
(
Im
z
1
z
2
∗
)
2
+
(
Im
z
2
z
3
∗
)
2
+
(
Im
z
3
z
1
∗
)
2
{\displaystyle {\begin{aligned}\sigma _{\pm }&={\sqrt {|z_{0}|^{2}+|z_{1}|^{2}+|z_{2}|^{2}+|z_{3}|^{2}\pm {\sqrt {{\bigl (}|z_{0}|^{2}+|z_{1}|^{2}+|z_{2}|^{2}+|z_{3}|^{2}{\bigr )}^{2}-|z_{0}^{2}-z_{1}^{2}-z_{2}^{2}-z_{3}^{2}|^{2}}}}}\\&={\sqrt {|z_{0}|^{2}+|z_{1}|^{2}+|z_{2}|^{2}+|z_{3}|^{2}\pm 2{\sqrt {(\operatorname {Re} z_{0}z_{1}^{*})^{2}+(\operatorname {Re} z_{0}z_{2}^{*})^{2}+(\operatorname {Re} z_{0}z_{3}^{*})^{2}+(\operatorname {Im} z_{1}z_{2}^{*})^{2}+(\operatorname {Im} z_{2}z_{3}^{*})^{2}+(\operatorname {Im} z_{3}z_{1}^{*})^{2}}}}}\end{aligned}}}
SVDの削減
Reduced SVD バリアントの視覚化。上から下へ: 1: Full SVD、2: Thin SVD ( V * の行に対応しない Uの列を削除)、3: Compact SVD (消失する特異値と U および V * の対応する列/行を削除)、4: Truncated SVD ( U および V * の最大の t 特異値と対応する列/行のみを保持 )
アプリケーションでは、行列のヌル空間の完全なユニタリ分解を含む完全な SVD が必要になることは非常にまれです。代わりに、SVD の縮小バージョンを計算するだけで十分な場合がよくあります (より高速で、ストレージもより経済的です)。 ランク の
m
×
n
{\displaystyle m\times n}
行列 については
M
{\displaystyle \mathbf {M} }
、 次のことが区別できます。
r
{\displaystyle r}
薄いSVD
行列
M
{\displaystyle \mathbf {M} }
の薄い、または経済的なサイズのSVDは [25] で与えられる 。
M
=
U
k
Σ
k
V
k
∗
,
{\displaystyle \mathbf {M} =\mathbf {U} _{k}\mathbf {\Sigma } _{k}\mathbf {V} _{k}^{*},}
ここで、 行列 と には と の最初の 列のみが含まれます。 また には の最初の 特異値のみが含まれます。 したがって、 行列 は 対角 で あり 、 は です。
k
=
min
(
m
,
n
)
,
{\displaystyle k=\min(m,n),}
U
k
{\displaystyle \mathbf {U} _{k}}
V
k
{\displaystyle \mathbf {V} _{k}}
k
{\displaystyle k}
U
{\displaystyle \mathbf {U} }
V
,
{\displaystyle \mathbf {V} ,}
Σ
k
{\displaystyle \mathbf {\Sigma } _{k}}
k
{\displaystyle k}
Σ
.
{\displaystyle \mathbf {\Sigma } .}
U
k
{\displaystyle \mathbf {U} _{k}}
m
×
k
,
{\displaystyle m\times k,}
Σ
k
{\displaystyle \mathbf {\Sigma } _{k}}
k
×
k
{\displaystyle k\times k}
V
k
∗
{\displaystyle \mathbf {V} _{k}^{*}}
k
×
n
.
{\displaystyle k\times n.}
k
≪
max
(
m
,
n
)
.
{\displaystyle k\ll \max(m,n).}
の場合、thin SVD は使用するスペースと計算時間が大幅に少なくなります。 計算の最初の段階は通常、 の QR 分解 であり、この場合は計算が大幅に速くなります。
M
,
{\displaystyle \mathbf {M} ,}
コンパクトSVD
行列 のコンパクトSVDは 次 の
M
{\displaystyle \mathbf {M} }
ように与えられる
。
M
=
U
r
Σ
r
V
r
∗
.
{\displaystyle \mathbf {M} =\mathbf {U} _{r}\mathbf {\Sigma } _{r}\mathbf {V} _{r}^{*}.}
非ゼロ特異値 に対応する の
r
{\displaystyle r}
列ベクトル と の 行ベクトル のみが計算されます。
U
{\displaystyle \mathbf {U} }
と の残りのベクトルは計算されません。 行列 が 対 角であり 、 が である 場合 、これは Thin SVD よりも高速で経済 的 です 。
r
{\displaystyle r}
V
∗
{\displaystyle \mathbf {V} ^{*}}
Σ
r
{\displaystyle \mathbf {\Sigma } _{r}}
U
{\displaystyle \mathbf {U} }
V
∗
{\displaystyle \mathbf {V} ^{*}}
r
≪
min
(
m
,
n
)
.
{\displaystyle r\ll \min(m,n).}
U
r
{\displaystyle \mathbf {U} _{r}}
m
×
r
,
{\displaystyle m\times r,}
Σ
r
{\displaystyle \mathbf {\Sigma } _{r}}
r
×
r
{\displaystyle r\times r}
V
r
∗
{\displaystyle \mathbf {V} _{r}^{*}}
r
×
n
.
{\displaystyle r\times n.}
切り捨てSVD
多くのアプリケーションでは、非ゼロ特異値の数が多く、コンパクトSVDでさえ計算が非現実的になります。このような場合、最小の特異値を切り捨てて、非ゼロ特異値のみを計算する必要がある場合があります 。
r
{\displaystyle r}
切り捨て られ た SVDは
t
≪
r
{\displaystyle t\ll r}
、
M
,
{\displaystyle \mathbf {M} ,}
元の行列の正確な分解ではなく 、固定 ランク の任意の行列による 最適 な低ランク行列近似を提供し ます
M
~
{\displaystyle {\tilde {\mathbf {M} }}}
。
t
{\displaystyle t}
M
~
=
U
t
Σ
t
V
t
∗
,
{\displaystyle {\tilde {\mathbf {M} }}=\mathbf {U} _{t}\mathbf {\Sigma } _{t}\mathbf {V} _{t}^{*},}
ここで、行列
U
t
{\displaystyle \mathbf {U} _{t}}
は
m
×
t
,
{\displaystyle m\times t,}
Σ
t
{\displaystyle \mathbf {\Sigma } _{t}}
対 角
t
×
t
{\displaystyle t\times t}
行列 であり 、 は
V
t
∗
{\displaystyle \mathbf {V} _{t}^{*}}
最大 の特異値 に対応する の 列 ベクトル と
t
×
n
.
{\displaystyle t\times n.}
の 行 ベクトル のみが計算されます。これは 、 の場合、コンパクト SVD よりもはるかに高速かつ経済的ですが 、数値ソルバーのまったく異なる ツール セットが必要になります。
t
{\displaystyle t}
U
{\displaystyle \mathbf {U} }
t
{\displaystyle t}
V
∗
{\displaystyle \mathbf {V} ^{*}}
t
{\displaystyle t}
Σ
t
{\displaystyle \mathbf {\Sigma } _{t}}
t
≪
r
,
{\displaystyle t\ll r,}
行列 の ムーア ・ ペンローズ逆行列 の近似値を必要とするアプリケーションでは、 の最小の特異値が 重要になりますが、これは最大の特異値に比べて計算がより困難です。
M
,
{\displaystyle \mathbf {M} ,}
M
{\displaystyle \mathbf {M} }
切り捨てSVDは 潜在的意味索引 に用いられる。 [26]
規範
Ky Fanの規範
の 最大
k
{\displaystyle k}
特異値 の合計は 行列ノルム であり 、 の Ky Fan ノルムである [27]
M
{\displaystyle \mathbf {M} }
k
{\displaystyle k}
M
.
{\displaystyle \mathbf {M} .}
Ky ファン ノルムの最初のもの、Ky ファン 1 ノルムは、 および のユークリッド ノルムに関する線形演算子としての の 演算子ノルム と同じです。言い換えれば、Ky ファン 1 ノルムは、標準ユークリッド内積によって誘導される演算子ノルムです。このため、演算子 2 ノルムとも呼ばれます。Ky ファン 1 ノルムと特異値の関係は簡単に確認できます。一般に、 (おそらく無限次元の) ヒルベルト空間上の
有界演算子 に対して当てはまります。
M
{\displaystyle \mathbf {M} }
K
m
{\displaystyle K^{m}}
K
n
.
{\displaystyle K^{n}.}
ℓ
2
{\displaystyle \ell ^{2}}
M
{\displaystyle \mathbf {M} }
‖
M
‖
=
‖
M
∗
M
‖
1
2
{\displaystyle \|\mathbf {M} \|=\|\mathbf {M} ^{*}\mathbf {M} \|^{\frac {1}{2}}}
しかし、行列の場合、 は
(
M
∗
M
)
1
/
2
{\displaystyle (\mathbf {M} ^{*}\mathbf {M} )^{1/2}}
正規行列 なので 、 の最大固有値、すなわち の最大特異値は
‖
M
∗
M
‖
1
/
2
{\displaystyle \|\mathbf {M} ^{*}\mathbf {M} \|^{1/2}}
(
M
∗
M
)
1
/
2
,
{\displaystyle (\mathbf {M} ^{*}\mathbf {M} )^{1/2},}
M
.
{\displaystyle \mathbf {M} .}
Ky Fan ノルムの最後、つまりすべての特異値の合計は トレース ノルム (「核ノルム」とも呼ばれる) であり、次のように定義されます( の固有値 は特異値の 2 乗です)。
‖
M
‖
=
Tr
(
M
∗
M
)
1
/
2
{\displaystyle \|\mathbf {M} \|=\operatorname {Tr} (\mathbf {M} ^{*}\mathbf {M} )^{1/2}}
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
ヒルベルト・シュミットノルム
特異値は作用素空間上の別のノルムと関係がある。次のように定義される 行列上の ヒルベルト・シュミット 内積を考える 。
n
×
n
{\displaystyle n\times n}
⟨
M
,
N
⟩
=
tr
(
N
∗
M
)
.
{\displaystyle \langle \mathbf {M} ,\mathbf {N} \rangle =\operatorname {tr} \left(\mathbf {N} ^{*}\mathbf {M} \right).}
誘導された規範は
‖
M
‖
=
⟨
M
,
M
⟩
=
tr
(
M
∗
M
)
.
{\displaystyle \|\mathbf {M} \|={\sqrt {\langle \mathbf {M} ,\mathbf {M} \rangle }}={\sqrt {\operatorname {tr} \left(\mathbf {M} ^{*}\mathbf {M} \right)}}.}
トレースはユニタリ同値のもとで不変なので、これは
‖
M
‖
=
|
∑
i
σ
i
2
{\displaystyle \|\mathbf {M} \|={\sqrt {{\vphantom {\bigg |}}\sum _{i}\sigma _{i}^{2}}}}
ここで、 は
σ
i
{\displaystyle \sigma _{i}}
M
.
{\displaystyle \mathbf {M} .}
の特異値です。これは、 の フロベニウスノルム 、 シャッテン2ノルム 、または ヒルベルト・シュミットノルム と呼ばれます。直接計算すると、 のフロベニウスノルムは 次の式と一致することがわかります。
M
.
{\displaystyle \mathbf {M} .}
M
=
(
m
i
j
)
{\displaystyle \mathbf {M} =(m_{ij})}
|
∑
i
j
|
m
i
j
|
2
.
{\displaystyle {\sqrt {{\vphantom {\bigg |}}\sum _{ij}|m_{ij}|^{2}}}.}
さらに、フロベニウスノルムとトレースノルム(核ノルム)は シャッテンノルム の特殊なケースです。
バリエーションと一般化
スケール不変SVD
行列 の特異値は一意に定義され、
A
{\displaystyle \mathbf {A} }
A
.
{\displaystyle \mathbf {A} .}
の左および/または右ユニタリ変換に対して不変です 。言い換えると、 ユニタリ行列 および に対する の特異値は
U
A
V
,
{\displaystyle \mathbf {U} \mathbf {A} \mathbf {V} ,}
の特異値に等しくなります 。 これは、ユークリッド距離と回転に対する不変性を維持する必要があるアプリケーションにとって重要な特性です。
U
{\displaystyle \mathbf {U} }
V
,
{\displaystyle \mathbf {V} ,}
A
.
{\displaystyle \mathbf {A} .}
スケール不変SVD(SI-SVD) [28] は、一意に決定される特異値が の対角変換に対して不変であるという点を除いて、従来のSVDに類似しています。 言い換える と
A
.
{\displaystyle \mathbf {A} .}
、 可逆対角行列 および に対する の特異値は
D
A
E
,
{\displaystyle \mathbf {D} \mathbf {A} \mathbf {E} ,}
の特異値に等しくなります 。これは、変数の単位の選択(たとえば、メートル法とヤードポンド法など)に対する不変性が必要なアプリケーションにとって重要な特性です。
D
{\displaystyle \mathbf {D} }
E
,
{\displaystyle \mathbf {E} ,}
A
.
{\displaystyle \mathbf {A} .}
ヒルベルト空間上の有界作用素
因数
M
=
U
Σ
V
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*}}
分解は 、 可分ヒルベルト空間上の 有界 作用素 に
M
{\displaystyle \mathbf {M} }
拡張することができる 。
H
.
{\displaystyle H.}
すなわち、任意の有界作用素に対して 、 部分
等 長 変換
M
,
{\displaystyle \mathbf {M} ,}
、 ユニタリ
U
,
{\displaystyle \mathbf {U} ,}
、 測度 空間 、 および 非負の測度 空間 が存在 し 、
V
,
{\displaystyle \mathbf {V} ,}
(
X
,
μ
)
,
{\displaystyle (X,\mu ),}
f
{\displaystyle f}
M
=
U
T
f
V
∗
{\displaystyle \mathbf {M} =\mathbf {U} T_{f}\mathbf {V} ^{*}}
ここで、 は
T
f
{\displaystyle T_{f}}
を に 掛けた値
f
{\displaystyle f}
です 。
L
2
(
X
,
μ
)
.
{\displaystyle L^{2}(X,\mu ).}
これは、上記の行列の場合の線型代数的議論を模倣することで示せます。 は、
V
T
f
V
∗
{\displaystyle \mathbf {V} T_{f}\mathbf {V} ^{*}}
自己随伴演算子 の ボレル関数計算 によって与えられる
M
∗
M
,
{\displaystyle \mathbf {M} ^{*}\mathbf {M} ,}
の唯一の正の平方根です。 がユニタリである必要がない理由は 、有限次元の場合とは異なり、非自明なカーネルを持つ等長変換 が与えられた場合、適切な が 見つからない可能性があるためです。
U
{\displaystyle \mathbf {U} }
U
1
{\displaystyle U_{1}}
U
2
{\displaystyle U_{2}}
[
U
1
U
2
]
{\displaystyle {\begin{bmatrix}U_{1}\\U_{2}\end{bmatrix}}}
はユニタリ演算子です。
行列に関しては、特異値分解は 演算子の
極分解と同等であり、単純に次のように書くことができる。
M
=
U
V
∗
⋅
V
T
f
V
∗
{\displaystyle \mathbf {M} =\mathbf {U} \mathbf {V} ^{*}\cdot \mathbf {V} T_{f}\mathbf {V} ^{*}}
は正である一方、 は
U
V
∗
{\displaystyle \mathbf {U} \mathbf {V} ^{*}}
依然として部分等長変換である ことに注意してください 。
V
T
f
V
∗
{\displaystyle \mathbf {V} T_{f}\mathbf {V} ^{*}}
特異値とコンパクト演算子
特異値と左/右特異ベクトルの概念は、 離散スペクトルを持つ ヒルベルト空間上のコンパクト作用素に拡張できます。
T
{\displaystyle T}
がコンパクトであれば、そのスペクトル内のすべての非ゼロ は
λ
{\displaystyle \lambda }
固有値です。さらに、コンパクトな自己随伴作用素は、その固有ベクトルによって対角化できます。
M
{\displaystyle \mathbf {M} }
がコンパクトであれば、
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
もコンパクトです。対角化の結果を適用すると、その正の平方根
T
f
{\displaystyle T_{f}}
のユニタリ像には、厳密に正の固有値 に対応する正規直交固有ベクトルの集合があります。 内の 任意 の
{
e
i
}
{\displaystyle \{e_{i}\}}
に対して
{
σ
i
}
{\displaystyle \{\sigma _{i}\}}
ψ
{\displaystyle \psi }
H
,
{\displaystyle H,}
M
ψ
=
U
T
f
V
∗
ψ
=
∑
i
⟨
U
T
f
V
∗
ψ
,
U
e
i
⟩
U
e
i
=
∑
i
σ
i
⟨
ψ
,
V
e
i
⟩
U
e
i
,
{\displaystyle \mathbf {M} \psi =\mathbf {U} T_{f}\mathbf {V} ^{*}\psi =\sum _{i}\left\langle \mathbf {U} T_{f}\mathbf {V} ^{*}\psi ,\mathbf {U} e_{i}\right\rangle \mathbf {U} e_{i}=\sum _{i}\sigma _{i}\left\langle \psi ,\mathbf {V} e_{i}\right\rangle \mathbf {U} e_{i},}
ここで、級数は
H
.
{\displaystyle H.}
上のノルム位相で収束します 。これが有限次元の場合の式とどのように似ているかに注目してください。 は
σ
i
{\displaystyle \sigma _{i}}
の特異値と呼ばれ、
M
.
{\displaystyle \mathbf {M} .}
(それぞれ )は の左特異(それぞれ右特異)ベクトルと見なすことができます。
{
U
e
i
}
{\displaystyle \{\mathbf {U} e_{i}\}}
{
U
e
i
}
{\displaystyle \{\mathbf {U} e_{i}\}}
M
.
{\displaystyle \mathbf {M} .}
ヒルベルト空間上のコンパクト作用素は、一様作用素位相における 有限階数作用素 の閉包である。上記の級数表現は、そのような表現を明示的に与える。この直接的な帰結は次のようになる。
定理。 が
M
{\displaystyle \mathbf {M} }
コンパクトである場合、かつその場合のみ は
M
∗
M
{\displaystyle \mathbf {M} ^{*}\mathbf {M} }
コンパクトです。
歴史
特異値分解はもともと 微分幾何学者によって開発されたもので、彼らは実 双線型形式が、 それが作用する 2 つの空間の独立した直交変換によって別の形式と等しくできるかどうかを決定 したいと考えていました。 エウジェニオ・ベルトラミ と カミーユ・ジョルダンは 、それぞれ 1873 年と 1874 年に独立に、行列として表される双線型形式の特異値が、 直交置換の下での双線型形式の 不変量 の 完全なセットを形成することを発見しました。 ジェームズ・ジョセフ・シルベスター も 1889 年に、ベルトラミとジョルダンの両者から独立して、実正方行列の特異値分解に到達しました。シルベスターは、特異値を 行列の 標準乗数と呼びました。 特異値分解を独立して発見した 4 人目の数学者は、 1915 年の オートンで、彼は 極分解 を経由して特異値分解に到達しました 。直方体行列と複素行列の特異値分解の最初の証明は、 1936年に カール・エッカート と ゲイル・J・ヤングによってなされたようです。 [29]彼らはそれを エルミート行列の 主軸 変換 の一般化とみなしました 。
A
.
{\displaystyle \mathbf {A} .}
1907 年、 エアハルト シュミットは 積分演算子 の特異値類似物 (いくつかの弱い技術的仮定の下ではコンパクト) を定義しました。彼は有限行列の特異値に関する並行研究については知らなかったようです。この理論は1910 年に エミール ピカールによってさらに発展し、ピカールは初めてこれらの数を 特異値 (フランス語では valeurs singulières )と呼びました 。
σ
k
{\displaystyle \sigma _{k}}
SVDを計算するための実用的な方法は、 1954年~1955年の Kogbetliantz と 1958年の Hestenesにまで遡り、 [30] 平面回転または ギブンズ回転を使用する Jacobi固有値アルゴリズム によく似ています 。しかし、これらは、 ハウスホルダー変換 または反射を使用する 1965年に発表された Gene Golub と William Kahanの方法 [31] に置き換えられました。1970年にGolubと Christian Reinsch [32]は、 今日でも最も使用されているGolub / Kahanアルゴリズムの変種を発表しました。
参照
注記
^ DeAngelis, GC; Ohzawa, I.; Freeman, RD (1995年10月). 「中心視覚経路における受容野ダイナミクス」. Trends Neurosci . 18 (10): 451–8. doi :10.1016/0166-2236(95)94496-R. PMID 8545912. S2CID 12827601.
^ Depireux, DA; Simon, JZ; Klein, DJ; Shamma, SA (2001 年 3 月)。「フェレット一次聴覚皮質における動的リプルによるスペクトル時間応答場特性評価」。J . Neurophysiol . 85 (3): 1220–34. doi :10.1152/jn.2001.85.3.1220. PMID 11247991。
^ 対称(ローディン)直交化とデータ圧縮における特異値分解
^ Sahidullah, Md.; Kinnunen, Tomi (2016 年 3 月)。「話者認証のための局所スペクトル変動特性」。 デジタル信号処理 。50 : 1–11。doi : 10.1016/j.dsp.2015.10.011 。
^ Mademlis, Ioannis; Tefas, Anastasios; Pitas, Ioannis (2018). 「教師なしアクティビティビデオ要約のための正規化されたSVDベースのビデオフレームサリエンシー」。2018 IEEE国際音響、音声、信号処理会議 (ICASSP)。IEEE。pp. 2691–2695。doi : 10.1109/ ICASSP.2018.8462274。ISBN 978-1-5386-4658-8 . S2CID 52286352 . 2023年 1月19日 閲覧 。
^ O. Alter 、PO Brown、D. Botstein (2000 年 9 月)。「ゲノムワイド発現データ処理およびモデリングのための特異値分解」。PNAS。97 ( 18 ) : 10101–10106。Bibcode : 2000PNAS ... 9710101A。doi : 10.1073/pnas.97.18.10101。PMC 27718。PMID 10963673 。
^ O. Alter; GH Golub (2004 年 11 月). 「擬似逆投影法を用いたゲノムスケールデータの統合解析により DNA 複製と RNA 転写の新たな相関関係が予測される」. PNAS . 101 (47): 16577–16582. Bibcode :2004PNAS..10116577A. doi : 10.1073/pnas.0406767101 . PMC 534520. PMID 15545604 .
^ O. Alter; GH Golub (2006 年 8 月). 「ゲノム規模の mRNA 長分布の特異値分解により、RNA ゲル電気泳動バンドの広がりの非対称性が明らかになる」. PNAS . 103 (32): 11828–11833. Bibcode :2006PNAS..10311828A. doi : 10.1073/pnas.0604756103 . PMC 1524674. PMID 16877539 .
^ Bertagnolli, NM; Drake, JA; Tennessen, JM; Alter, O. (2013 年 11 月). 「SVD は DNA マイクロアレイ データから転写産物の長さの分布関数を特定し、GBM 代謝に全体的に影響を及ぼす進化の力を明らかにする」. PLOS ONE . 8 (11): e78913. Bibcode :2013PLoSO...878913B. doi : 10.1371/journal.pone.0078913 . PMC 3839928. PMID 24282503. ハイライト.
^ Edelman, Alan (1992). 「スケールされた条件数の分布について」 (PDF) . Math. Comp . 58 (197): 185–190. Bibcode :1992MaCom..58..185E. doi : 10.1090/S0025-5718-1992-1106966-2 .
^ Shen, Jianhong (Jackie) (2001). 「ガウスランダム行列の特異値について」. Linear Alg. Appl . 326 (1–3): 1–14. doi : 10.1016/S0024-3795(00)00322-0 .
^ Walton, S.; Hassan, O.; Morgan, K. (2013). 「適切な直交分解とラジアル基底関数を使用した非定常流体の流れの低次元モデリング」. 応用数学モデリング . 37 (20–21): 8930–8945. doi : 10.1016/j.apm.2013.04.025 .
^ Setyawati, Y.; Ohme, F.; Khan, S. (2019). 「動的較正による重力波形モデルの強化」. Physical Review D . 99 (2): 024010. arXiv : 1810.07060 . Bibcode :2019PhRvD..99b4010S. doi :10.1103/PhysRevD.99.024010. S2CID 118935941.
^ Sarwar, Badrul; Karypis, George; Konstan, Joseph A. & Riedl, John T. (2000). 「レコメンデーションシステムにおける次元削減の応用 - ケーススタディ」 (PDF) 。 ミネソタ大学 。
^ Bosagh Zadeh, Reza; Carlsson, Gunnar (2013). 「MapReduce を使用した次元に依存しない行列平方」 (PDF) . arXiv : 1304.1467 . Bibcode :2013arXiv1304.1467B.
^ Hadi Fanaee Tork、João Gama (2014 年 9 月)。「時空間ホット スポット 検出のための固有 空間 法」。 エキスパート システム 。32 (3): 454–464。arXiv : 1406.3506。Bibcode : 2014arXiv1406.3506F。doi : 10.1111 /exsy.12088。S2CID 15476557。
^ Hadi Fanaee Tork 、João Gama (2015 年 5 月)。「EigenEvent: 症候群監視における複雑なデータ ストリームからのイベント検出アルゴリズム」。 インテリジェント データ解析 。19 ( 3 ): 597–616。arXiv : 1406.3496。doi : 10.3233 /IDA-150734。S2CID 17966555 。
^ Muralidharan, Vivek; Howell , Kathleen (2023). 「シスルナ空間での方向の伸張:出発と転送設計への応用」。 アストロ ダイナミクス 。7 (2): 153–178。Bibcode : 2023AsDyn ...7..153M。doi :10.1007/s42064-022-0147-z。S2CID 252637213 。
^ Muralidharan, Vivek; Howell, Kathleen (2022). 「地球-月ハロー軌道での軌道維持のための伸張方向の活用」. 宇宙研究の進歩 . 69 (1): 620–646. Bibcode :2022AdSpR..69..620M. doi :10.1016/j.asr.2021.10.028. S2CID 239490016.
^ これを理解するには、 に気づき、 を覚えて おけばよいだけです 。
Tr
(
V
2
∗
M
∗
M
V
2
)
=
‖
M
V
2
‖
2
{\displaystyle \operatorname {Tr} (\mathbf {V} _{2}^{*}\mathbf {M} ^{*}\mathbf {M} \mathbf {V} _{2})=\|\mathbf {M} \mathbf {V} _{2}\|^{2}}
‖
A
‖
=
0
⇔
A
=
0
{\displaystyle \|A\|=0\Leftrightarrow A=0}
^ Rijk, PPM de (1989). 「ベクトルコンピュータ上で特異値分解を計算するための片側ヤコビアルゴリズム」 SIAM J. Sci. Stat. Comput . 10 (2): 359–371. doi :10.1137/0910023.
^ ネットライブラリ
^ ネットライブラリ
^ mathworks.co.kr/matlabcentral/fileexchange/12674-simple-svd
^ デメル、ジェームス (2000)。 「分解」。代数固有値問題の解決のためのテンプレート。白、趙君著。デメル、ジェームズ。ドンガラ、ジャック・J。ルーエ、アクセル。 van der Vorst、Henk A. 工業および応用数学協会。 土井 :10.1137/1.9780898719581。 ISBN
978-0-89871-471-5 。
^ Chicco, D; Masseroli, M (2015). 「遺伝子およびタンパク質の注釈予測と類似性検索のためのソフトウェアスイート」. IEEE/ACM Transactions on Computational Biology and Bioinformatics . 12 (4): 837–843. doi :10.1109/TCBB.2014.2382127. hdl : 11311/959408 . PMID 26357324. S2CID 14714823.
^ Fan, Ky. (1951). 「完全に連続な演算子の固有値の最大特性と不等式」. 米国科学アカデミー紀要 . 37 (11): 760–766. Bibcode :1951PNAS...37..760F. doi : 10.1073/pnas.37.11.760 . PMC 1063464. PMID 16578416 .
^ Uhlmann, Jeffrey (2018)、「対角変換に関して一貫性のある一般化逆行列」 (PDF) 、SIAM Journal on Matrix Analysis、vol. 239、pp. 781–800、 2019年6月17日の オリジナル (PDF)からアーカイブ
^ Eckart, C. ; Young, G. (1936). 「ある行列をより低いランクの別の行列で近似する」. Psychometrika . 1 (3): 211–8. doi :10.1007/BF02288367. S2CID 10163399.
^ Hestenes, MR (1958). 「双直交化による行列の反転と関連する結果」. Journal of the Society for Industrial and Applied Mathematics . 6 (1): 51–90. doi :10.1137/0106005. JSTOR 2098862. MR 0092215.
^ (ゴルブ&カハン 1965)
^ ゴルブ、GH ; ラインシュ、C. (1970)。 「特異値分解と最小二乗解」。 数学数学 。 14 (5): 403–420。 土井 :10.1007/BF02163027。 MR 1553974。S2CID 123532178 。
参考文献
Banerjee, Sudipto; Roy, Anindya (2014)、 「統計のための線形代数と行列分析」 、Texts in Statistical Science (第 1 版)、Chapman and Hall/CRC、 ISBN 978-1420095388
ビスガード、ジェームズ(2021)。解析と線形代数 : 特異値分解と応用 。学生数学図書館(第1版)。AMS。ISBN 978-1-4704-6332-8 。
Chicco, D; Masseroli, M (2015). 「遺伝子およびタンパク質の注釈予測と類似性検索のためのソフトウェアスイート」. IEEE/ACM Transactions on Computational Biology and Bioinformatics . 12 (4): 837–843. doi :10.1109/TCBB.2014.2382127. hdl : 11311/959408 . PMID 26357324. S2CID 14714823.
Trefethen, Lloyd N. ; Bau III, David (1997). 数値線形代数 . フィラデルフィア: Society for Industrial and Applied Mathematics. ISBN 978-0-89871-361-9 。
デメル、ジェームズ 、 カハン、ウィリアム ( 1990)。「二重対角行列の正確な特異値」。SIAM Journal on Scientific and Statistical Computing。11 ( 5): 873–912。CiteSeerX 10.1.1.48.3740。doi : 10.1137/ 0911052 。
Golub, Gene H. ; Kahan, William (1965). 「行列の特異値と擬似逆行列の計算」. Journal of the Society for Industrial and Applied Mathematics, Series B: Numerical Analysis . 2 (2): 205–224. Bibcode :1965SJNA....2..205G. doi :10.1137/0702016. JSTOR 2949777.
Golub, Gene H. ; Van Loan, Charles F. (1996). Matrix Computations (第 3 版). Johns Hopkins. ISBN 978-0-8018-5414-9 。
GSL チーム (2007)。「§14.4 特異値分解」。GNU 科学ライブラリ。リファレンス マニュアル 。
Halldor, Bjornsson および Venegas, Silvia A. (1997)。「気候データの EOF および SVD 分析マニュアル」。マギル大学、CCGCR レポート No. 97-1、モントリオール、ケベック、52 ページ。
Hansen, PC (1987). 「正規化の方法としての切り捨て SVD」 BIT . 27 (4): 534–553. doi :10.1007/BF01937276. S2CID 37591557.
Horn, Roger A.; Johnson, Charles R. (1985) 「セクション 7.3」 行列分析 ケンブリッジ大学出版局 ISBN 978-0-521-38632-6 。
Horn, Roger A.; Johnson, Charles R. (1991)。 「第 3 章」 。 行列分析のトピック 。ケンブリッジ大学出版局 。ISBN 978-0-521-46713-1 。
Samet, H. (2006). 多次元およびメトリックデータ構造の基礎 . Morgan Kaufmann. ISBN 978-0-12-369446-1 。
Strang G. (1998) 「セクション 6.7」 線形代数入門 (第 3 版) Wellesley-Cambridge Press。ISBN 978-0-9614088-5-5 。
Stewart, GW (1993). 「特異値分解の初期の歴史について」. SIAM Review . 35 (4): 551–566. CiteSeerX 10.1.1.23.1831 . doi :10.1137/1035134. hdl :1903/566. JSTOR 2132388.
Wall, Michael E.; Rechtsteiner, Andreas; Rocha, Luis M. (2003)。「特異値分解と主成分分析」。DP Berrar、W. Dubitzky、M. Granzow (編)。 マイクロアレイデータ分析への実践的アプローチ 。Norwell、MA: Kluwer。pp. 91–109。
Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007)、「セクション 2.6」、 Numerical Recipes: The Art of Scientific Computing (第 3 版)、ニューヨーク: Cambridge University Press、 ISBN 978-0-521-88068-8
外部リンク