Home » Python » NumPyの使い方 » NumPy.tanh関数を使ってシグモイド曲線を

NumPy.tanh関数を使ってシグモイド曲線を

動作検証バージョン: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

a = 10
x = np.linspace(-1.0, 1.0, 101)
y = (np.tanh(a*x/2) + 1) / 2

plt.plot(x, y)
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

[スポンサードリンク]

Home » Python » NumPyの使い方 » NumPy.tanh関数を使ってシグモイド曲線を

Copyright © インストラクターのネタ帳 All Rights Reserved.

.