markdown
特異値分解の入口md 8af0916
lecture/math/linear-algebra/introduction-to-singular-value-decomposition.lecture.n.md
Download PDF

特異値分解とくいちぶんかいsingular value decompositionSVD入口いりぐち

date2026-07-14document_iddoc_0c18ace358b22600fb65290b07a5b343description特異値分解を、長方行列を直交変換と軸方向の伸縮に分ける方法として導入し、階数・最小二乗法・擬似逆行列との関係を整理する講義である。prerequisites対称行列と直交対角化 / 階数の基本 / 最小二乗法の基本type講義content_typelecturestatusactiverelateddata/lecture/math/linear-algebra/linear-algebra-portal.lecture.n.md / data/lecture/math/linear-algebra/symmetric-matrices-and-orthogonal-diagonalization.lecture.n.md / data/lecture/math/linear-algebra/complex-inner-products-and-unitary-matrices.lecture.n.md / data/lecture/math/linear-algebra/rank-basics.lecture.n.md / data/lecture/math/linear-algebra/least-squares-basics.lecture.n.md / data/lecture/math/linear-algebra/pseudoinverse-basics.lecture.n.md / data/exercise/math/linear-algebra/eigenvalues-diagonalization-and-extensions.exercise.n.md
mathlinear-algebraundergraduatelecture

1導入どうにゅう

この講義こうぎ重要じゅうようなのは、特異値分解とくいちぶんかいsingular value decompositionSVDは、正方行列せいほうぎょうれつsquare matrix限定げんていされない行列ぎょうれつmatrixを、直交変換ちょっこうへんかん軸方向じくほうこう伸縮しんしゅく分解ぶんかいする方法ほうほうであるということである。

固有値こゆうちeigenvalue対角化たいかくかdiagonalization正方行列せいほうぎょうれつsquare matrix主対象しゅたいしょうにする。一方いっぽう実務じつむ応用おうようでは、縦横たてよこおおきさがことなる行列ぎょうれつmatrix頻出ひんしゅつする。特異値分解とくいちぶんかいsingular value decompositionSVDは、そのような長方行列ちょうほうぎょうれつにも適用てきようできる標準的ひょうじゅんてき分解ぶんかいである。

SVD は、一般いっぱん行列ぎょうれつmatrixたいする「直交基底ちょっこうきていつきのもっと安定あんていした分解ぶんかい」と位置付いちづけられる。入力側にゅうりょくがわ正規直交基底せいきちょっこうきていorthonormal basis出力側しゅつりょくがわ正規直交基底せいきちょっこうきていorthonormal basis軸方向じくほうこう非負ひふ伸縮率しんしゅくりつ分離ぶんりするため、階数かいすうrank最小二乗法さいしょうにじょうほうleast squares method擬似逆行列ぎじぎゃくぎょうれつpseudoinverse matrix低階数近似ていかいすうきんじ同一どういつ枠組わくぐみで記述きじゅつできる。

2用語ようご定義ていぎ

特異値分解とくいちぶんかいSingular value decomposition とは、じつrealm×n 行列ぎょうれつmatrix A

A=UΣVT

表示ひょうじすることである。ここで Um×m 直交行列ちょっこうぎょうれつorthogonal matrixVn×n 直交行列ちょっこうぎょうれつorthogonal matrixΣ対角方向たいかくほうこう非負数ひふすうならべた m×n 行列ぎょうれつmatrixである。

Σ対角成分たいかくせいぶん

σ1[PARSE ERROR: Undefined("Command(\"ge\")")]σ2[PARSE ERROR: Undefined("Command(\"ge\")")][PARSE ERROR: Undefined("Command(\"ge\")")]0

A特異値とくいちSingular valuesという。複素行列ふくそぎょうれつでは

A=UΣV*

表示ひょうじする。

3方針ほうしん

方針ほうしんは、実行列じつぎょうれつでは ATA複素行列ふくそぎょうれつでは A*A解析かいせきすることである。ATA実対称じつたいしょうかつ非負定値ひふていちであり、A*A はエルミート行列ぎょうれつmatrixかつ非負定値ひふていちであるため、直交ちょっこうorthogonalまたはユニタリに対角化たいかくかdiagonalizationできる。

なぜ A*Aるかというと、任意にんいxたいして

A*Ax,x=Ax,Ax=Ax2[PARSE ERROR: Undefined("Command(\"ge\")")]0

となるからである。したがって A*Aエルミート行列ぎょうれつHermitian matrixかつ非負定値ひふていちであり、固有値こゆうちeigenvalueは 0 以上いじょう実数じっすうreal numberになる。この固有値こゆうちeigenvalue平方根へいほうこん特異値とくいちsingular valueである。

ATA=VΛVT

複素ふくそcomplex場合ばあい

A*A=VΛV*

である。この固有値こゆうちeigenvalue λi非負ひふであり、σi=λi特異値とくいちsingular valueになる。

data/lecture/math/linear-algebra/symmetric-matrices-and-orthogonal-diagonalization.lecture.n.md data/lecture/math/linear-algebra/complex-inner-products-and-unitary-matrices.lecture.n.md

4直感的ちょっかんてき説明せつめい

特異値分解とくいちぶんかいsingular value decompositionSVDは、行列ぎょうれつmatrix A作用さよう

直交変換軸方向の伸縮直交変換

分解ぶんかいする。直交変換ちょっこうへんかんながさと角度かくど保存ほぞんし、Σ だけがながさを変更へんこうする。したがって特異値とくいちsingular valueは、行列ぎょうれつmatrix各主方向かくしゅほうこうをどれだけ伸縮しんしゅくするかをあらわす。

5厳密げんみつ説明せつめい

5.11. ATA または A*A から右特異みぎとくいベクトルを

実行列じつぎょうれつでは ATA実対称行列じつたいしょうぎょうれつである。したがって正規直交せいきちょっこう固有ベクトルeigenvector v1,[PARSE ERROR: Undefined("Command(\"dots\")")],vn選択せんたくできる。

ATAvi=σi2vi

である。この vi右特異みぎとくいベクトルである。複素行列ふくそぎょうれつでは A*Aもちい、

A*Avi=σi2vi

記述きじゅつする。この変更へんこうにより、定義ていぎA=UΣV*導出どうしゅつ記法きほう整合せいごうする。

5.22. 左特異ひだりとくいベクトルを構成こうせいする

σi>0 のとき

ui=Aviσi

定義ていぎする。この uiたがいに直交ちょっこうorthogonalし、ながさ 1 である。これを補完ほかんして Rm正規直交基底せいきちょっこうきていorthonormal basisにすると、Uられる。

左特異ひだりとくいベクトルは AAT からも特徴付とくちょうづけられる。実行列じつぎょうれつでは

AATui=σi2ui

であり、複素ふくそcomplex行列ぎょうれつmatrixでは

AA*ui=σi2ui

である。つまり、ATA または A*A入力側にゅうりょくがわ主方向しゅほうこうあたえ、AAT または AA*出力側しゅつりょくがわ主方向しゅほうこうあたえる。

5.33. 階数かいすうrankとの関係かんけい

非零特異値ひぜろとくいち個数こすうA階数かいすうrankひとしい。

[PARSE ERROR: Undefined("Command(\"boxed\")")]rank(A)=#{iσi>0}

ちいさい特異値とくいちsingular valueは、行列ぎょうれつmatrix情報じょうほうつよ圧縮あっしゅくする方向ほうこうしめす。

5.44. コンパクト SVD と基本部分空間きほんぶぶんくうかん

A階数かいすうrankr とし、せい特異値とくいちsingular valueだけをのこすと

A=UrΣrVrT

表示ひょうじできる。これをコンパクト SVDCompact SVDという。複素ふくそcomplex場合ばあいVr*もちいる。

この表示ひょうじでは、UrれつcolumnCol(A)正規直交基底せいきちょっこうきていorthonormal basisあたえ、VrれつcolumnRow(A)正規直交基底せいきちょっこうきていorthonormal basisあたえる。さらに、零特異値ぜろとくいち対応たいおうする右特異みぎとくいベクトルは ker(A) を、零特異値ぜろとくいち対応たいおうする左特異ひだりとくいベクトルは ker(AT) または ker(A*)記述きじゅつする。

5.55. 低階数近似ていかいすうきんじへの接続せつぞく

特異値とくいちsingular valueおおきいじゅんならべ、上位じょうい k だけをのこすと

Ak=i=1kσiuiviT

る。複素ふくそcomplex場合ばあいvi*もちいる。Eckart-Young の定理ていりにより、Ak階数かいすうrank k 以下いか行列ぎょうれつmatrixなかAもっとちか近似きんじあたえる。

