什麼是 Sigmoid 函數?
Sigmoid 函數(又稱邏輯函數,logistic function)能把任何實數平滑地壓縮到開區間 (0, 1) 之間,形成一條漂亮的 S 形曲線。其定義為 \(\sigma(x) = \frac{1}{1 + e^{-\text{a}\,x}}\),是神經網路中最常見的激活函數之一,也廣泛應用於邏輯迴歸、機率建模與成長曲線分析。其中的增益參數 \(\text{a}\) 決定了曲線過渡的陡峭程度:當 \(\text{a} = 1\) 時,就是教科書上最經典的 Sigmoid 曲線;而 \(\text{a}\) 越大,過渡段就越被壓縮,越接近一個階梯函數。
如何使用這個計算機
先輸入增益 \(\text{a}\),接著設定想要評估的範圍:x 最小值、x 最大值與 x 步長(遞增量)。本工具會在每個步長點上建立一張表格,列出 \(\sigma(x)\)、其一階導數 \(\sigma^{\prime}(x)\) 與二階導數 \(\sigma^{\prime\prime}(x)\);若你另外填入一個 x 值,還會回報該單點的計算結果。請務必確保步長大於零,且 x 最大值不小於 x 最小值,否則表格將無法產生任何資料列。
公式解析
若以 \(\sigma\) 本身來表示,導數的形式會格外簡潔。微分後可得 $$\sigma^{\prime}(x) = \text{a}\,\sigma(x)\bigl(1 - \sigma(x)\bigr)$$ 其值恆為正(代表曲線單調遞增),並在反曲點 \(x = 0\) 處達到最大值 \(\frac{\text{a}}{4}\)。至於二階導數 $$\sigma^{\prime\prime}(x) = \text{a}^{2}\,\sigma(x)\bigl(1 - \sigma(x)\bigr)\bigl(1 - 2\,\sigma(x)\bigr)$$ 會在 \(x = 0\)(此時 \(\sigma = 0.5\))處變號,正好印證了該點即為反曲點。
計算範例
假設 \(\text{a} = 1\)、\(x = 2\)。則 \(e^{-2} = 0.135335\),因此 $$\sigma(2) = \frac{1}{1.135335} = 0.880797$$ 一階導數為 $$0.880797 \cdot (1 - 0.880797) = 0.104994$$ 二階導數則為 $$0.104994 \cdot (1 - 2 \cdot 0.880797) = 0.104994 \cdot (-0.761594) = -0.079963$$ 而在 \(x = 0\) 時,各值分別為 \(\sigma = 0.5\)、\(\sigma^{\prime} = 0.25\)、\(\sigma^{\prime\prime} = 0\)。
常見問題
增益 \(\text{a}\) 有什麼作用?它會對輸入值進行縮放。\(\text{a}\) 越大,曲線在 \(x = 0\) 附近上升得越快;當 \(\text{a}\) 不斷增大,Sigmoid 會逐漸逼近一個硬階梯函數,而 \(\text{a} = 0\) 時則會變成一條固定在 0.5 的水平線。
最陡峭的點在哪裡?永遠在 \(x = 0\),此處斜率等於 \(\frac{\text{a}}{4}\),且二階導數為零。
為什麼輸出永遠不會剛好等於 0 或 1?對於有限的 \(x\),指數項永遠不會真正等於零,因此 \(\sigma\) 始終嚴格落在 (0, 1) 之內。當 \(|\text{a}\cdot x|\) 極大時,數值上會四捨五入趨近於 0 或 1,本計算機已對這種情況做了安全處理。