バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia2-backnumber/
はじめに
まずは最もシンプルな回帰分析である、
1次関数の最小二乗法についての説明の続き。
偏導関数の求め方も含めて解説。
登場人物
博識フクロウのフクさん

イラスト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
偏導関数の求め方?

今回は、誤差関数を偏微分する際に偏導関数を求める必要があって、
偏導関数の求め方も教えてくれるんだっけ?

そうそう。
まぁ、偏導関数については対して難しくはない。
基本的には導関数の求め方と一緒で、偏微分する軸以外は定数と見なす。
まずは導関数の求め方を復習も兼ねて示しておこう。
導関数の求め方

これは高校数学の1年生くらいで習うものだと思うけど、
以下の公式がある。
\(
\displaystyle x^n\frac{d}{dx}=nx^{n-1}
\)

あー、見たことあるあるー。
偏導関数の求め方

先のルールは偏導関数でも一緒だ。
\(
\displaystyle \frac{\partial x^n}{\partial x}=nx^{n-1}
\)

これだけ見ると全く一緒に見えるな・・・。

ここに\(x\)とは別の変数として\(y\)を追加すると、以下になる。
\(
\displaystyle \frac{\partial (x^n+x^2y+y^2)}{\partial x}=nx^{n-1}+2yx
\)

んー?\(y^2\)が消えて、\(x^2y\)は\(y\)に関してはそのまま残ってる???

\(y\)は変数だけど、偏導関数を求める際は定数と見なしてるんだよ。

あー、それで\(y^2\)は\(x\)と無関係だから消えるし、\(x^2y\)は\(x\)に関わる部分だけ導関数が求まる。
って感じか。

そうそう。

なんだ。チョロいじゃん!偏微分!

まぁ今回のはチョロいのを例に出してるってものあるけどね。
でも、\(x,y\)両方の動きを合わせて微分するより偏微分した方が楽だというのはわかったと思う。

確かに、簡単にしてくれてる感はあるね。
Σがある式で偏微分?

でも、今回偏微分しようとしてる誤差関数ってΣが式に入ってるじゃん?
これの扱いがめんどそうな気がするんだけど・・・。

結論から言うとΣは気にしなくてよい。
例えば、以下の式を考えよう。
\(
\displaystyle\frac{\partial\sum x_i^2}{\partial x}
\)

これの微分のイメージが沸かない・・・。

上の式をこうしたら?
\(
\displaystyle\frac{\partial(x_1^2+x_2^2+x_3^2+\dots+x_n^2)}{\partial x}
\)

あ!それぞれの導関数が\(2x_n\)になるから、以下の考え方になるのか!
\(
\begin{eqnarray}
\displaystyle\frac{\partial\sum x_i^2}{\partial x}&=&2x_1+2x_2+2x_3+\dots+2x_n \\
&=&\sum2x_i=2\sum x_i
\end{eqnarray}
\)

そうそう。
その考え方で解けばΣが入った式も怖くないはずだ。
まとめ

まとめだよ。
- 偏導関数の公式の前に導関数の公式を確認。
- 偏導関数の公式も基本は導関数の公式と一緒。
- 偏微分する軸以外の変数を定数として扱う点が異なる。
- Σが数式に紛れても分解すれば似たようなやり方になる。
バックナンバーはこちら。
コメント