A-AkF=σk+12++σr2,A-Ak2=σk+1

である。この事実じじつにより、SVD は分解ぶんかい存在そんざいだけでなく、圧縮あっしゅく雑音除去ざつおんじょきょ基礎きそにもなる。

6具体例ぐたいていれい

A=(3001)

では、すでに軸方向じくほうこう伸縮しんしゅく分離ぶんりされている。したがって

U=I,Σ=(3001),V=I

とでき、特異値とくいちsingular value3,1 である。

一般いっぱん行列ぎょうれつmatrixでは、まず VT入力空間にゅうりょくくうかんinput space主方向しゅほうこう回転かいてんし、Σ伸縮しんしゅくし、U出力空間しゅつりょくくうかん配置はいちする。

非対角ひたいかくれいとして、

A=(1101)

かんがえる。このとき

ATA=(1112)

であり、その固有値こゆうちeigenvalue

λ±=3±52

である。したがって特異値とくいちsingular value

σ±=3±52

となる。A 自身じしん固有値こゆうちeigenvalue1 だけであるが、特異値とくいちsingular valueAながさをどれだけばすかを記録きろくする。SVD は固有値こゆうちeigenvalue代替だいたいではなく、べつの、より幾何的きかてき安定あんていしたりょうquantityはかる。

7べつ観点かんてん

特異値分解とくいちぶんかいsingular value decompositionSVDは、最小二乗法さいしょうにじょうほうleast squares method擬似逆行列ぎじぎゃくぎょうれつpseudoinverse matrix基礎きそである。A正則せいそくでなくても、非零特異値ひぜろとくいち方向ほうこうだけを反転はんてんすることで、最小さいしょうノルムかい定義ていぎできる。

8判定基準はんていきじゅん

  • 特異値とくいちsingular valueATA固有値こゆうちeigenvalue平方根へいほうこんである。
  • 非零特異値ひぜろとくいち個数こすう階数かいすうrankである。
  • 特異値分解とくいちぶんかいsingular value decompositionSVD長方行列ちょうほうぎょうれつにも適用てきようできる。
  • ちいさい特異値とくいちsingular value情報じょうほう圧縮あっしゅく数値的不安定性すうちてきふあんていせい関係かんけいする。
  • コンパクト SVD は、列空間れつくうかんcolumn space行空間ぎょうくうかんrow spaceかくkernel同時どうじ記述きじゅつする。

9どこまで成立せいりつするか

特異値分解とくいちぶんかいsingular value decompositionSVD任意にんい実行列じつぎょうれつ複素行列ふくそぎょうれつ成立せいりつする。固有値分解こゆうちぶんかいとはことなり、正方行列せいほうぎょうれつsquare matrix対角化可能性たいかくかかのうせい前提ぜんていにしない。

10存在定理そんざいていり証明しょうめい骨格こっかく

任意にんいm×n 実行列じつぎょうれつ A について、直交行列ちょっこうぎょうれつorthogonal matrix U,V非負ひふ対角成分たいかくせいぶんをもつ m×n 行列ぎょうれつ Σ存在そんざいして

A=UΣVT

ける。複素行列ふくそぎょうれつcomplex matrixでは

A=UΣV*

である。

証明しょうめい骨格こっかくATA または A*Aスペクトル定理ていりspectral theoremである。A*Aエルミート行列ぎょうれつHermitian matrixであり、

A*Ax,x=Ax2[PARSE ERROR: Undefined("Command(\"ge\")")]0

なので非負定値ひふていちである。したがって正規直交せいきちょっこう固有ベクトルeigenvector vi非負ひふ固有値こゆうちeigenvalue λiつ。σi=λiき、σi>0 について

ui=Aviσi

定義ていぎする。すると

ui,uj=1σiσjAvi,Avj=1σiσjA*Avi,vj=σi2σiσjvi,vj

より uiたがいに直交ちょっこうorthogonalし、ながさ 1 になる。のこりの ui補完ほかんすれば Uられる。この構成こうせいが SVD の存在そんざい説明せつめいする。

data/lecture/math/linear-algebra/symmetric-matrices-and-orthogonal-diagonalization.lecture.n.md

11基本部分空間きほんぶぶんくうかん対応たいおう

SVD は、4 つの基本部分空間きほんぶぶんくうかん同時どうじ整理せいりする。

