MATLAB,Python,Scilab,Julia比較 第2章 その47【二乗和誤差②】

MATLAB,Python,Scilab,Julia比較 第2章 その47【二乗和誤差②】 数値計算
MATLAB,Python,Scilab,Julia比較 第2章 その47【二乗和誤差②】

バックナンバーはこちら。
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

ロードマップ【再掲】

フクさん
フクさん

恒例のロードマップの再掲。
二乗和誤差のところだね。

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

今回はやべぇ回な気がする。

フクさん
フクさん

そこまで警戒しなくても・・・。
複雑さはほとんどないと思うよ。

太郎くん
太郎くん

信用できん・・・。

多変量って?

太郎くん
太郎くん

で、そもそも多変量って何?

フクさん
フクさん

言い換えると多変数だな。

太郎くん
太郎くん

何も情報が増えてないのだけど・・・。

フクさん
フクさん

まぁ簡単に言うと、入力が複数になったってだけだな。
複数になったことで多変量。
多変量だからベクトルで表現できる。
って寸法だ。

太郎くん
太郎くん

ここでベクトルがでてくるのか・・・。

フクさん
フクさん

まぁベクトルがあるからこそ楽に扱えるんだけどね。

二乗和誤差を多変量で表現

フクさん
フクさん

二乗和誤差を多変量で表現すると以下になる。
関数\(f\)が求めたい線で、\(y_i\)が実際に観測できた値。

\(
L(x_1,\dots,x_m)=\displaystyle\sum_{i=1}^n\{f(x_{1i},\dots,x_{mi})-y_i\}^2
\)

太郎くん
太郎くん

あれ?
これだけ?
思ったよりもシンプルだな。

フクさん
フクさん

これだけ。
次に、左辺をベクトル、行列で表現する。
これが一般化だな。
少しややこしいが、
\(A\)が入力変数(または説明変数)をまとめた行列
\(\vec{x}\)が各係数をまとめたベクトル
\(b\)が出力変数(または目的変数)をまとめたベクトル
注意点としては、ベクトルの二乗をしている部分は厳密には内積と同じになる。

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

ベクトル、行列を具体的にすると?

太郎くん
太郎くん

ベクトル、行列の表現がよくわからん。

フクさん
フクさん

その場合、逆に具体化する。
以前までやったた一次関数を扱う場合、\(A,\vec{x},\vec{b}\)は以下になる。

\(
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}
\)

太郎くん
太郎くん

うーん、じっくり読んでみると・・・。
確かに、表現が変わっただけで、普通の最小二乗法の誤差関数と同じ形なのかー。

フクさん
フクさん

そうそう。
扱う方程式の項数が増えれば、
それに合わせて行列\(A\)の列と
ベクトル\(\vec{x}\)の要素が増える感じだ。

太郎くん
太郎くん

なるほど。
項数が増えることは変数が増えるってことだから、
これで多変量ってのに対応できたことになるのか。

フクさん
フクさん

ここまで来たら、今までの知識を統合してあとは正規方程式を求めるのみだな。

まとめ

フクさん
フクさん

まとめだよ。

  • 多変量について説明。
    • いっぱい変数あるってこと。
  • 二乗和誤差を多変量で表現。
    • ベクトル、行列で表現するってこと。
  • 一般化した後に具体化して確認。

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

コメント

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