最小2乗法
|
【問題】連立1次方程式 Ax =b (Aはm行n列,m≧n)において、ノルム||Ax−b||が最小になるx を求む。 【解1】A†Aを修正コレスキー分解R†DR して、三角行列の連立1次方程式 R†y =A†b , Rx =D-1y を解く。
【解2】AをQR分解して、三角行列の連立1次方程式 Rx =Q†b を解く。
|
連立1次方程式Ax =b (Aはm行n列)において、変数より方程式が多い(m>n)場合はぴったり解けない。

そこで、Ax がなるべくb に近くなる解x を求めようというのが最小2乗法である。
◇
Ax とbの距離||Ax−b|| が最小になるのは、偏微分して0になるとき
(注:実関数の極値条件は実部と虚部で偏微分する代わりにx†で偏微分しても同じ→補足-Wirtingerの微分)
![]()
すなわちAx−b がAの列ベクトルが張る(m次元の)平面と直交するときである。

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

ここでA†Aはエルミート(A†A) †= A†(A†) †= A†A かつ正定値x†A†Ax =||Ax ||2>0であるから、ただのLU分解でなく修正コレスキー分解A†A =R†DRができて、R†y =A†b, Rx=D-1y として解ける。
![]()
◇◇
別の方法として、Aが正方行列でなくてもできるQR分解を使ってAx =b を形式的に変形すると

変数と方程式の個数が同じ連立1次方程式に帰着する。
![]()
実は、この(2)の解xは上記(1)の解と同じである。なぜなら(2)の両辺に左からQをかけると
![]()

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

すなわちQQ†b は、Qの列ベクトルが張る平面にb を射影したベクトルになっている。
さらにA=QR すなわち(a1 , ... , an)= (r11q1 , ... , Σrinqi) だから、Qの列ベクトルが張る平面はAの列ベクトルが張る平面と同じである。
結局、(3)の右辺はAの列ベクトルが張る平面にb を射影したベクトルであり、これが左辺Axと同じということは(1)と同じ意味になっている。
