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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM