【入門】正規方程式【数値計算】

【入門】正規方程式【数値計算】 数値計算
【入門】正規方程式【数値計算】

最小化問題へ

最小二乗法の時と同じように、偏導関数を用いて最小化問題にする。
偏導関数の解が0になる部分が極小値なので、そこを探すってだけ。
というわけで、以下を元に\(x\)と解けばOK。

\(
2A^TAx-2A^Tb=0
\)

正規方程式

上記の式を解いていこう。

\(
\begin{eqnarray}
2A^TAx-2A^Tb&=&0\\
A^TAx&=&A^Tb\\
x&=&(A^TA)^{-1}A^Tb
\end{eqnarray}
\)

これで、\(x\)について解けた。
最後に導出された式が、正規方程式になる。

正規方程式を使って何をする?

正規方程式を使うと、さまざまな回帰分析が一撃で解けるようになる。
代表的なのは以下。

  • 単回帰分析(最小二乗法)
  • 重回帰分析
  • 多項式回帰分析

単回帰分析を解く場合は以下のようにする。

単回帰分析(最小二乗法)は以下の最小化を満たすもの

\(
\displaystyle\sum_{i=1}^n\{(\alpha x_i+\beta)-y_i\}^2
\)

\((Ax-b)^2\)で最小化問題を解く場合はの各成分は以下となる。

\(
A=
\begin{bmatrix}
x_1 & 1\\
x_2 & 1\\
\vdots & \vdots\\
x_n & 1\\
\end{bmatrix},
\vec{x}=
\begin{bmatrix}
\alpha\\
\beta
\end{bmatrix},
\vec{b}=
\begin{bmatrix}
y_1\\
y_2\\
\vdots\\
y_n
\end{bmatrix}
\)

上記パラメータをを正規方程式に入れるだけで解が出る。

これだけである。
ベクトル、行列演算が行えるツールや言語であれば一撃ってことになる。

今後は、実際にMATLAB、Python、Scilab、Juliaで計算できるを試していく。

まとめ

  • いままでの知識の総動員すべく数式列挙。
  • 二乗和誤差の偏導関数を元に最小化問題へ。
  • 正規方程式がわかっていると、単回帰、重回帰、多項式回帰が一撃で解けるようになる。

MATLAB、Python、Scilab、Julia比較ページはこちら

コメント

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