この計算ツールでできること
本ツールは、ゲインaを持つロジスティックシグモイド関数の2次微分 \(s''_a(x)\) を、任意の点xと指定したゲインa(傾きを決めるパラメータで、しばしばαと表記されます)について計算します。ロジスティックシグモイド関数は、ニューラルネットワークや統計モデルで最もよく使われる活性化関数の一つであり、その微分は勾配法による学習や曲率の解析など、さまざまな場面で登場します。
計算式
ゲインaのシグモイド関数は \(s_a(x) = \dfrac{1}{1 + e^{-a x}}\) で表されます。その1次微分は \(s'_a(x) = a\, s\,(1 - s)\)、2次微分は $$s''_a(x) = a^{2}\, s\,(1 - s)\,(1 - 2s)$$ となります(ここで \(s = s_a(x)\))。すべての式が \(s\) を用いて表せるため、本ツールではまず \(s\) を求め、それを1次・2次の両方の微分計算に再利用します。分母 \(1 + e^{-a x}\) は常に正の値となるので、ゼロ除算の心配はありません。
使い方
ゲインa(初期値1)と評価点x(初期値0.5)を入力すると、シグモイド値、1次微分、そして主役である2次微分が表示されます。変曲点を求めたい場合は、\(s''_a(x) = 0\) となるのは \(s = 0.5\) のときであり、これはゲインaの値に関わらず \(x = 0\) で成り立つ点に注目してください。
計算例
a = 1、x = 0.5 の場合:\(e^{-0.5} = 0.606531\) なので、\(s = \dfrac{1}{1.606531} = 0.622459\) となります。続いて \(1 - s = 0.377541\)、\(s' = 1 \times 0.622459 \times 0.377541 = 0.235004\)。最後に \(1 - 2s = -0.244919\) より、\(s'' = 1 \times 0.235004 \times (-0.244919) = -0.057557\) となります。
よくある質問
ゲインaはどんな役割を持ちますか? シグモイド関数の急峻さ(傾きの鋭さ)を調整します。aが大きいほど立ち上がりが急になります。a = 0 とすると \(s\) は常に0.5となり、1次・2次の微分はいずれも0になります。
2次微分が0になるのはどこですか? 変曲点である \(x = 0\) です。この点でシグモイド関数は下に凸から上に凸へと切り替わります。
数値計算は安定していますか? はい。\(a x\) が負の場合には、指数のオーバーフローを避けるため、等価な式 \(\dfrac{e^{a x}}{1 + e^{a x}}\) を用いて計算しています。