特異値分解

特異値分解（とくいちぶんかい、）とは線形代数学における複素数あるいは実数を成分とする行列に対する行列分解の一手法であり、Autonneによって導入された。悪条件方程式の数値解法で重宝するほか、信号処理や統計学の分野で用いられる。特異値分解は、行列に対するスペクトル定理の一般化とも考えられ、正方行列に限らず任意の形の行列を分解できる。
特異値分解定理.
 を階数 の 行 列の行列とする。ただし、行列の要素は体 の元であり、 は実数体 または複素数体 のいずれかであるとする。このとき、
という の分解が存在する。
ここで は 行 列のユニタリ行列、 は 行 列のユニタリ行列 の随伴行列（複素共役かつ転置行列）。さらに半正定値行列 （あるいは ）の正の固有値の平方根 が存在して、 とおけば、 行 列の行列 は以下の形になる。
ここで は を対角成分とする 次対角行列、部分行列 は零行列である。この分解を特異値分解、 を行列 の特異値と呼ぶ。
入力情報を 次列ベクトル として表し、出力として が得られるモデルを考えると、行列 の特異値分解によって得られるユニタリ行列と特異値について以下のような解釈を与えることができる。
 の対角成分の並びは自由だが、応用上は取り扱いを簡単にするため降順に並べることが多い。こうすると、 と は一意には定まらないが、 は一意に定まる。
特異値、特異ベクトルと特異値分解との関係.
 を 上の行列とする。ある非負の実数 に対し、
という条件を満たす 上の単位ベクトル と 上の単位ベクトル の組が存在するとき、実数 を（ベクトル に対応する）行列 の特異値 と呼ぶ。またベクトル を、それぞれ の左特異ベクトル と右特異ベクトル と呼ぶ。
任意の特異値分解
において、 の対角成分は の特異値に等しく、ユニタリ行列 の列ベクトルは、それぞれ左特異ベクトル、右特異ベクトルを並べたものである。すなわち、
1つの特異値に対し、2つ以上の線形独立な右（あるいは左）特異ベクトルが存在する場合、その特異値は縮退 しているという。縮退のない特異値に対しては常に、左右の特異ベクトルがそれぞれ（位相 の違いを除いて）唯一つ存在する。結果として、もし行列 のすべての特異値が正であり縮退のない場合、特異値分解は（ユニタリ行列 の各列にかかる位相 の違いを除いて）唯一つに定まる。
縮退のある特異値 に対して、左特異ベクトル の正規化された線型結合 を考えると、左特異ベクトルの線型結合 もまた特異値 の左特異ベクトルとなっている。同様のことが右特異ベクトルについても成り立つ。特異値分解のユニタリ行列 の特異値 に対応する列ベクトルは、特異ベクトルの線型結合の中から自由に選ぶことができるため、結果として行列 の分解は一意ではなくなる。
固有値分解が正方行列に対してのみ適用できるのに対し、特異値分解は任意の矩形行列に対して適用が可能である。また、行列 が正定値のエルミート行列（したがって正方行列）である場合、 の固有値は実数かつ非負であり、このとき の特異値と特異ベクトルはそれぞれ の固有値と固有ベクトルに一致する。
幾何的な意味.
行列 "U" と "V" はユニタリ行列だから、"U" の列ベクトル "u", …, "u" は、体 "K" 上の正規直交基底を成し、"V" の列ベクトル "v", …,"v" は、体 "K" 上の正規直交基底を成す。
ベクトル "x" を "Mx" に写す線形変換（線型写像）formula_5 は、これらの正規直交基底を用いて簡単な形に表される。すなわち、formula_6, ここで "i" = 1, …, min("m", "n") に対しては "σ" は Σ の "i" 番目の対角成分、"i" > min("m", "n") に対し "T"("v") = 0。
このことから、特異値分解定理の幾何的な意味は以下のように説明できる。線型写像 formula_5 に対し、次のような性質を持つ正規直交基底 "K" と "K" が存在する。ここに、"T" は "K" の "i" 番目の基底ベクトルを "K" の "i" 番目の基底ベクトルについて "σ" 倍したものに写す。"σ" は負でない数。つまり、これらの基底を用いて、写像 "T" は、負でない数を成分に持つ対角行列で表される。
特異値分解の応用.
擬似逆行列.
特異値分解を用いて、擬似逆行列を計算することができる。行列 "M" の擬似逆行列は、その特異値分解 formula_1 を用いて
と表せる。ここに "Σ" は、"Σ" の零でない成分の逆数を成分とする行列の転置である。この擬似逆行列を用いて、線形最小二乗法を行うことができる。
値域、零空間、行列の階数.
特異値分解を用いて、行列 formula_10 の値域、零空間を表現することができる。formula_10 の特異値の中で零になるものに対応する右特異ベクトルが零空間の基底となる。formula_10 の特異値の中で零でないものに対応する左特異ベクトルが値域の基底となる。すなわち formula_10 の行列の階数は、零でない特異値の数と一致する。さらに、formula_10 と formula_15 と formula_16 の階数は一致し、formula_15 と formula_16 の固有値は一致する。
数値計算上では、特異値を用いて行列の実質的な階数を求めることができる。数値計算上では丸め誤差の影響で、階数が退化した行列に対し、非常に小さいが零ではない特異値が得られてしまう場合に有効である。
行列の近似.
行列 formula_10 を、ある特定の階数 formula_20 を持つ別の行列 formula_21 で近似すると便利な場合がある。この場合の近似を"formula_22 という条件の下で formula_10 と formula_21 の差（フロベニウスノルム）が最小なもの"という意味であるとすると、行列 formula_10 の特異値分解によって、formula_21 を求めることができる。すなわち、
ここに、formula_28 は、formula_29 から大きい方から数えて formula_20 個の特異値を残して、それ以外の特異値を零とおいたもの。