Matrix decomposition
実数 2×2 行列 M の特異値分解 UΣV⁎ の 図。 上: 単位円 D と 2 つの標準単位ベクトル e 1 および e 2に対する効果によって示される M の作用 。 左: 回転 V ⁎の D 、 e 1 、 e 2 への作用 。 下: Σ の作用。 水平方向に特異値 σ 1 、垂直方向に σ 2 によるスケーリング 。 右: U のアクション 、別の回転。 線形代数 において 、 特異値分解 ( SVD )は、 実 行列または 複素 行列 を 回転に 分解し、その後、再スケーリングを行い、さらに回転させる処理です。これは、 直交 固有基底を持つ 正方 正規行列の固有値 分解を任意 の 行列に一般化したものです。これは 極分解 と関連しています。 m × n {\displaystyle m\times n}
具体的には、複素行列 の特異値分解は、 が 複素 ユニタリ行列 、 対角線上に非負の実数を持つ 直交対角行列 が 複素ユニタリ行列 、 が共役 転置行列で ある形式の因数分解です。このような分解は、 任意 の 複素行列に対して常に存在します。 が 実数の場合、 と は 実 直交 行列であることが保証されます 。このような文脈では、 特異値分解はしばしば次のように表記されます。 m × n {\displaystyle m\times n} M {\displaystyle \mathbf {M} } M = U Σ V ∗ , {\displaystyle \mathbf {M} =\mathbf {U\Sigma V^{*}} ,} U {\displaystyle \mathbf {U} } m × m {\displaystyle m\times m} Σ {\displaystyle \mathbf {\Sigma } } m × n {\displaystyle m\times n} V {\displaystyle \mathbf {V} } n × n {\displaystyle n\times n} V ∗ {\displaystyle \mathbf {V} ^{*}} V {\displaystyle \mathbf {V} } M {\displaystyle \mathbf {M} } U {\displaystyle \mathbf {U} } V {\displaystyle \mathbf {V} } U Σ V T . {\displaystyle \mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{\mathrm {T} }.}
の 対角要素は によって一意に決定され、 の 特異値 として知られています 。非ゼロの特異値の数は の 階数に等しくなります。 の列と の列は、それぞれ の左特異ベクトルと右特異ベクトルと呼ばれます 。これらは2組の 直交基底 と を形成し、値がゼロの特異値がすべて最も番号の高い列(または行)にくるように並べ替えると 、特異値分解は次のように表すことができます。 ここで の階数は σ i = Σ i i {\displaystyle \sigma _{i}=\Sigma _{ii}} Σ {\displaystyle \mathbf {\Sigma } } M {\displaystyle \mathbf {M} } M {\displaystyle \mathbf {M} } M {\displaystyle \mathbf {M} } U {\displaystyle \mathbf {U} } V {\displaystyle \mathbf {V} } M {\displaystyle \mathbf {M} } u 1 , … , u m {\displaystyle \mathbf {u} _{1},\ldots ,\mathbf {u} _{m}} v 1 , … , v n , {\displaystyle \mathbf {v} _{1},\ldots ,\mathbf {v} _{n},} σ i {\displaystyle \sigma _{i}} M = ∑ i = 1 r σ i u i v i ∗ , {\displaystyle \mathbf {M} =\sum _{i=1}^{r}\sigma _{i}\mathbf {u} _{i}\mathbf {v} _{i}^{*},} r ≤ min { m , n } {\displaystyle r\leq \min\{m,n\}} M . {\displaystyle \mathbf {M} .}
SVDは一意ではありません。しかし、特異値が 降順になるように分解を選択することは常に可能です。この場合、 (ただし と は除きます)は によって一意に決定されます。 Σ i i {\displaystyle \Sigma _{ii}} Σ {\displaystyle \mathbf {\Sigma } } U {\displaystyle \mathbf {U} } V {\displaystyle \mathbf {V} } M . {\displaystyle \mathbf {M} .}
この用語は、コンパクトSVDと呼ばれる、同様の分解を指すこともあります 。 この 分解 で M = U Σ V ∗ {\displaystyle \mathbf {M} =\mathbf {U\Sigma V} ^{*}} は Σ {\displaystyle \mathbf {\Sigma } } 、 は サイズ の r × r , {\displaystyle r\times r,} 正方対角行列 で 、 は の 階数であり 、 非ゼロの特異値のみを持ちます。この変形では、 は 半 ユニタリ 行列 で あり 、 は 半 ユニタリ 行列 であり、 r ≤ min { m , n } {\displaystyle r\leq \min\{m,n\}} M , {\displaystyle \mathbf {M} ,} U {\displaystyle \mathbf {U} } m × r {\displaystyle m\times r} V {\displaystyle \mathbf {V} } n × r {\displaystyle n\times r} U ∗ U = V ∗ V = I r . {\displaystyle \mathbf {U} ^{*}\mathbf {U} =\mathbf {V} ^{*}\mathbf {V} =\mathbf {I} _{r}.}
特異値分解(SVD)の数学的応用としては、 擬似逆 行列の計算、行列近似、行列の階数、 値域 、 零空間の決定などが挙げられます。また、特異値分解は、 信号処理 、データの 最小二乗 法、 プロセス制御 など、科学、 工学 、 統計学 の多くの分野で非常に有用です 。
直感的な解釈 2次元実 せん断行列 M の特異値分解(SVD)のアニメーション図。まず、単位円板 と2つの 標準単位ベクトルを 青色で示します。次に 、円板を 楕円に変形させる M の作用を示します 。SVDは、 M を 3つの単純な変換、すなわち初期 回転 V ⁎ 、 座標軸に沿った スケーリング、そして最終回転 U に分解します。楕円の 半軸 の 長さ σ 1 と σ 2は、 M の 特異値 、すなわち Σ 1,1 と Σ 2,2 です。 Σ {\displaystyle \mathbf {\Sigma } } 特異値分解における行列乗算の可視化
回転、座標スケーリング、反射 M {\displaystyle \mathbf {M} } が 実 m × m {\displaystyle m\times m} 正方 行列 である 特殊なケースでは 、行列 U {\displaystyle \mathbf {U} } と も実 V ∗ {\displaystyle \mathbf {V} ^{*}} m × m {\displaystyle m\times m} 行列に選択できます。その場合、「ユニタリ」は「 直交 」と同じになります 。次に、ユニタリ行列と対角行列の両方を、ここでは 空間 の 線形 A , {\displaystyle \mathbf {A} ,} 変換 として 解釈 すると 、 行列 と は 空間の 回転 または 反射 を表し、 は係数 による 各 座標 の スケーリングを 表します 。したがって 、 SVD 分解は の線形 変換 を 3 つの幾何学的 変換 、つまり回転または反射 ( )、 座標ごとの スケーリング ( )、および別の回転または反射 ( )の合成に分解します 。 x ↦ A x {\displaystyle \mathbf {x} \mapsto \mathbf {Ax} } R m , {\displaystyle \mathbf {R} ^{m},} U {\displaystyle \mathbf {U} } V ∗ {\displaystyle \mathbf {V} ^{*}} Σ {\displaystyle \mathbf {\Sigma } } x i {\displaystyle \mathbf {x} _{i}} σ i . {\displaystyle \sigma _{i}.} R m {\displaystyle \mathbf {R} ^{m}} V ∗ {\displaystyle \mathbf {V} ^{*}} Σ {\displaystyle \mathbf {\Sigma } } U {\displaystyle \mathbf {U} }
特に、 が M {\displaystyle \mathbf {M} } 正の行列式を持つ場合、 U {\displaystyle \mathbf {U} } と V ∗ {\displaystyle \mathbf {V} ^{*}} は、両方とも鏡映回転を含む回転、または両方とも鏡映回転を含まない回転として選択できます。 [ 要出典 ] 行列式が負の場合、どちらか一方のみが鏡映回転を含みます。行列式がゼロの場合、それぞれを独立にいずれかのタイプとして選択できます。
行列 M {\displaystyle \mathbf {M} } が実数だが正方行列でない場合、つまり m × n {\displaystyle m\times n} で は m ≠ n , {\displaystyle m\neq n,} R n {\displaystyle \mathbf {R} ^{n}} から R m . {\displaystyle \mathbf {R} ^{m}.} へ の線形変換として解釈できます。 そして U {\displaystyle \mathbf {U} } と はそれぞれ V ∗ {\displaystyle \mathbf {V} ^{*}} R m {\displaystyle \mathbf {R} ^{m}} と R n , {\displaystyle \mathbf {R} ^{n},} の回転/反射として選択できます 。また は Σ , {\displaystyle \mathbf {\Sigma } ,} 最初の min { m , n } {\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}
の列 あなた そして V は直交基底である 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).}
特異値分解定理の幾何学的内容は、次のように要約できます。任意の線型写像 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} の 基底 K n {\displaystyle K^{n}} ベクトル の 非負 i {\displaystyle i} 倍 に 写像し 、 残りの基底ベクトルをゼロに写像します。したがって、これらの基底に関して、写像 は非負の実対角成分を持つ対角行列で表されます。 K m , {\displaystyle K^{m},} T {\displaystyle T}
特異値と SVD 分解のより視覚的なイメージをつかむために (少なくとも実ベクトル空間で作業している場合は)、 の半径 1 の球面 S {\displaystyle S} を考えます。線型写像 は、この球面を の 楕円体 に写像します。非ゼロの特異値は、単に この楕円体の 半軸の長さです。特に とすべての特異値が異なっていて非ゼロの場合、線型写像 の SVD は、次の 3 つの連続する動きの連続として簡単に分析できます。楕円体 と具体的にはその軸を考えます。次に、 によってこれらの軸に送られる の方向を考えます 。これらの方向は、たまたま相互に直交しています。まず等長写像 を適用し、これらの方向を の座標軸に送ります。2 番目の動きで、 座標軸に沿って対角化され、各方向に伸縮する自己 準同型写像 を適用し、 の半軸の長さを伸縮係数として使用します。次に、合成 により、単位球が に等長な楕円体上に送られます 。3 番目で最後の動きを定義するには、この楕円体に 等長写像 を適用して を取得します。簡単に確認できるように、合成 は と一致します 。 R n . {\displaystyle \mathbf {R} ^{n}.} 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つの左(または右)特異ベクトルが見つかる特異値は 退化と 呼ばれます。 と が2つの左特異ベクトルで、どちらも特異値 σ に対応する場合 、 u 1 {\displaystyle \mathbf {u} _{1}} 2 つ の ベクトル u 2 {\displaystyle \mathbf {u} _{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 は 関連しているものの異なります。固有値分解は M = U D U − 1 , {\displaystyle \mathbf {M} =\mathbf {U} \mathbf {D} \mathbf {U} ^{-1},} であり、 U {\displaystyle \mathbf {U} } は必ずしもユニタリではなく、 D {\displaystyle \mathbf {D} } は必ずしも半正定値ではありません。一方、SVD は M = U Σ V ∗ , {\displaystyle \mathbf {M} =\mathbf {U} \mathbf {\Sigma } \mathbf {V} ^{*},} であり、 Σ {\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 },} Σ + {\displaystyle {\boldsymbol {\Sigma }}^{+}} Σ {\displaystyle {\boldsymbol {\Sigma }}}
同次線形方程式を解く 同次線形方程式 のセットは、 行列 、ベクトル 、および 零ベクトル について A x = 0 {\displaystyle \mathbf {A} \mathbf {x} =\mathbf {0} } と表すことができます 。典型的な状況は、 が既知であり、方程式を満たす非零 を決定することです。このような は の 零空間 に属し、 の (右) 零ベクトルと呼ばれることもあります 。 ベクトル は、零である の特異値に対応する右特異ベクトルとして特徴付けることができます。この観察は、 が 正方行列 であり、消失する特異値を持たない場合、方程式には解として非零 がないことを意味します。また、消失する特異値が複数ある場合、対応する右特異ベクトルの任意の線形結合が有効な解であることを意味します。 (右)ヌルベクトルの定義と同様に、 を 満たす 非ゼロの は の共役転置を表し、 の 左ヌルベクトルと呼ばれます 。 A {\displaystyle \mathbf {A} } x {\displaystyle \mathbf {x} } 0 {\displaystyle \mathbf {0} } 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 によって与えられることがわかります。 つまり、 は 最大の特異値のみを含む (他の特異値はゼロに置き換えられる)ことを除いて と同じ行列です 。これは 1936 年にこの 2 人の著者によって証明されたため、 エッカート–ヤングの定理 として知られています。 [a] 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} ^{*},} Σ ~ {\displaystyle {\tilde {\mathbf {\Sigma } }}} Σ {\displaystyle \mathbf {\Sigma } } r {\displaystyle r}
画像圧縮 1996年式シボレー・コルベットの写真を特異値分解(SVD)で圧縮した画像。元のRGB画像(左上)と、ランク1、10、100の再構成画像を比較した。 SVDによる低階数近似の実用的な帰結の一つは、 行列 で表される グレースケール画像を 、最初の 特異値とそれに対応するベクトルを保持することで効率的に表現できることである。切り捨て分解は、 m × n {\displaystyle m\times n} A {\displaystyle \mathbf {A} } k {\displaystyle k}
A k = ∑ j = 1 k σ j u j v j T {\displaystyle \mathbf {A} _{k}=\sum _{j=1}^{k}\sigma _{j}\mathbf {u} _{j}\mathbf {v} _{j}^{T}} ランクkの近似値の中で、2ノルム誤差が最良となる画像が得られます。したがって、課題は、知覚的な忠実度を維持しながら画像を再構成するために必要なベクトル数とバランスの取れた近似値を見つけることとなります。保存には、整数 ではなく浮動小数点数のみ が必要です 。この同じ考え方は、この操作を各チャネルに適用するか、チャネルを1つの行列に積み重ねることで、カラー画像にも適用できます。 A k {\displaystyle \mathbf {A} _{k}} k ( n + m + 1 ) {\displaystyle k(n+m+1)} n m {\displaystyle nm}
ほとんどの自然画像の特異値は急速に減衰するため、その分散のほとんどは小さな で捉えられることが多い。1528 × 1225 のグレースケール画像の場合、 という小さな で の 相対誤差を実現できる 。 [1]ただし、実際には SVD の計算は計算コストが高すぎる場合があり、結果として得られる圧縮は、 JPEG などの特殊なアルゴリズムに比べてストレージ効率が低くなることが多い 。 k {\displaystyle k} .7 % {\displaystyle .7\%} k = 100 {\displaystyle k=100}
分離可能なモデル 特異値分解(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 単純細胞の受容野は、空間領域の ガボールフィルタ に時間領域の変調関数を乗じることで適切に説明できます [2] 。したがって、たとえば 逆相関 で評価された線形フィルタを考えると、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のべき乗の割合である。 [3]
最も近い直交行列 正方行列 A {\displaystyle \mathbf {A} } の SVD を使用して、 に最も近い 直交行列 Q {\displaystyle \mathbf {Q} } を決定することができます 。 適合度の近さは、 の フロベニウスノルム で測定されます。解は積 [4] [5] です 。 これ は 的に理解できます。直交行列には分解 が あり、 は単位行列であるため、 の場合、積 は特異値を 1 に置き換えることに相当するからです。同様に、解は、前述のように、伸縮と回転のどちらの順序でも、 極分解の ユニタリ行列 です。 A . {\displaystyle \mathbf {A} .} Q − A . {\displaystyle \mathbf {Q} -\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} }
形状解析 において興味深い応用を持つ同様の問題として、 直交プロクラステス問題 があります。これは、 を に 最も厳密にマッピングする 直交行列 Q {\displaystyle \mathbf {Q} } を見つけることから構成されます。具体的には、 は フロベニウスノルムを表します。 A {\displaystyle \mathbf {A} } B . {\displaystyle \mathbf {B} .} Q = argmin Ω ‖ A Ω − B ‖ F subject to Ω T Ω = I , {\displaystyle \mathbf {Q} ={\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は主成分分析 における主成分を 次のように構築するために使用できる。
をデータ行列とし、各行は ( 特徴ごとの)平均中心観測値で、各次元はです 。 X ∈ R N × p {\displaystyle \mathbf {X} \in \mathbb {R} ^{N\times p}} N {\displaystyle N} p {\displaystyle p}
のSVDは次の とおりです。 X {\displaystyle \mathbf {X} } X = V Σ U ∗ {\displaystyle \mathbf {X} =\mathbf {V} {\boldsymbol {\Sigma }}\mathbf {U} ^{\ast }}
には(つまり各観測値の)行のスコアが含まれており 、その 列は主成分負荷ベクトルである行列であることが わかります。 V Σ {\displaystyle \mathbf {V} {\boldsymbol {\Sigma }}} X {\displaystyle \mathbf {X} } U {\displaystyle \mathbf {U} }
信号処理 SVDと擬似逆行列は 信号処理 [ 7] 、 画像処理 [8] 、 ビッグデータ (例えばゲノム信号処理)にうまく適用されている。 [9] [10] [11] [12]
その他の例 SVDは線形逆問題 の研究にも広く応用されており、 ティホノフ の正則化法などの解析にも有用です。統計学では 主成分分析 や 対応分析 と関連しており 、 信号処理 や パターン認識 にも広く用いられています。また、出力のみの モード解析 にも用いられ、非スケール モード形状を 特異ベクトルから決定することができます。さらに、自然言語テキスト処理における 潜在的意味索引付け にも用いられます。
線形システムまたは線形化システムを含む一般的な数値計算では、問題の正則性または特異性を特徴付ける普遍定数、すなわちシステムの「条件数」が存在します 。これは、そのようなシステムにおける特定の計算スキームのエラー率または収束率を制御することがよくあります。 [13] [14] κ := σ max / σ min {\displaystyle \kappa :=\sigma _{\text{max}}/\sigma _{\text{min}}}
特異値分解は量子情報 分野でも重要な役割を果たしており、 シュミット分解 と呼ばれる形式でよく知られています。これにより、2つの量子系の状態は自然に分解され、それらが エンタングルメントさ れるための必要十分条件 、すなわち行列の階数 が1より大きいことが示されます。 Σ {\displaystyle \mathbf {\Sigma } }
SVDの比較的大きな行列への応用例の一つとして、 数値天気予報 が挙げられます。ここでは、 ランチョス法 を用いて、与えられた初期前方期間における数値天気予報の中心となる予測に対して最も線形に急速に増加する少数の擾乱、すなわち、その時間間隔における全球天気の線形化伝播関数の最大特異値に対応する特異ベクトルを推定します。この場合、出力される特異ベクトルは気象システム全体です。これらの擾乱は、完全な非線形モデルに渡され、 アンサンブル予報 を生成します。これにより、現在の中心予測に許容されるべき不確実性の一部を把握することができます。
SVDは低次元モデリングにも応用されています。低次元モデリングの目的は、モデル化対象となる複雑なシステムの自由度の数を減らすことです。SVDは ラジアル基底関数 と結合され、3次元非定常流れ問題の解を補間するために用いられました。 [15]
興味深いことに、SVDは地上重力波干渉計aLIGOによる重力波形モデリングの改善に使用されています。 [16] SVDは、重力波探索をサポートし、2つの異なる波形モデルを更新するための波形生成の精度と速度を向上させるのに役立ちます。
特異値分解は、 推薦システム において人々のアイテム評価を予測するために使用されます。 [17] 分散アルゴリズムは、汎用マシンのクラスター上で特異値分解を計算する目的で開発されています。 [18]
低ランクSVDは、疾病 発生 検出への応用を目的とした時空間データからのホットスポット検出に応用されている。 [19] SVDと 高階SVD の組み合わせは、 疾病監視 における複雑なデータストリーム(空間次元と時間次元を持つ多変量データ)からのリアルタイムイベント検出にも適用されている 。 [20]
天体力学 では 、SVDとその派生型は、遷移軌道設計 [21] や 軌道維持 [22] に適した操作方向を決定するためのオプションとして使用されます。
特異値分解(SVD)は、実数値行列間の類似度を測定するために使用できます。 [23]特異ベクトル間の角度を測定することで、行列の固有の2次元構造を考慮できます。この手法は、 神経科学 実験 における脳活動測定を含むほとんどのケースにおいて、 コサイン類似度 や フロベニウスノルム よりも優れた性能を示すことが示されています。
存在の証明 行列 の 固有値 は λ {\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} =\mathbf {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 番目の式は を意味します 。 [b] 最後に、 のユニタリ性は、 および に関して 、次の条件に変換されます。 ここで、単位行列の添え字は、それらの次元が異なることを示すために使用されます。 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 } u {\displaystyle \mathbf {u} } と S m − 1 {\displaystyle S^{m-1}} 内 の 少なくとも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}}
証拠 固有値の場合と同様に、仮定により 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の計算
片側ヤコビアルゴリズム 片側ヤコビ法は反復法であり、 [24] 行列を反復的に直交列を持つ行列に変換する。基本的な反復は ヤコビ回転 として与えられ、 ヤコビ回転行列の 角度は 、回転後に番号と列が直交するように選択される 。 インデックス は巡回的にスイープされ、となる。 ここで は列数である。 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} G {\displaystyle G} J {\displaystyle J}
アルゴリズムが収束した後、結果として得られる対角行列には特異値が含まれます。行列 とは 次の式で累算されます。 U {\displaystyle U} V {\displaystyle V} U ← U G T J , V ← V J . {\displaystyle {\begin{aligned}U&\leftarrow UG^{T}J,\\V&\leftarrow VJ.\end{aligned}}}
数値的アプローチ 特異値分解は、次の観察を使用して計算できます。
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} ^{*}} 行列 M {\displaystyle \mathbf {M} } の SVD は、通常、2 段階の手順で計算されます。最初のステップでは、行列を 二重対角行列 に縮小します。これは、 と仮定すると、 の浮動小数点演算 ( flop ) を必要とします 。2 番目 の ステップ で は 、 二重対角行列の SVD を計算します。このステップは、 反復法 ( 固有値アルゴリズム の場合と同様に)でのみ実行できます。ただし、実際には、 マシン イプシロン のように、特定の精度まで SVD を計算すれば十分です 。この精度が一定と見なされる場合、2 番目のステップでは 反復が必要になり、それぞれ flops のコストがかかります。したがって、最初のステップの方がコストが高く、全体のコストは flops になります。 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}} フロップスです。
2番目のステップは、 1965年にGolubとKahanによって最初に説明された、固有値の計算のための QRアルゴリズムの変形によって実行できます。 LAPACK サブルーチン [27] は 、特異値が非常に小さい場合をカバーするためにいくつかの変更を加えたこの反復法を実装しています。 ハウスホルダー反射と、必要に応じてQR分解を使用する最初のステップと一緒に、これは 特異値分解を計算するための ルーチン [29]を形成します。 DBDSQRDGESVD
同じアルゴリズムは GNU Scientific Library (GSL)にも実装されています。GSLは、ステップ2で片側ヤコビ直交化を用いる代替手法も提供しています。 この手法は、ヤコビ 固有値アルゴリズム が一連の固有値解法を解くのと同様に、一連のSVD問題を解くことで、 二 重 2 × 2 {\displaystyle 2\times 2} 対角行列の SVD を計算します 。 、分割統治法固有値アルゴリズム の考え方を用いています 。 2 × 2 {\displaystyle 2\times 2}
固有値分解を明示的に使用しない別の方法があります。 [32]通常 、 行列の特異値問題は、 次 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 アルゴリズム が スペクトル シフトやデフレーションを使用してできるように、簡単に加速することはできません。これは、シフト法が相似変換を使用せずに簡単に定義できないためです。しかし、この反復アプローチは実装が非常に簡単なので、速度が重要でない場合は良い選択肢となります。この手法は、純粋に直交/ユニタリな変換によってどのようにして特異値分解が得られるかについての洞察も提供します。 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×2 SVDの解析結果 行列 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の減少 縮小SVDのバリアントの可視化。上から下へ:1:完全SVD、2:シンSVD( V * の行に対応しない Uの列を削除)、3:コンパクトSVD(消失する特異値と U および V * の対応する列/行を削除)、4:切り捨てSVD( U および V * の最大t特異値と対応する列/行のみを保持 ) アプリケーションにおいて、行列の零空間の完全なユニタリ分解を含む完全な特異値分解(SVD)が求められることは極めて稀です。代わりに、SVDの簡約版を計算するだけで十分である場合が多く、より高速で、より記憶容量も節約できます。階数 の行列については 、 以下 の こと m × n {\displaystyle m\times n} が 区別 でき M {\displaystyle \mathbf {M} } ます 。 r {\displaystyle r}
薄いSVD 行列の薄い、または経済的なサイズのSVD は [33] で与えられる 。 M {\displaystyle \mathbf {M} }
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).} 計算の最初の段階は通常、 の QR 分解 であるため、この場合は計算にかかる スペースと計算時間が大幅に削減されます。 M , {\displaystyle \mathbf {M} ,}
コンパクトSVD 行列 M {\displaystyle \mathbf {M} } のコンパクトSVDは次のように与えられる。
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} } と の r {\displaystyle r} 行ベクトル のみ が 計算されます。残りの と のベクトルは計算されません。これは 、 行列 が 対 角行列であり 、 が である 場合、 Thin SVD より も 高速 かつ 経済 的 です 。 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は 潜在的意味索引 に用いられる。 [34]
規範
Ky Fanの規範 k {\displaystyle k} の最大特異値 の和は 行列ノルム で あり 、 M {\displaystyle \mathbf {M} } [35] の Ky Fan ノルム は 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 [36]は、一意に決定される特異値が A . {\displaystyle \mathbf {A} .} の対角変換に対して不変であるという点を除いて、従来のSVDと類似しています。 言い換えれば、 可逆対角行列 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}\}} の特異値と呼ばれ、 (それぞれ )は { V e i } {\displaystyle \{\mathbf {V} 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・ヤングによってなされたようです。 [37]彼らはそれを エルミート行列の 主軸 変換 の一般化と見なしました 。 A . {\displaystyle \mathbf {A} .}
1907年、 エアハルト・シュミットは 積分作用素 (いくつかの弱い技術的仮定の下ではコンパクトである) の特異値に相当するものを定義した。彼は有限行列の特異値に関する類似の研究を知らなかったようである。この理論は1910年に エミール・ピカールによってさらに発展させられ、彼は初めてこれらの数を 特異値 (フランス語で valeurs singulières )と呼んだ 。 σ k {\displaystyle \sigma _{k}}
特異値分解を計算するための実用的な手法は、 1954~1955年の Kogbetliantz と 1958年の Hestenesにまで遡ります [38] 。これらは平面回転または ギブンズ回転を用いる ヤコビ固有値アルゴリズム によく似ています。しかし、これらは1965年に Gene Golub と William Kahan によって発表された 手法 ハウスホルダー変換 または反射を用います 。1970年、Golubと Christian Reinschは Golub/Kahanアルゴリズムの変種 を発表しました。これは現在でも最もよく用いられているアルゴリズムです。
参照
注記 ^ しかし、後にこのことは以前の著者にも知られていたことが判明した。Stewart (1993)を参照。 ^ これを理解するには、次のことに気づき 、次のことを覚えておけばよいだけです 。 Tr ( V 2 ∗ M ∗ M V 2 ) = ‖ M V 2 ‖ 2 , {\textstyle \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}
^ Holmes, Mark (2023). 『科学計算とデータ分析入門』第2版 . Springer. ISBN 978-3-031-22429-4 。 ^ 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 . Bibcode :2016DSP....50....1S. 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。 ^ Alter, O.; Brown, PO; Botstein, D. (2000年9月). 「ゲノムワイド発現データ処理およびモデリングのための特異値分解」. PNAS . 97 (18): 10101– 10106. Bibcode :2000PNAS...9710101A. doi : 10.1073/pnas.97.18.10101 . PMC 27718. PMID 10963673 . ^ Alter, O.; Golub, GH (2004年11月). 「擬似逆投影法を用いたゲノムスケールデータの統合解析は、DNA複製とRNA転写の新たな相関関係を予測する」. PNAS . 101 (47): 16577– 16582. Bibcode :2004PNAS..10116577A. doi : 10.1073/pnas.0406767101 . PMC 534520. PMID 15545604 . ^ Alter, O.; Golub, GH (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. ハイライト. ^ エデルマン、アラン (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). 推薦システムにおける次元削減の応用 - ケーススタディ (技術レポート 00-043). ミネソタ大学 . hdl :11299/215429. ^ Bosagh Zadeh, Reza; Carlsson, Gunnar (2013). 「MapReduceを用いた次元非依存の正方形行列」. arXiv : 1304.1467 [cs.DS]. ^ Fanaee Tork, Hadi; Gama, João (2014年9月). 「時空間ホットスポット検出のための固有空間法」. Expert Systems . 32 (3): 454– 464. arXiv : 1406.3506 . Bibcode :2014arXiv1406.3506F. doi :10.1111/exsy.12088. S2CID 15476557. ^ Fanaee Tork, Hadi; Gama, João (2015年5月). 「EigenEvent: 症候群監視における複雑なデータストリームからのイベント検出アルゴリズム」. Intelligent Data Analysis . 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). 「地球-月ハロー軌道における軌道維持のための伸張方向の活用」. Advances in Space Research . 69 (1): 620– 646. Bibcode :2022AdSpR..69..620M. doi :10.1016/j.asr.2021.10.028. S2CID 239490016. ^ アルバース、ジャスパー;クルス、アンノ。ガッツェン、ロビン。モラレス・グレゴリオ、アイトール。デンカー、マイケル。グルーエン、ソーニャ。ファン・アルバダ、サシャ。ディーズマン、マルクス (2025)。 「任意の形状の実行列の類似性の評価」。 PRXライフ 。 3 (2) 023005.arXiv : 2403.17687 。 Bibcode :2025PRXL....3b3005A。 土井 :10.1103/PRXLife.3.023005。 ^ Rijk, PPM de (1989). 「ベクトル計算機上で特異値分解を計算するための片側ヤコビアルゴリズム」 SIAM J. Sci. Stat. Comput . 10 (2): 359– 371. doi :10.1137/0910023. ^ Anderson et al. (1999)、「DBDSQR」出典。 ^ Anderson et al. (1999)、「DGESVD」出典。 ^ 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. Bibcode :2015ITCBB..12..837C. doi :10.1109/TCBB.2014.2382127. hdl : 11311/959408 . PMID 26357324. S2CID 14714823. ^ Fan, Ky. (1951). 「完全連続作用素の固有値に関する最大値特性と不等式」. Proceedings of the National Academy of Sciences of the United States of America . 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.
参考文献 Anderson, E.; Bai, Z.; Bischof, C.; Blackford, S.; Demmel, J.; Dongarra, J.; Du Croz, J.; Greenbaum, A.; Hammarling, S.; McKenney, A.; Sorensen, D. (1999). 「LAPACK ユーザーズガイド」(第3版). フィラデルフィア: Society for Industrial and Applied Mathematics – Netlib.org経由. Banerjee, Sudipto; Roy, Anindya (2014). 統計のための線形代数と行列解析 . Texts in Statistical Science (第1版). Chapman and Hall/CRC. ISBN 978-1-4200-9538-8 。 ビスガード、ジェームズ (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. Bibcode :2015ITCBB..12..837C. doi :10.1109/TCBB.2014.2382127 . hdl : 11311/959408 . PMID : 26357324. S2CID : 14714823. デメル, ジェームズ ; カハン, ウィリアム (1990). 「二重対角行列の正確な特異値」. SIAM Journal on Scientific and Statistical Computing . 11 (5): 873– 912. CiteSeerX 10.1.1.48.3740 . doi :10.1137/0911052. ゴルブ, ジーン・H. ; カハン, ウィリアム (1965). 「行列の特異値と擬似逆行列の計算」. 応用数学協会誌, シリーズB: 数値解析 . 2 (2): 205– 224. 書誌コード :1965SJNA....2..205G. doi :10.1137/0702016. JSTOR 2949777. ゴルブ, GH ; ラインシュ、C. (1970)。 「特異値分解と最小二乗解」。 数学 。 14 (5): 403–420 。 土井 :10.1007/BF02163027。 MR 1553974。S2CID 123532178 。 ゴルブ, ジーン・H. ; ヴァン・ローン, チャールズ・F. (1996). 『行列計算』 (第3版). ジョンズ・ホプキンス大学. ISBN 978-0-8018-5414-9 。 GSLチーム (2007). 「§14.4 特異値分解」. GNU Scientific Library. リファレンスマニュアル . Halldor, Bjornsson; Venegas, Silvia A. (1997). 気候データのEOFおよびSVD解析マニュアル(報告書). モントリオール、ケベック:マギル大学. CCGCR報告書 No. 97-1. Hansen, PC (1987). 「正則化手法としての切断SVD」 BIT . 27 (4): 534– 553. doi :10.1007/BF01937276. S2CID 37591557. トレバー・ハスティー、ロバート・ティブシラニ、ジェローム・フリードマン (2009). 『統計学習の要素』 (第2版). ニューヨーク: シュプリンガー. pp. 535– 536. ISBN 978-0-387-84857-0 。 ホーン, ロジャー A.; ジョンソン, チャールズ R. (1985). 「セクション7.3」. 行列分析 . ケンブリッジ大学出版局. ISBN 978-0-521-38632-6 。 ホーン、ロジャー・A.;ジョンソン、チャールズ・R.(1991年) 「第3章」 『 行列解析のトピックス 』ケンブリッジ大学出版局 。ISBN 978-0-521-46713-1 。 Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). 「セクション2.6」. 数値計算レシピ:科学計算の芸術 (第3版). ニューヨーク:ケンブリッジ大学出版局. ISBN 978-0-521-88068-8 。 サメット、H. (2006). 多次元およびメトリックデータ構造の基礎 . モーガン・カウフマン. ISBN 978-0-12-369446-1 。 Strang, G. (1998). 「第6.7節」 線形代数入門 (第3版). Wellesley-Cambridge Press. ISBN 978-0-9614088-5-5 。 スチュワート, GW (1993). 「特異値分解の初期の歴史について」. SIAM Review . 35 (4): 551– 566. CiteSeerX 10.1.1.23.1831 . doi :10.1137/1035134. hdl :1903/566. JSTOR 2132388. トレフェテン, ロイド・N. ; バウ, デイビッド・III (1997). 数値線形代数 . フィラデルフィア: 産業応用数学協会. ISBN 978-0-89871-361-9 。 Wall, Michael E.; Rechtsteiner, Andreas; Rocha, Luis M. (2003). 「特異値分解と主成分分析」. Berrar, DP; Dubitzky, W.; Granzow, M. (編). 『マイクロアレイデータ解析への実践的アプローチ』 . マサチューセッツ州ノーウェル: Kluwer. pp. 91– 109. h
外部リンク
スペース
定理 オペレーター 代数 未解決の問題 アプリケーション 高度なトピック
基本概念 主な結果 特殊要素/演算子 スペクトラム 分解 スペクトル定理 特殊代数 有限次元 一般化 その他 例 アプリケーション