最小2乗法

[] [] []


【問題】 連立1次方程式Ax=b (Amn,mn)において、ノルム||b-Ax||が最小になるxを求む。

【解1】 AAを修正Cholesky分解RDRして、三角行列の連立1次方程式Ry = Ab, Rx=D-1yを解く。

【解2】 AQR分解して、三角行列の連立1次方程式Rx = Qbを解く。

連立1次方程式Ax=b (Amn)において、変数より方程式が多い(mn)場合はぴったり解けない。

そこで、Axがなるべくbに近くなる解xを求めようというのが最小2乗法である

Ax b の距離||b-Ax|| が最小になるのは、b-Ax Aの列ベクトルが張る(m次元の)平面と直交する(A(b-Ax) = 0)ときだから

 

この(1)x が満たすべき方程式であり、変数と方程式の個数が同じなのでx 1つに決まる

ここでAAはエルミート (AA)= A(A)= AA かつ正定値 xAAx=|| Ax ||20であるから、一般のLU分解でなく修正Cholesky分解AA = RDRできて、Ry = Ab, Rx=D-1yとして解ける。

◇◇

別の方法として、Aが正方行列でなくてもできるQR分解を使ってAx=b を形式的に変形すると

変数と方程式の個数が同じ連立1次方程式に帰着する。

実は、この(2)の解x は上記の(1)の解と同じである。なぜなら(2)の両辺に左からQをかけると

この右辺はQQb=(q1b)q1 + ... + (qnb)qn だからb - QQb Q のすべての列ベクトルと直交している。

すなわちQQb は、b Qの列ベクトルが張る平面に垂直に射影したベクトルなっている。

さらにA=QR すなわち(a1 , ... , an)= (r11q1 , ... , Σrinqi) だから、Qの列ベクトルが張る平面はAの列ベクトルが張る平面と同じである。

結局、(2')の右辺はb Aの列ベクトルが張る平面に垂直に射影したベクトルであり、(1)と同じ意味になっている。


[] [] []