線形代数 · 第28回 · 動画2 · インタラクティブ教材

U を消して V を求める:AᵀA で解く特異値分解

I重要な公式

公式 意味
A=UΣVTA = U \Sigma V^T 特異値分解(SVD)
ATA=VΣ2VTA^T A = V \Sigma^2 V^T 対称行列の固有値分解。VV の列が固有ベクトル
AAT=UΣ2UTA A^T = U \Sigma^2 U^T 対称行列の固有値分解。UU の列が固有ベクトル
ui=1σiAviu_i = \frac{1}{\sigma_i} A v_i VV から UU を求めて符号を固定する

特異値は σi=λi\sigma_i = \sqrt{\lambda_i} を満たします。ここで λi\lambda_i は ATAA^T A の固有値です。

II可視化1 — UU が消えるのを見る

A=UΣVTA = U\Sigma V^T から ATAA^T A を作ると、式は VΣ2VTV\Sigma^2 V^T にまで縮み、UU は跡形もなく消えます。

III可視化2 — 共通する 0 でない固有値

ATAA^T A と AATA A^T は大きさが違うのに、0 でない固有値はすべて共通で、どれも σi2\sigma_i^2 に等しくなります。

IV可視化3 — 符号の落とし穴

固有ベクトルは符号の違いまでしか決まりません。ui=1σiAviu_i = \tfrac{1}{\sigma_i} A v_i で求めれば、UU の符号が VV に固定されます。

V確認クイズ

ATAA^T A を使う近道を理解できたか確かめましょう。

問1

A=UΣVTA = U \Sigma V^T から ATAA^T A を作るとき、UU が式から「消える」のは、そのどの性質のおかげですか。

✅ 正解です! UU が直交行列であることで、真ん中の積が単位行列になります。

❌ 惜しい! 打ち消し合うには UTU=IU^T U = I が必要で、これは UU が直交行列だから成り立ちます。

解答を見る

解答:

ATA=(VΣTUT)(UΣVT)A^T A = (V \Sigma^T U^T)(U \Sigma V^T)

真ん中の因子は UTUU^T U です。UU は直交行列なので UTU=IU^T U = I となり、式は次のように縮みます。

ATA=VΣTΣVT=VΣ2VTA^T A = V \Sigma^T \Sigma V^T = V \Sigma^2 V^T

UU は完全に消えます。打ち消し合いを生むのは、UU が正方行列であることでも、Σ\Sigma が特定の形をしていることでもなく、直交性です。

問2

ATAA^T A の固有値が {25,9,0}\{25, 9, 0\} だとします。AA の特異値はいくつですか。

✅ 正解です! σi=λi\sigma_i = \sqrt{\lambda_i}.

❌ 惜しい! 特異値は ATAA^T A の固有値の平方根で、0 も含まれます。

解答を見る

解答:

特異値は ATAA^T A の固有値の平方根です。

σi=λi\sigma_i = \sqrt{\lambda_i}

したがって σ1=25=5\sigma_1 = \sqrt{25} = 5、σ2=9=3\sigma_2 = \sqrt{9} = 3、σ3=0=0\sigma_3 = \sqrt{0} = 0 です。

0 もれっきとした特異値で、AA が非自明な零空間をもつことを示しています。よくある間違いは、平方根をとり忘れて固有値そのものを答えてしまうことです。

問3

AA を 3×53 \times 5 行列とします。ATAA^T A と AATA A^T の固有値について正しいのはどれですか。

✅ 正解です! 余分な 0 を抱えるのは、大きいほうの行列です。

❌ 惜しい! 0 でない固有値は共通です。余分な 0 を抱えるのは大きいほうの行列(ここでは 5×55 \times 5)です。

解答を見る

解答:

ATAA^T A は 5×55 \times 5、AATA A^T は 3×33 \times 3 です。「ABAB と BABA は 0 でない固有値が同じ」という一般的な事実から、2つの行列の 0 でない固有値は同じです。それが σ12,σ22,σ32\sigma_1^2, \sigma_2^2, \sigma_3^2(多くても min⁡(m,n)=3\min(m, n) = 3 個)です。

大きいほうの行列 ATAA^T A(5×55 \times 5)は、余分な 0 を抱えているだけです。AATA A^T と比べて、0 の固有値を 5−3=25 - 3 = 2 個多くもちます。

問4

正しいか誤りか:ATAA^T A の固有値分解から VV を求めたあと、UU を得るいちばん安全な方法は、AATA A^T の固有値分解を別に計算することである。

✅ 正解です! 別々に計算すると符号が食い違うおそれがあります。代わりに ui=(1/σi)Aviu_i = (1/\sigma_i) A v_i を使いましょう。

❌ 惜しい! 別々に計算すると、符号の対応が崩れることがあります。安全な求め方は ui=(1/σi)Aviu_i = (1/\sigma_i) A v_i です。

解答を見る

解答:誤り。

固有ベクトルは符号の違いまでしか決まりません。VV と UU を別々に計算すると、符号が食い違うことがあります。viv_i と uiu_i が互いに「逆向き」になってしまい、A=UΣVTA = U \Sigma V^T が成り立たなくなるのです。

直し方は、まず VV を求め、次の式で VV から UU を導くことです。

ui=1σiAviu_i = \frac{1}{\sigma_i} A v_i

こうすれば uiu_i の符号が viv_i に選んだ符号に固定され、再構成した UΣVTU \Sigma V^T が AA にぴったり等しくなることが保証されます。

正解数:0 / 4