空間くうかんSVD での記述きじゅつ
Col(A)せい特異値とくいちsingular value対応たいおうする左特異ひだりとくいベクトル ui
Row(A)せい特異値とくいちsingular value対応たいおうする右特異みぎとくいベクトル vi
ker(A)σi=0対応たいおうする vi
ker(AT) または ker(A*)σi=0対応たいおうする ui

このため SVD は、階数かいすうrankだけでなく、かいうしなわれる方向ほうこう列空間れつくうかんへの射影しゃえいprojection最小二乗解さいしょうにじょうかい同時どうじ記述きじゅつできる。

12べつ見方みかた

SVD は、最小二乗法さいしょうにじょうほうleast squares method擬似逆行列ぎじぎゃくぎょうれつpseudoinverse matrix基礎きそでもある。A可逆かぎゃくinvertibleでなくても、せい特異値とくいちsingular valueをもつ特異方向とくいほうこうsingular direction逆向ぎゃくむきにもどせる一方いっぽうσi=0方向ほうこううしなわれた情報じょうほうとしてあつかう。

13計算例けいさんれい非対角ひたいかく2×2 行列ぎょうれつ

A=(1101)

かんがえる。このとき

ATA=(1112)

であり、固有値こゆうちeigenvalue

λ±=3±52

である。したがって特異値とくいちsingular value

σ±=3±52

である。ここで A 自身じしん固有値こゆうちeigenvalue1重複ちょうふくであるが、特異値とくいちsingular valueATA平方根へいほうこんとしてべつりょうはかっている。つまり SVD は「固有値こゆうちeigenvalue代替だいたい」ではなく、入力方向にゅうりょくほうこうながさがどれだけびるかをはか分解ぶんかいである。

14判定基準はんていきじゅん

  • 特異値とくいちsingular valueATA または A*A固有値こゆうちeigenvalue平方根へいほうこんである。
  • せい特異値とくいちsingular value個数こすう階数かいすうrankである。
  • SVD は長方行列ちょうほうぎょうれつにも適用てきようできる。
  • ちいさい特異値とくいちsingular valueは、圧縮あっしゅく数値的すうちてき不安定性ふあんていせいしめすことがある。
  • コンパクト SVD は、列空間れつくうかんcolumn space行空間ぎょうくうかんrow spaceかく同時どうじ記述きじゅつする。

15低階数近似ていかいすうきんじ意味いみ注意ちゅうい

Eckart-Young の定理ていりは、上位じょうい k 特異値とくいちsingular valueだけをのこした

Ak=i=1kσiuivi*

が、階数かいすう k 以下いか行列ぎょうれつmatrixなかAもっとちかいことを主張しゅちょうする。ただし、ちいさい特異値とくいちsingular valueることは情報じょうほうてることでもある。ノイズ除去じょきょ圧縮あっしゅくでは有効ゆうこうだが、ちいさい特異値とくいちsingular value方向ほうこう意味いみのある信号しんごうふく場合ばあいには注意ちゅうい必要ひつようである。

16適用範囲てきようはんい限界げんかい

SVD は、じつまたは複素ふくそのすべての行列ぎょうれつmatrix存在そんざいする。固有値分解こゆうちぶんかいeigenvalue decompositionちがい、正方せいほうであることや対角化可能たいかくかかのうdiagonalizableであることを仮定かていしない。ただし、特異値とくいちsingular valueだけでは符号ふごう位相いそう固有こゆうベクトルeigenvectorいはとらえられない。特異値とくいちsingular value記述きじゅつするのはながさのびである。

17最終形さいしゅうけい

[PARSE ERROR: Undefined("Command(\"boxed\")")]A=UΣVT
[PARSE ERROR: Undefined("Command(\"boxed\")")]A=UΣV*(complexcase)
[PARSE ERROR: Undefined("Command(\"boxed\")")]σi=λi(ATA)
[PARSE ERROR: Undefined("Command(\"boxed\")")]rank(A)=#{i:σi>0}
[PARSE ERROR: Undefined("Command(\"boxed\")")]Ak=i=1kσiuiviT

18一言ひとことでいうと

  • 特異値分解とくいちぶんかいsingular value decompositionSVDは、任意にんい行列ぎょうれつmatrix直交変換ちょっこうへんかん軸方向じくほうこう伸縮しんしゅく分解ぶんかいする標準形ひょうじゅんけいである。
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
copy encoded share link
path をコピー
copy share link
copy encoded share link
copy share link
copy encoded share link
タブを全て閉じる