Sigmoid 函數

前言

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 函數是神經網絡中一種很是經常使用的激活函數,被普遍應用於邏輯迴歸,在統計學,機器學習領域有其普遍應用。函數

  • 原文首發自:RAIS
相關文章
相關標籤/搜索