MATLAB,Python,Scilab,Julia比較 第4章 その31【連鎖律の前準備⑤】

MATLAB,Python,Scilab,Julia比較 第4章 その31【連鎖律の前準備⑤】 数値計算
MATLAB,Python,Scilab,Julia比較 第4章 その31【連鎖律の前準備⑤】

バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-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

【再掲】連鎖律を把握するための知識

太郎くん
太郎くん

まずは、連鎖律を把握するための知識を再掲

  • 逆数の微分公式(済)
  • 積の微分公式(済)
  • 商の微分公式(済)
  • シグモイド関数の導関数
  • 多変量関数の連鎖律
  • 勾配降下法
フクさん
フクさん

今回は、シグモイド関数の導関数について。

いままでの公式達

フクさん
フクさん

さて、今回はシグモイド関数の導関数を導出するわけだが、
いままでの公式達を再掲しておこう。

逆数の微分公式

\(
\displaystyle\bigg\{\frac{1}{f(x)}\bigg\}^\prime=-\frac{f\prime(x)}{\{f(x)\}^2}
\)

積の微分公式

\(
\{f(x)g(x)\}\prime=g\prime(x)f(x)+f\prime(x)g(x)
\)

商の微分公式

\(
\displaystyle\bigg\{\frac{g(x)}{f(x)}\bigg\}^\prime=\frac{g\prime(x)f(x)-f\prime(x)g(x)}{\{f(x)\}^2}
\)

太郎くん
太郎くん

本当にわけわからんものからわけわからんのに変形してるだけにしか見えない・・・。

フクさん
フクさん

ちなみにシグモイド関数の導関数は以下になる。

\(
\displaystyle\sigma\prime=\bigg\{\frac{1}{1+e^{-1}}\bigg\}^\prime=\sigma(x)\{1-\sigma(x)\}
\)

フクさん
フクさん

ちなみに\(\sigma(x)\)がシグモイド関数になる。

太郎くん
太郎くん

シグモイド関数の導関数の中にシグモイド関数が出てくるのか。

シグモイド関数の導関数の導出

フクさん
フクさん

それでは、シグモイド関数の導関数を求める。
商の微分公式を使用する。
商の微分公式の
分母の\(f(x)\)を\(1+e^x\)
分子の\(g(x)\)を\(1\)とする。

\(
\begin{eqnarray}
\displaystyle\bigg\{\frac{1}{1+e^{-1}}\bigg\}^\prime&=&\frac{1\prime\cdot(1+e^{-x})-(1+e^{-x})\prime\cdot1}{(1+e^{-x})^2}\\
\displaystyle&=&\frac{-1\prime-(e^{-x})\prime}{(1+e^{-x})^2}\\
\displaystyle&=&\frac{e^{-x}}{(1+e^{-x})^2}\\
\displaystyle&=&\frac{e^{-x}}{1+e^{-x}}\cdot\frac{1}{1+e^{-x}}\\
\displaystyle&=&\frac{(1+e^{-x})-1}{1+e^{-x}}\cdot\frac{1}{1+e^{-x}}\dots(分子側で1を足して1を引く)\\
\displaystyle&=&\bigg(1-\frac{1}{1+e^{-x}}\bigg)\frac{1}{1+e^{-x}}\\
\displaystyle&=&\sigma(x)\{1-\sigma(x)\}
\end{eqnarray}
\)

太郎くん
太郎くん

途中、1を足して1を引くとかでまたトリッキーなことしてるなー。

フクさん
フクさん

これがうまく機能して、シグモイド関数の形状に変形できているわけだ。

このあとはどうする?

太郎くん
太郎くん

シグモイド関数の導関数を求めるところを中間ゴールといってたけど、
このタイミングで何かするの?

フクさん
フクさん

求めたシグモイド関数の導関数が正しいかを確認する。

太郎くん
太郎くん

どうやって?

フクさん
フクさん

シグモイド関数をオイラー法で求めた微分結果のプロットと、
シグモイド関数の導関数のプロットを比較する。
これを実現するためのプログラムを作成するつもりだ。

太郎くん
太郎くん

なるほど。
それを各ツール、各言語でやってみるってことか。

フクさん
フクさん

そうそう。

まとめ

フクさん
フクさん

まとめだよ。

  • いままでの公式達を再掲。
  • 商の微分公式を使ってシグモイド関数の導関数を求めた。
  • 本当に導関数になっているか、オイラー法で求めたシグモイド関数の微分のプロットと比較してみる。

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

Pythonで動かして学ぶ!あたらしい線形代数の教科書

Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア
Amazon.co.jp: Pythonで動かして学ぶ!あたらしい線形代数の教科書 eBook : かくあき: Kindleストア

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装 | 斎藤 康毅 |本 | 通販 | Amazon
Amazonで斎藤 康毅のゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装。アマゾンならポイント還元本が多数。斎藤 康毅作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロから作るDeep Lea...

ゼロからはじめるPID制御

ゼロからはじめるPID制御 | 熊谷 英樹 |本 | 通販 | Amazon
Amazonで熊谷 英樹のゼロからはじめるPID制御。アマゾンならポイント還元本が多数。熊谷 英樹作品ほか、お急ぎ便対象商品は当日お届けも可能。またゼロからはじめるPID制御もアマゾン配送商品なら通常配送無料。

OpenCVによる画像処理入門

OpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書) | 小枝 正直, 上田 悦子, 中村 恭之 |本 | 通販 | Amazon
Amazonで小枝 正直, 上田 悦子, 中村 恭之のOpenCVによる画像処理入門 改訂第3版 (KS情報科学専門書)。アマゾンならポイント還元本が多数。小枝 正直, 上田 悦子, 中村 恭之作品ほか、お急ぎ便対象商品は当日お届けも可能。...

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門]

恋する統計学[回帰分析入門(多変量解析1)] 恋する統計学[記述統計入門] | 金城俊哉 | 数学 | Kindleストア | Amazon
Amazonで金城俊哉の恋する統計学 恋する統計学。アマゾンならポイント還元本が多数。一度購入いただいた電子書籍は、KindleおよびFire端末、スマートフォンやタブレットなど、様々な端末でもお楽しみいただけます。

Pythonによる制御工学入門

Amazon.co.jp

理工系のための数学入門 ―微分方程式・ラプラス変換・フーリエ解析

Amazon.co.jp

コメント

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