一般化逆行列(ムーア・ペンローズの疑似逆行列)

ムーア・ペンローズの疑似逆行列

任意の m×nm\times n 複素行列 AA に対して,以下の4つの条件を満たす n×mn\times m 複素行列 BB がただ1つ存在する。

  1. ABA=AABA=A
  2. BAB=BBAB=B
  3. (AB)=AB(AB)^{*}=AB
  4. (BA)=BA(BA)^{*}=BA

この BBAAムーア・ペンローズの疑似逆行列と呼ぶ。

ただし,XX^{*}XX の随伴行列(共役転置)です。

疑似逆行列について,存在と一意性の証明や,おもしろい応用例(最小二乗解・最小ノルム解)を紹介します。

名前と記号

  • 「ムーア・ペンローズの疑似逆行列」は「一般逆行列」「一般化逆行列」「疑似逆行列」「Moore–Penrose Generalized Inverse」などいろいろな名前で呼ばれることがあります。この記事では単に「疑似逆行列」と呼ぶことにします。

  • 条件1のみを満たす BB を「一般逆行列」と呼ぶこともあります。ただし,ムーア・ペンローズ形でない一般逆行列はあまり見かけません。

  • AA の疑似逆行列を A+A^{+} と書くことにします。

疑似逆行列の存在と一意性

冒頭の定義の繰り返しですが,以下は定理です。

定理1

任意の m×nm\times n 複素行列 AA に対して,以下の4つの条件を満たす n×mn\times m 複素行列 BB がただ1つ存在する。

  1. ABA=AABA=A
  2. BAB=BBAB=B
  3. (AB)=AB(AB)^{*}=AB
  4. (BA)=BA(BA)^{*}=BA

1~4を満たす BB が存在することの証明には特異値分解を使います。任意の m×nm\times n 行列 AA が特異値分解できることは認めます。→特異値分解の定義,性質,具体例

存在性の証明の概要

特異値分解を A=UΣVA=U\Sigma V とする。つまり,UUm×mm\times m のユニタリ行列,VVn×nn\times n のユニタリ行列,Σ\Sigma は対角成分(行と列のインデックスが等しい要素)以外が 00 である m×nm\times n 行列。

B=VΣ1UB=V^{*}\Sigma^{-1}U^{*} とおくと1~4を満たすことがわかる。ただし,Σ1\Sigma^{-1} は「Σ\Sigma を転置して 00 でない各成分を逆数にした n×mn\times m 行列」のことである。

紫文字の式より,疑似逆行列の具体的な計算方法もわかります。

一意性の証明は比較的簡単です。

一意性の証明

B1B_1B2B_2 がいずれも AA に対して4つの式を満たすとすると,

B1=B1AB1B_1=B_1AB_1(式1)
=(B1A)B1=(B_1A)^*B_1(式4)
=(B1AB2A)B1=(B_1AB_2A)^*B_1(式1)
=(B2A)(B1A)B1=(B_2A)^*(B_1A)^*B_1(随伴行列の性質)
=(B2A)(B1A)B1=(B_2A)(B_1A)B_1(式4)
=B2AB1=B_2AB_1(式2)

同様に,

B2=B2AB2=B2(AB2)=B2(AB1AB2)=B2(AB2)(AB1)=B2AB2AB1=B2AB1B_2=B_2AB_2\\ =B_2(AB_2)^*\\ =B_2(AB_1AB_2)^*\\ =B_2(AB_2)^*(AB_1)^*\\ =B_2AB_2AB_1\\ =B_2AB_1

以上より B1=B2B_1=B_2

逆行列の一般化であること

疑似逆行列は普通の逆行列の一般化になっています。

参考:逆行列の定義・逆行列を求める2通りの方法と例題

定理2

AA が正方行列で正則なら,A1=A+A^{-1}=A^{+}

つまり,正則なら逆行列こそが疑似逆行列になります。

証明

正則な正方行列 AA に対して,その逆行列を A1A^{-1} とすると以下を満たす:

  1. AA1A=AAA^{-1}A=A
  2. A1AA1=A1A^{-1}AA^{-1}=A^{-1}
  3. AA1=IAA^{-1}=I より (AA1)=AA1(AA^{-1})^{*}=AA^{-1}
  4. A1A=IA^{-1}A=I より (A1A)=A1A(A^{-1}A)^{*}=A^{-1}A

つまり A1A^{-1} は疑似逆行列の定義式4つを満たす。

「正則でない正方行列」や「一般の m×nm\times n 行列」に対しても「逆行列っぽいもの」を与えるのが疑似逆行列です。

応用例(最小二乗解と最小ノルム解)

以下,AAm×nm\times n 実数行列,xxnn 次元ベクトル,bbmm 次元ベクトルとします。

疑似逆行列 A+A^{+} が現れるおもしろい定理です。

定理
  1. AA の列ベクトルが線形独立なとき, Axb2\|Ax-b\|_2 を最小にする xxx=A+bx=A^{+}b

  2. AA の行ベクトルが線形独立なとき,Ax=bAx=b を満たす xx の中で x2\|x\|_2 を最小にするものは x=A+bx=A^{+}b

定理の解釈

一次方程式 Ax=bAx=b を考えます。

  • AA が正則なとき
    Ax=bAx=b の解は逆行列を使って x=A1bx=A^{-1}b と表せます。

  • AA の列ベクトルが線形独立なとき
    mnm\geq n,つまり AA が縦長行列だと,Ax=bAx=b の解は存在するとは限りませんが,せめて Axb2\|Ax-b\|_2 を最小にしたいです。この解(最小二乗解)は疑似逆行列を使って x=A+bx=A^{+}b と表せます。

  • AA の行ベクトルが線形独立なとき
    mnm\leq n,つまり AA が横長行列だと Ax=bAx=b の解が無数に存在することがあります。そこで,Ax=bAx=b の解の中でも「良い」ものを選びたいです。x2\|x\|_2 が小さいものが「良い」という立場では,解(最小ノルム解)は x=A+bx=A^{+}b と表せます。

定理の証明

1の証明(最小二乗解)

AA の列ベクトルが線形独立なとき,AAA^{\top}A は正則である。

なぜなら,AAx=0A^{\top}Ax=0 のとき,xAAx=0x^{\top}A^{\top}Ax=0 より Ax2=0\|Ax\|_2=0 つまり Ax=0undefinedAx=\overrightarrow{0}AA の列ベクトルが線形独立なので x=0undefinedx=\overrightarrow{0}

よって AAA^{\top}A が正則なので,最小二乗解は x=(AA)1Abx=(A^{\top}A)^{-1}A^{\top}b となる(この証明は,最小二乗法の行列表現(一変数,多変数,多項式))。

あとは A+=(AA)1AA^{+}=(A^{\top}A)^{-1}A^{\top} であることを示せば良いが,(AA)1A(A^{\top}A)^{-1}A^{\top} が疑似逆行列の4つの式を満たしていることの確認は簡単。

2の証明の概略(最小ノルム解)

AA の行ベクトルが線形独立なとき,AAAA^{\top} は正則である(証明は1と同様)。

AAAA^{\top} が正則なとき,最小ノルム解は x=A(AA)1bx=A^{\top}(AA^{\top})^{-1}b となる(この証明は,最小ノルム解の導出と図による理解)。

あとは A+=A(AA)1A^{+}=A^{\top}(AA^{\top})^{-1} であることを示せば良いが,A(AA)1A^{\top}(AA^{\top})^{-1} が疑似逆行列の4つの式を満たしていることの確認は簡単。

「疑似」と書くか「擬似」と書くか迷いますね。