動作検証バージョン:64bit Windows 10 Pro + Python 3.8.3 + NumPy 1.19.1 + matplotlib 3.3.1 + jupyter lab 2.2.8
NumPyのexp関数等を使ってシグモイド曲線を描くスクリプトをご紹介しました。
シグモイド曲線はtanh関数でも描ける
Wikipediaの「シグモイド関数」ページには、tanh(ハイパボリックタンジェント)関数を使った定義も掲載されています。
[スポンサードリンク]
私はtanh関数をまったく理解していませんけれど、NumPyに同名のtanh関数が存在しているため、試してみました。
NumPyのtanh関数を使ってシグモイド曲線を描く
以下のようなスクリプトでも、問題なくシグモイド曲線を描くことができます。
import numpy as np
import matplotlib.pyplot as plt
plt.show()
import matplotlib.pyplot as plt
a = 10
x = np.linspace(-1.0, 1.0, 101)
y = (np.tanh(a*x/2) + 1) / 2
plt.show()
ご紹介済みのNumPy.exp関数を使ってy軸データを作成していた、
y = 1 / (1 + np.exp(-a*x))
の部分を、
y = (np.tanh(a*x/2) + 1) / 2
に変更した点だけが異なります。
最終更新日時:2021-10-07 11:38
[スポンサードリンク]