這個計算器能做什麼
這個工具會計算帶有增益(陡峭度)參數 a 的邏輯 Sigmoid 函數在某一點 x 的一階導數。Sigmoid 是類神經網路與邏輯迴歸中最常見的激活函數之一,而它的導數正是反向傳播(backpropagation)在更新權重時所需要的關鍵數值。除此之外,計算器還會一併回傳同一點的 Sigmoid 函數值與二階導數,讓你一次掌握全部資訊。
使用方式
輸入增益 a(預設為 1)與要評估的點 x(預設為 0.5)。這兩個都是純粹、無因次的實數,沒有任何單位。按下計算後,主要結果會顯示一階導數,下方則會列出 Sigmoid 函數值與二階導數。
公式解析
Sigmoid 函數為 $$s_a(x) = \frac{1}{1 + e^{-a x}}$$ 它有一個非常方便的特性:導數可以完全用函數本身的輸出來表示,也就是 $$s'_a(x) = a \cdot s_a(x) \cdot \bigl(1 - s_a(x)\bigr)$$ 二階導數則為 $$s''_a(x) = a^2 \cdot s_a(x) \cdot \bigl(1 - s_a(x)\bigr) \cdot \bigl(1 - 2 s_a(x)\bigr)$$ 由於 \(1 + e^{-a x}\) 永遠為正,因此函數對於任何實數 a 與 x 都有定義,不會出現除以零的情況。
實例演算
以 \(a = 1\)、\(x = 0.5\) 為例:\(a \cdot x = 0.5\),因此 \(e^{-0.5} \approx 0.60653\),$$s = \frac{1}{1.60653} \approx 0.622459$$ 接著 $$s' = 1 \cdot 0.622459 \cdot (1 - 0.622459) \approx 0.235004$$ 而 $$s'' = 0.235004 \cdot (1 - 2 \cdot 0.622459) \approx -0.057557$$
常見問題
導數在哪裡達到最大值?當 \(a > 0\) 時,斜率會在 \(x = 0\) 處達到峰值,此時 \(s = 0.5\),導數等於 \(a/4\)。
當 a = 0 時會發生什麼?Sigmoid 會塌陷成固定值 0.5,因此一階與二階導數都是 0。
為什麼要用增益參數?\(|a|\) 越大,轉折越陡峭(越接近階梯函數);\(|a|\) 越小,過渡越平緩。若 \(a\) 為負值,則會讓曲線上下翻轉。