【机器学习】激活函数/传递函数

       激活函数(也有书籍称为传递函数)的作用是决定如何激活输入信号,而输入信号则是加权输入信号和偏置的总和,激活函数在选择上对于后面的运算占据十分重要的地位,例如如果选择了不恰当的激活函数,将会导致后面计算梯度时无法计算出偏差而导致训练失败,模型准确率不高等一系列问题,如此,在这里网列几种常见的激活函数,以用参考。

———————————————下面是正文————————————————

一.Sigmoid函数

        公式为:

                                               

       其中:e 代表了纳皮尔常数 2.7182.......。

       比较常用的激活函数,看函数其实不难理解,输入信号经由sigmoid函数转换后,将输出新的数值。通过python和matplotlib库我们就可以看出函数的曲线图:

x = np.arange(-5.0,5.0,0.1)
y = sigmoid(x)
plt.plot(x,y)
plt.ylim(-0.1,1.1)
plt.show()

曲线图:

                            【机器学习】激活函数/传递函数_第1张图片

二.阶跃函数

       阶跃函数更多地用在感知机上,而且并没有具体地表达形式,主要表示为:当输入信号超过0时,将输出1,否则将输出0。可用以下表达式表示:

                                               【机器学习】激活函数/传递函数_第2张图片

       通过python和matplotlib库我们就可以看出函数的曲线图:

def Step(x):
    return np.array(x>0,dtype=np.int)

x = np.arange(-5.0,5.0,0.1)
y = Step(x)
plt.plot(x,y)
plt.show()

曲线图:

                                         【机器学习】激活函数/传递函数_第3张图片

三.ReLu函数

       ReLu函数在近期使用的频率越来越多,函数主要是在输入信号大于0时,可直接输出该值,而当输入信号小于或者等于0时,则输出0。

        表达式可表示如下:

                                                               【机器学习】激活函数/传递函数_第4张图片

         相同,通过python和matplotlib库我们就可以看出函数的曲线图:

def ReLu(x):
    return np.maximum(0,x)

x = np.arange(-5.0,5.0,0.1)
y = ReLu(x)
plt.plot(x,y)
plt.show()

曲线图:

                              【机器学习】激活函数/传递函数_第5张图片

参考文献:

                《深度学习入门-基于python的理论与实现》(日)斋藤康毅. 人民邮电出版社

 

你可能感兴趣的:(机器学习算法)