バックナンバーはこちら。
https://www.simulationroom999.com/blog/compare-matlabpythonscilabjulia4-backnumber/
はじめに
シグモイド関数の導関数とオイラー法で求めた微分を比較するプログラムを作成する。
今回はScilab。
登場人物
博識フクロウのフクさん

イラスト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
【再掲】シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分の式

太郎くん
まずは、シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分の式を再掲。
シグモイド関数
シグモイド関数の導関数
シグモイド関数のオイラー法による微分

フクさん
これをScilabでplotして比較してみる。
導関数とオイラー法を比較して同一ならOK。
Scilabコード

フクさん
Scilabコードは以下。
// シグモイド関数の定義
function y = sigmoid(x)
y = 1 ./ (1 + exp(-x));
endfunction
// シグモイド関数の導関数の定義
function y = sigmoid_derivative(x)
y = sigmoid(x) .* (1 - sigmoid(x));
endfunction
// オイラー法で微分する関数の定義
function y = euler_derivative(x, h)
y = (sigmoid(x + h) - sigmoid(x)) / h;
endfunction
// x軸の値の範囲と間隔の設定
x = -10:0.1:10;
// シグモイド関数の計算
y_sigmoid = sigmoid(x);
y_derivative = sigmoid_derivative(x);
// オイラー法で微分した結果の計算
h = 0.01; // ステップサイズ
y_euler_derivative = euler_derivative(x, h);
// グラフを上下に並べて表示
subplot(3, 1, 1);
plot(x, y_sigmoid);
title('Sigmoid Function');
xlabel('x');
ylabel('sigmoid(x)');
xgrid();
subplot(3, 1, 2);
plot(x, y_derivative);
title('Derivative of Sigmoid Function');
xlabel('x');
ylabel('sigmoid''(x)');
xgrid();
subplot(3, 1, 3);
plot(x, y_euler_derivative);
title('Derivative of Sigmoid Function using Euler Method');
xlabel('x');
ylabel('sigmoid''(x)');
xgrid();
処理結果

フクさん
処理結果は以下。


フクさん
よって、
導出した導関数は正しいと言える。
まとめ

フクさん
まとめだよ。
- シグモイド関数、シグモイド関数の導関数、シグモイド関数のオイラー法での微分をScilabで算出。
- グラフで比較し、導出した導関数は正しいと言える結果となった。
バックナンバーはこちら。
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
コメント