Sigmoid 函數(Logistic 函數)是神經網絡中很是經常使用的激活函數,咱們今天來深刻了解一下 Sigmoid 函數。算法
代碼運行:Colab網絡
import matplotlib.pyplot as plt import numpy as np import math x = np.linspace(-10, 10, 100) z = 1 / (1 + np.exp(-x)) plt.title("Sigmoid") plt.plot(x, z) plt.xlabel("x") plt.ylabel("Sigmoid(X)") plt.savefig("sigmoid.png") plt.show() plt.close()
函數值 S(x) 的值域爲 (0, 1),經常使用於二分類問題,函數平滑,易於求導。可是做爲激活函數,其計算量大,反向傳播求偏差梯度時,求導有除法,容易出現梯度消失的狀況,在輸入接近於正無窮或負無窮時,梯度趨近於 0,發生梯度彌散(隨着網絡層數的增長,使用反向傳播算法計算梯度時,從輸出層到最初幾層,梯度消失的很是明顯,形成總體損失函數對最初幾層的權重的導數很是小,這樣在使用梯度降低算法時,最初幾層權重變化很是慢,甚至沒法學習到有用的特徵)。由於 Sigmoid 函數值大於 0,所以權重更新只能朝着一個方向更新,可能影響收斂速度。機器學習
Sigmoid 函數是神經網絡中一種很是經常使用的激活函數,被普遍應用於邏輯迴歸,在統計學,機器學習領域有其普遍應用。函數