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 函数是神经网络中一种很是经常使用的激活函数,被普遍应用于逻辑回归,在统计学,机器学习领域有其普遍应用。函数