最小2乗法

[] [] []


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

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

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

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

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

Ax b の距離|| Ax - b || が最小になるのは

すなわちAx - b Aの列ベクトルが張る(m次元の)平面と直交するときである。

 

この(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 は、Qの列ベクトルが張る平面にb を垂直に射影したベクトルになっている。

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

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


[] [] []