articles:gauss_newton

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
articles:gauss_newton [2021/07/21 13:55] – [重み付き最小二乗法] Takashi Suehiroarticles:gauss_newton [2022/05/04 08:06] (現在) – [ニュートン・ラフソン法との比較] Takashi Suehiro
行 10: 行 10:
 ガウス・ニュートン法は, ガウス・ニュートン法は,
 $\boldsymbol{f}(\boldsymbol{x}) = \boldsymbol{0}$となる$\boldsymbol{x}$を求める $\boldsymbol{f}(\boldsymbol{x}) = \boldsymbol{0}$となる$\boldsymbol{x}$を求める
-[[articles:newton_raphson|ニュートン・ラフソン法]]の拡張になっている.+[[articles:newton_raphson|ニュートン・ラフソン法]]の拡張になっている 
 +((この部分は大局的な理解のためのかなり大雑把な説明になっている))
  
 手順は以下の通り. 手順は以下の通り.
行 71: 行 72:
 利用して正しく求めなくてはいけない.)). 利用して正しく求めなくてはいけない.)).
  
-解の収束性に関してはニュートン・ラフソン法で述べた注意点が同様に当てはまる.+解の収束性に関してはニュートン・ラフソン法で述べた注意点が同様に当てはまる 
 +((解の周りでの非線形性が大きいと局所解にも収束しない場合もあ. 
 +この辺はニュートン・ラフソン法以上に注意すべき点となる))
  
 この収束性を改善した手法としては Levenberg-Marquardt法が有名である. この収束性を改善した手法としては Levenberg-Marquardt法が有名である.
行 107: 行 110:
 ===== 重み付き最小二乗法 ===== ===== 重み付き最小二乗法 =====
  
-ガウス・ニュートン法式(5)の残差を最小化するが,$\boldsymbol{b}$の成分を平等に扱って良いのだろうか.+ガウス・ニュートン法に限らず,線形連立方程式を擬似逆行列を用いて解くことで式(5)の残差を最小化するが, 
 +$\boldsymbol{b}$の成分を平等に扱って良いのだろうか.
  
 たとえばある成分はもともと誤差が多いことがわかっていて信頼性にかけることがあるかもしれない. たとえばある成分はもともと誤差が多いことがわかっていて信頼性にかけることがあるかもしれない.
 そういう場合は各要素を誤差の標準偏差で正規化してやる必要がある. そういう場合は各要素を誤差の標準偏差で正規化してやる必要がある.
  
-また+またロボットなどで座標系の誤差を位置の差(距離)と姿勢の差(角度)で表した場合のように, 
 +もともと単位系が異なるもの同士を結合して最小化する場合にはその調整を行う必要がある. 
 + 
 +さらに場合によっては,ある成分を他の成分よりより正確に調整する必要がある, 
 +逆にある成分の影響をできるだけ小さく場合によっては無視したいといった要求に応じる必要がある. 
 + 
 +このような場合,$\boldsymbol{b}$の成分ごとに重み付けする必要がある. 
 + 
 +これは式(3)の線形連立方程式の$\boldsymbol{b}$の各成分に対応する式に重みを乗じることで実現できる. 
 +すなわち, 
 +$$ 
 +D\boldsymbol{b} = DA\boldsymbol{x} 
 +$$ 
 +ここで 
 +$$ 
 +D=\operatorname{diag}(d_1,d_2,\cdots,d_m) 
 +$$ 
 +である.重み$d_i$が大きいほど$b_i$の残差を小さくできる. 
 +逆に重みを$0$にしてしまえばその要素はないものとして扱われることになる. 
 + 
 +これを改めて 
 +$$ 
 +\boldsymbol{x} = (DA)^+D\boldsymbol{b} \tag{6} 
 +$$ 
 +と解くことで 
 +$$ 
 +\| D\boldsymbol{b} - DA\boldsymbol{x} \| = \| D (\boldsymbol{b} - A\boldsymbol{x}) \|  
 +$$ 
 +を最小化することができる. 
 + 
 +==== ちょっとした注意 ==== 
 + 
 +式(6)を見て「おや?」と思った方もいるのではないだろうか((少なくとも私はそう思ったこともある)). 
 + 
 +もし 
 +$$ 
 +(DA)^+ = A^+D^+ \tag{7} 
 +$$ 
 +ならば,とりわけ$D$の要素が$0$でなければ, 
 +$$ 
 +D^+=D^{-1} = \operatorname{diag}(1/d_1, 1/d_2 , \cdots , 1/d_m) 
 +$$ 
 +であり,結局,式(6)は式(4)と同じになり,重みなしの場合と同じ$\boldsymbol{x}$が答えになる. 
 + 
 +これは,$n \ge m = r$の場合はそのとおりなのである. 
 +この場合,残差を$0$とすることができるので答えは同じになる. 
 + 
 +しかし,そうでない場合,$m>n\ge r$の場合は式(7)は成り立たない 
 +((これは$(DA)(A^+D^{-1})$が対称行列にならないことから分かる.擬似逆行列の他の3つの条件は満たしているのだが,,.)). 
 + 
 +いずれにしても$(DA)^+$を改めて正しく求め式(6)を計算することで重み付き最小二乗が実現できる.
  • articles/gauss_newton.1626843311.txt.gz
  • 最終更新: 2021/07/21 13:55
  • by Takashi Suehiro