articles:svd

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
articles:svd [2021/07/16 07:03] – [他の擬似逆行列を求める方法との比較] Takashi Suehiroarticles:svd [2021/07/24 00:43] (現在) – [他の擬似逆行列を求める方法との比較] Takashi Suehiro
行 5: 行 5:
 ===== 特異値分解とは ===== ===== 特異値分解とは =====
  
-行列$A$:$(m \times n)$は,$A = UWV^T$の形に分解できる.これを特異値分解という.+行列$A$:$(m \times n)$は, 
 +$$A = UWV^T$
 +の形に分解できる.これを特異値分解という 
 +(( 
 +ここは天下りです.すみません. 
 +)) 
 +
  
 ここで, ここで,
行 36: 行 42:
  
 ===== 特異値分解と擬似逆行列 ===== ===== 特異値分解と擬似逆行列 =====
-$m = n = r$でない場合,$A$の擬似逆行列は逆行列と形式的に同じで以下のように表せる.+$m = n = r$でない場合,$A$の擬似逆行列は逆行列と形式的には全く同じで以下のように表せる.
 $$ $$
 A^{+} = VW^{-1}U^T,\;\; W^{-1}=\mathrm{diag}(1/\sigma_1,1/\sigma_2,\cdots,1/\sigma_r) A^{+} = VW^{-1}U^T,\;\; W^{-1}=\mathrm{diag}(1/\sigma_1,1/\sigma_2,\cdots,1/\sigma_r)
行 44: 行 50:
 AA^{+}A=UWV^TVW^{-1}U^TUWV^T = UWW^{-1}WV^T = UWV^T=A AA^{+}A=UWV^TVW^{-1}U^TUWV^T = UWW^{-1}WV^T = UWV^T=A
 $$ $$
-となり擬似逆行列の条件を満たしていることが確認できる.+同様に 
 +$$ 
 +A^{+}AA^{+}=VW^{-1}U^TUWV^TVW^{-1}U^T = VW^{-1}WW^{-1}U^T = VW^{-1}U^T=A^{+} 
 +$$ 
 +また 
 +$$ 
 +AA^{+}=UWV^TVW^{-1}U^T = UU^T 
 +$$ 
 +すなわち((実数行列なので転置で良い)) 
 +$$ 
 +(AA^{+})^T = (UU^T)^T = UU^T 
 +$$ 
 +同様に 
 +$$ 
 +A^{+}A=VW^{-1}U^TUWV^T = VV^T 
 +$$ 
 +$$ 
 +(A^{+}A)^T = (VV^T)^T = VV^T 
 +$$ 
 +となり擬似逆行列の4条件を満たしていることが確認できる.
  
 ==== 他の擬似逆行列を求める方法との比較 ==== ==== 他の擬似逆行列を求める方法との比較 ====
行 51: 行 76:
 A^+ = (A^TA)^{-1}A^T A^+ = (A^TA)^{-1}A^T
 $$ $$
-これもまた以下を満たし擬似逆行列であることが分かる.+これもまた以下および他の条件を満たし擬似逆行列であることが分かる.
 $$ $$
 AA^+A = A(A^TA)^{-1}A^TA = A AA^+A = A(A^TA)^{-1}A^TA = A
行 63: 行 88:
 を明らかにし,それを回避することができる. を明らかにし,それを回避することができる.
  
