一般逆行列・ムーア・ペンローズ逆行列
簡単な例として
で表されるxとyの関係を行列を使って表せば次のようになる。
ここで
, ,
とすると、最初の式は
という線形代数でおなじみの式で表されるから、
両辺にの逆行列をかけて
として解が求まる。
つまり、行列Aの逆行列を求めれば解を求めることができる。
今回の例だと、
なので、
となって、 が求まる。
これはグラフに表すと、次のようになって、つまりの二つの直線の交点を求めたことになる。
さて、このように、きれいに連立方程式が解ける場合はいいけど、
現実問題として解が求まらないことは多くある。
=====
■ 例1) 式が多すぎて解が存在しない。
このような3つの式を満たす解は存在しない。
グラフに表すと次のような感じ。
3つの直線は1つの点で交わらないため、解が無いことがわかる。
■ 例2) 式が少なすぎて解が1つに定まらない。
このような1つだけ式が与えられた場合、この条件を満たすx,yの組は無数に存在する。
グラフに表すと次のような感じ。直線上のx,yの組は無数に存在する。
■ 例3) 式が矛盾していて解が存在しない。
グラフに表すと次のような感じ。
2つの直線は平行なので、交わる点は存在しない。つまり解は存在しない。
=====
上記の連立方程式を の形で表すと、それぞれ次のようになる。
例1)
例2)
例3)
行列Aに相当する、, ,
は、逆行列を持たない。このような行列を「正則でない」と表現する。
さて、それじゃあ、しかたない。と諦めてしまえばいいのだが、
現実問題として、そう簡単にあきらめるわけにはいかないので、
このような問題のある場合でも、どうにしかして、もっともらしい解を求めたい。ということがある。
このような目的で使用されるのが一般逆行列。
一般逆行列とは、本来、逆行列は無いのにかかわらず、もっともらしい解を得るために頑張って作り出した逆行列のこと。
では、「もっともらしい解」の「もっともらしい」ってどういうこと?
この解釈のしかたによって、一般逆行列は様々に定義されて一意に定まらない。まあ、そうだよね。
このような一般逆行列の中でも、もっとも「もっともらしさ」が適当と言えそうなのが Moore Penrose 逆行列(ムーア・ペンローズ逆行列)で、広く用いられている。
行列のムーア・ペンローズ逆行列をと表すと、次の4つの関係が成り立つ。
無理に理解する必要はないけど、この関係が成り立つという性質はとても嬉しいことで、また行列はただ1つに決まる。
このムーア・ペンローズ逆行列を使って、求めた解は、が縦長の場合はを最小にし、が横長の場合はノルムを最小にするという性質がある。
つまり、この意味において、もっとも誤差が小さい解を求められる、ということになる。
すでに書いたように、一般逆行列には様々なものが考えられるのだけど、ムーア・ペンローズ逆行列があまりに広く使われているので、
単に「一般逆行列」と書いて「ムーア・ペンローズ逆行列」を指すこともある。
また、ムーア・ペンローズ逆行列は擬逆行列(疑逆行列)と呼ばれることもある。
つまり、
・擬逆行列(疑逆行列)
・ムーア・ペンローズ(Moore Penrose)逆行列
・一般逆行列
・一般化逆行列
という、さまざまな呼び名がありながら、結局どれも同じ行列のことを言っていることが多い。
では、このムーア・ペンローズ逆行列によって得られる解には、どのような性質があるだろうか。実験してみよう。
統計ソフトRには、行列計算を行う機能が備わっていて、ライブラリ library(MASS) の中の ginv 関数を使うことで、一般逆行列を求めることができる。
これまでに登場した、逆行列が存在しない行列Aの例、、 、 それぞれについて実行してみる。
> ginv(matrix(c(1, 1, 0, 1, -1, 1), 3, 2)) [,1] [,2] [,3] [1,] 0.5000000 0.5000000 0.0000000 [2,] 0.3333333 -0.3333333 0.3333333
次のようにしてを計算すれば、この結果を使ったx,yの値が求まる。
> ginv(matrix(c(1, 1, 0, 1, -1, 1), 3, 2)) %*% matrix(c(4,0,1), 3, 1) [,1] [1,] 2.000000 [2,] 1.666667
つまり、本来は解が無いはずなのに、ムーア・ペンローズ逆行列を使うことで、次の「もっともらしい」解が得られたことになる。
グラフ上に、この点を打つと次のようになる。
なんとなく3つの直線の交点と見なせそうな場所が得られたことを確認できる。
ところで、ムーア・ペンローズ逆行列で求めた解は誤差を最小にするのだった。
検証してみよう。
なので
この値を最小にするx,yは
であることから、先ほどのRで求めた解と一致することが確認できる。
さて続いて、
についてみてみよう。
> ginv(matrix(c(1, 1), 1, 2)) [,1] [1,] 0.5 [2,] 0.5
次のようにしてを計算すれば、この結果を使ったx,yの値が求まる。
> ginv(matrix(c(1, 1), 1, 2)) %*% matrix(c(4), 1, 1) [,1] [1,] 2 [2,] 2
つまり、本来は解が無数にあるはずなのに、ムーア・ペンローズ逆行列を使うことで、次の「もっともらしい」解が得られたことになる。
グラフ上に、この点を打つと次のようになる。
直線上に無数に存在する解の中から、最も原点に近い点が「もっともらしい」解として選ばれたことを確認できる。
最後に、
についてみてみよう。
これは、平行な2直線で、解が存在しないケースだった。
> ginv(matrix(c(1, 1, 1, 1), 2, 2)) [,1] [,2] [1,] 0.25 0.25 [2,] 0.25 0.25
次のようにしてを計算すれば、この結果を使ったx,yの値が求まる。
> ginv(matrix(c(1, 1, 1, 1), 2, 2)) %*% matrix(c(4, 2), 2, 1) [,1] [1,] 1.5 [2,] 1.5
つまり、本来は解が存在しないはずなのに、ムーア・ペンローズ逆行列を使うことで、次の「もっともらしい」解が得られたことになる。
グラフ上に、この点を打つと次のようになる。
平行な2直線の中間で、最も原点に近い点が解となっている。
というわけで、ムーア・ペンローズ逆行列を使うことで、本来なら解の存在しない連立方程式に対して、もっともらしい解が得られることを確認できた。
■ 参考
・一般逆行列 (川上一郎)
・Mastering PLS regression YUGI, Katsuyuki
- 作者: 川久保勝夫
- 出版社/メーカー: 講談社
- 発売日: 1999/11/25
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 12回
- この商品を含むブログ (5件) を見る
- 作者: 江見圭司,江見善一
- 出版社/メーカー: 共立出版
- 発売日: 2004/06/01
- メディア: 単行本
- 購入: 3人 クリック: 25回
- この商品を含むブログ (6件) を見る