跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Sigmoid函数怎么用?揭秘其在神经网络中的优缺点!

引言

大家好,我是顺亿,今天我们来聊聊神经网络中的老朋友——Sigmoid函数。这个函数在神经网络中可是扮演着重要角色,接下来我会用通俗易懂的方式给大家讲解它的用法、优缺点,以及它为何会被后来者取代。

Sigmoid函数简介

Sigmoid函数,又称为Logistic函数,它就像一个S型生长曲线,可以将输入的实数映射到0到1之间。这个函数在信息科学中非常常见,尤其是在神经网络中,它用来决定神经元是否被激活。

Sigmoid函数的优缺点

  • 优点
  • 平滑、易于求导。
    • 缺点
  • 计算量大,容易导致梯度消失,难以训练深层网络。
  • Sigmoid函数的导数

    Sigmoid函数的导数可以帮助我们更好地理解它的行为。导数图像如下:

    def plot_sigmoid_dao():
        x=np.arange(-8,8,0.1)
        y=sigmoid(x)*(1-sigmoid(x))
        plt.plot(x,y)
        plt.show()
    

    Sigmoid函数的图像

    Sigmoid函数的图像如下:

    import numpy as np
    import matplotlib.pyplot as plt
    def sigmoid(x):
        return 1.0/(1+np.exp(-x))
    
    def plot_sigmoid():
        x=np.arange(-8,8,0.1)
        y=sigmoid(x)
        plt.plot(x,y)
        plt.show()
    
    if __name__ == '__main__':
        plot_sigmoid()
    

    激活函数的重要性

    激活函数是神经网络中极为重要的一个概念,它决定了某个神经元是否被激活,这个神经元接受到的信息是否有用,是该留下还是该抛弃掉。

    Sigmoid函数的局限性

    尽管Sigmoid函数在神经网络中有着广泛的应用,但它也存在一些局限性。比如,当很多个使用sigmoid激活函数的Layers 加到神经网络中时,损失函数的梯度会接近0,这会导致 network难以训练。

    小结与拓展

    今天我们介绍了Sigmoid函数的用法、优缺点,以及它为何会被后来者取代。如果你对神经网络还有其他疑问,欢迎关注「趣航编程网」(www.vqhf.com),我会在这里分享更多编程知识。

    我是顺亿,我们下期再见!

    相关文章