-ということで,**擬似逆行列の計算には特異値分解を利用する方が良い**.+ということで,**擬似逆行列の計算には特異値分解を利用する方が良い**((計算の負荷を問題にしなければということだが)). 
 + 
 +===== 線形連立方程式の解 ===== 
 +線形連立方程式を擬似逆行列を用いて解くということがどういう意味を持っているのかを 
 +特異値分解をベースに考えてみる. 
 + 
 +以下の線形連立方程式を考える. 
 +$$ 
 +\boldsymbol{b}=A\boldsymbol{x}   \tag{1} 
 +$$ 
 +$\boldsymbol{b}$は$m$次元ベクトル,$\boldsymbol{x}$は$n$次元ベクトル, 
 +$A$は$m \times n$の行列でそのランクは$r$とする. 
 + 
 +$m=m=r$の場合,これは簡単に, 
 +$$ 
 +\boldsymbol{x} = A^{-1}\boldsymbol{x} 
 +$$ 
 +と解くことができる. 
 + 
 +その他の場合は, 
 +$$ 
 +\boldsymbol{x} = A^{+}\boldsymbol{b} \tag{2} 
 +$$ 
 +と解くことができ,以下のように場合分けされる. 
 +  * $m \gt n \ge r$の場合,条件が過剰であり,最小二乗解を得る. 
 +  * $n \gt m \ge r$の場合,条件が不足しいる冗長自由度問題であり,条件を満たす最小ノルム解を得る.またそれは最小二乗解にもなっている. 
 + 
 +==== 特異値分解の意味 ==== 
 +式(1)を$A$の特異値分解を使って表すと, 
 +$$ 
 +\boldsymbol{b} = UWV^T \boldsymbol{x} 
 +$$ 
 +この両辺に$U^T$をかけると, 
 +$$ 
 +U^T\boldsymbol{b} = WV^T \boldsymbol{x} 
 +$$ 
 +$U$,$V$を直交補空間の基底ベクトルを加えてそれぞれ$m \times m$,$n \times n$に拡大すると 
 +(( 
 +$U^\perp$や$V^\perp$は基底ベクトルを縦にならべたものとするなら転置しなくてはならないが, 
 +式が煩雑になるので基底ベクトルを横に並べたものと思って下さい. 
 +)) 
 +, 
 +$$ 
 +\left( \begin{array}{c} U^T \\ U^\perp \end{array} \right)\boldsymbol{b} 
 +
 +\left( \begin{array}{cc} W & 0 \\ 0 & 0 \end{array} \right) 
 +\left( \begin{array}{c} V^T \\ V^{\perp} \end{array} \right)\boldsymbol{x} 
 +$$ 
 +このとき 
 +$$ 
 +\left( \begin{array}{c}\boldsymbol{b}' \\ \boldsymbol{b}^\perp \end{array} \right) 
 +
 +\left( \begin{array}{c} U^T \\ U^\perp \end{array} \right)\boldsymbol{b} 
 +$$ 
 +$$ 
 +\left( \begin{array}{c}\boldsymbol{x}' \\ \boldsymbol{x}^\perp \end{array} \right) 
 +
 +\left( \begin{array}{c} V^T \\ V^{\perp} \end{array} \right)\boldsymbol{x} 
 +$$ 
 +とすると,それぞれ直交行列をかけているので,大きさ(ノルム)は変わらない. 
 + 
 +これを用いて以下のように書き直して眺めてみる. 
 +$$ 
 +\left( \begin{array}{c}\boldsymbol{b}' \\ \boldsymbol{b}^\perp \end{array} \right) 
 +
 +\left( \begin{array}{cc} W & 0 \\ 0 & 0 \end{array} \right) 
 +\left( \begin{array}{c}\boldsymbol{x}' \\ \boldsymbol{x}^\perp \end{array} \right) 
 +$$ 
 +  * $\boldsymbol{x}$の一部$\boldsymbol{x}'$($r$次元)が$\boldsymbol{b}$の一部$\boldsymbol{b}'$(同じく$r$次元)にしか影響を与えない 
 +     * $\boldsymbol{x}^\perp$をいくら変更しても$\boldsymbol{b}$は変わらない 
 +     * $\boldsymbol{x}$をどう変更しても$\boldsymbol{b}^\perp$は$\boldsymbol{0}$以外は満たせない. 
 +  * 互いに影響を与える部分($r$次元の部分)に関しては,軸方向に特異値$\sigma_i$倍に伸縮した関係になっている 
 + 
 +==== 線形連立方程式を擬似逆行列で解く意味 ==== 
 + 
 +これを擬似逆行列をつかって式(2)のようにとくということは, 
 +$$ 
 +\boldsymbol{x}'=V^T\boldsymbol{x}=W^{-1}U^T\boldsymbol{b}=W^{-1}\boldsymbol{b}' 
 +$$ 
 +つまり 
 +$$ 
 +\left( \begin{array}{c}\boldsymbol{x}' \\ \boldsymbol{0} \end{array} \right) 
 +
 +\left( \begin{array}{cc} W^{-1} & 0 \\ 0 & 0 \end{array} \right) 
 +\left( \begin{array}{c}\boldsymbol{b}' \\ \boldsymbol{0} \end{array} \right) 
 +$$ 
 +ここで$\boldsymbol{b}$の残差を考えると,直交行列による変換はノルムを変化させないので, 
 +$$ 
 +\| \boldsymbol{b}-A\boldsymbol{x} \|  
 += \| \left( \begin{array}{c}\boldsymbol{0} \\ \boldsymbol{b}^\perp \end{array} \right) \| 
 +$$ 
 +$\boldsymbol{b}$の内どうやっても$\boldsymbol{x}$で消すことができない成分だけ残っている. 
 +つまり「最小二乗」になっている. 
 + 
 +また$\boldsymbol{x}$に関しても, 
 +$$ 
 +\| \boldsymbol{x} \|  
 +
 +\| \left( \begin{array}{c}\boldsymbol{x}' \\ \boldsymbol{0} \end{array} \right) \| 
 +$$ 
 +つまり$\boldsymbol{b}$に対して最小二乗解を与えるもののうち最小の$\boldsymbol{x}$となっていることが確認できる
  • articles/svd.1626386618.txt.gz
  • 最終更新: 2021/07/16 07:03
  • by Takashi Suehiro