MATLAB,Python,Scilab,Julia比較 第2章 その49【正規方程式②】

MATLAB,Python,Scilab,Julia比較 第2章 その49【正規方程式②】 数値計算
MATLAB,Python,Scilab,Julia比較 第2章 その49【正規方程式②】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia2-backnumber/

はじめに

正規方程式を導出するまでの説明。
今回は、一般化した二乗和誤差の数式を変形してみる。

登場人物

博識フクロウのフクさん

指差しフクロウ

イラストACにて公開の「kino_k」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=iKciwKA9&area=1

エンジニア歴8年の太郎くん

技術者太郎

イラストACにて公開の「しのみ」さんのイラストを使用しています。
https://www.ac-illust.com/main/profile.php?id=uCKphAW2&area=1

ロードマップ【再掲】

太郎くん
太郎くん

恒例のロードマップ再掲。

正規方程式に至る道、二次形式、対称行列、二次形式の微分、グラム行列、二乗和誤差、正規方程式
フクさん
フクさん

正規方程式のところになる。

一般化した二乗和誤差の数式の変形

フクさん
フクさん

まずは、二乗和誤差の数式の変形をやってみよう。
二乗和誤差の行列形式の数式は以下になる。

\(
L(x_1,\dots,x_n)=(A\vec{x}-\vec{b})^2
\)

太郎くん
太郎くん

これを変形していくってことだけど、何をどうすれば・・・。

フクさん
フクさん

普通に展開していくだけだな。
まぁ、ベクトル、行列である故のクセみたいなのはあるけど。

太郎くん
太郎くん

そのクセってのがわからないからどうすれば良いかわからないんだよ!

フクさん
フクさん

転置がところどころに出てくる程度だな。
ベクトルと方程式の関係性を意識するとそれほど違和感はないはずだ。

\(
\begin{eqnarray}
(Ax-b)^2&=&(Ax-b)^T(Ax-b)\\
&=&(\color{blue}{x^TA^T}-b^T)(Ax-b)\\
&=&x^T\color{red}{A^TA}x-2x^TA^Tb+b^Tb
\end{eqnarray}
\)

(Ax)^T=x^TA^T の証明

太郎くん
太郎くん

んー?
\(\color{blue}{x^TA^T}\)の部分って、なんでこうなるんだっけ??

フクさん
フクさん

たぶん、そこで引っかかるとは思ってた。
単純に\((Ax)^T=x^TA^T\)ってだけなのだが、
その部分だけを丁寧に書いてみよう。

\(
\begin{eqnarray}
(Ax)^T&=&\Bigg(
\begin{bmatrix}
a_{11} & \dots & a_{1n} \\
\vdots & \ddots & \vdots \\
a_{n1} & \dots & a_{nn} \\
\end{bmatrix}
\begin{bmatrix}
x_1 \\
\vdots \\
x_n \\
\end{bmatrix}\Bigg)^T\\&=&
\begin{bmatrix}
x_1a_{11} & \dots & x_na_{1n} \\
\vdots & \ddots & \vdots \\
x_1a_{n1} & \dots & x_na_{nn} \\
\end{bmatrix}^T\\&=&
\begin{bmatrix}
x_1 &\dots & x_n \\
\end{bmatrix}
\begin{bmatrix}
a_{11} & \dots & a_{n1} \\
\vdots & \ddots & \vdots \\
a_{1n} & \dots & a_{nn} \\
\end{bmatrix}\\&=&
x^TA^T
\end{eqnarray}
\)

太郎くん
太郎くん

ほう。なるほど!
確かに等しくなる!

フクさん
フクさん

あとは赤字の部分の説明もあるが、それは次回にしよう。

まとめ

フクさん
フクさん

まとめだよ。

  • 一般化した二乗和誤差の数式の変形を実施。
  • 上記の途中で行列の積に対する転置で一見すると特殊な変形がある。
    • (Ax)^T=x^T A^T。
      • 計算すると分かるが普通に等しい結果になる。

バックナンバーはこちら。

コメント

タイトルとURLをコピーしました