markdown
特異値分解の入口md 583fe6d
lecture/math/linear-algebra/特異値分解の入口-講義.n.md
Download as PDF

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

date2026-05-25description特異値分解を、長方行列を直交変換と軸方向の伸縮に分ける方法として導入し、階数・最小二乗法・擬似逆行列との関係を整理する講義である。prerequisites対称行列と直交対角化 / 階数の基本 / 最小二乗法の基本type講義statusactiverelateddata/lecture/math/linear-algebra/線型代数ポータル-講義.n.md / data/lecture/math/linear-algebra/対称行列と直交対角化-講義.n.md / data/lecture/math/linear-algebra/複素内積とユニタリ行列-講義.n.md / data/lecture/math/linear-algebra/階数の基本-講義.n.md / data/lecture/math/linear-algebra/最小二乗法の基本-講義.n.md / data/lecture/math/linear-algebra/擬似逆行列の基本-講義.n.md / data/exercise/math/linear-algebra/固有値・対角化・発展-基本演習.n.md
mathlinear-algebraundergraduatelecture

導入どうにゅう

この講義こうぎ重要じゅうようなのは、特異値分解とくいちぶんかい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低階数近似ていかいすうきんじ同一どういつ枠組わくぐみで記述きじゅつできる。

用語ようご定義ていぎ

特異値分解とくいちぶんかい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*

表示ひょうじする。

方針ほうしん

方針ほうしんは、実行列じつぎょうれつでは 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/対称行列と直交対角化-講義.n.md data/lecture/math/linear-algebra/複素内積とユニタリ行列-講義.n.md

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

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

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

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

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

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

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

ATAvi=σi2vi

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

A*Avi=σi2vi

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

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

σ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*出力側しゅつりょくがわ主方向しゅほうこうあたえる。

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

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

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

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

4. コンパクト 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. 低階数近似ていかいすうきんじへの接続せつぞく

特異値とくいち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 は分解ぶんかい存在そんざいだけでなく、圧縮あっしゅく雑音除去ざつおんじょきょ基礎きそにもなる。

具体例ぐたいていれい

A=(3001)

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

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

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

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

べつ観点かんてん

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

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

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

どこまでつか

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

最終形さいしゅうけい

[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

一言ひとことでいうと

  • 特異値分解とくいちぶんかいsingular value decompositionSVDは、任意にんい行列ぎょうれつmatrix直交変換ちょっこうへんかん軸方向じくほうこう伸縮しんしゅく分解ぶんかいする標準形ひょうじゅんけいである。

演習えんしゅうリンク

data/exercise/math/linear-algebra/固有値・対角化・発展-基本演習.n.md

関連かんれんリンク

data/lecture/math/linear-algebra/対称行列と直交対角化-講義.n.md data/lecture/math/linear-algebra/複素内積とユニタリ行列-講義.n.md data/lecture/math/linear-algebra/階数の基本-講義.n.md data/lecture/math/linear-algebra/最小二乗法の基本-講義.n.md data/lecture/math/linear-algebra/擬似逆行列の基本-講義.n.md
raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
path をコピー
copy share link
copy share link
タブを全て閉じる