zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    字符串----不可重叠的最长重复子串
    字符串----最长重复子串
    字符串----HDU-1358
    字符串----hiho字符串(尺取法)
    字符串匹配(二)----KMP算法
    字符串匹配(一)----Rabin-Karp算法
    字符串----最短摘要生成(尺取法)
    【Hibernate 检索策略】
    【Hibernate 多表查询】
    【Hibernate QBC】
  • 原文地址:https://www.cnblogs.com/renyuzhuo/p/14249560.html
Copyright © 2011-2022 走看看