ML之Activation function:理解机器学习中常用的激活函数(sigmoid、softmax等)简介、应用、代码实现详细攻略

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41185868/article/details/87858581

ML之Activation function:理解机器学习中常用的Activation function激活函数(sigmoid、softmax等)详细攻略

相关文章:ML之Activation function:机器学习、深度学习中常用的激活函数配图、代码集合

sigmoid函数

        Sigmoid函数是一个在生物学中常见的S型函数,也称为S型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数,将变量映射到0,1之间。

softmax函数

 

       Softmax函数,又称归一化指数函数。实际上是有限项离散概率分布梯度对数归一化。因此,Softmax函数在包括多项逻辑回归,多项线性判别分析朴素贝叶斯分类器人工神经网络等的多种基于概率的多分类问题方法中都有着广泛应用。

      输入向量[1,2,3,4,1,2,3]对应的Softmax函数的值为[0.024,0.064,0.175,0.475,0.024,0.064,0.175]。输出向量中拥有最大权重的项对应着输入向量中的最大值“4”。这也显示了这个函数通常的意义:对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量。

import math
z = [1.0, 2.0, 3.0, 4.0, 1.0, 2.0, 3.0]
z_exp = [math.exp(i) for i in z]  
print(z_exp)  # Result: [2.72, 7.39, 20.09, 54.6, 2.72, 7.39, 20.09]
sum_z_exp = sum(z_exp)
print(sum_z_exp)  # Result: 114.98 
softmax = [round(i / sum_z_exp, 3) for i in z_exp]
print(softmax)  


# Result: [0.024, 0.064, 0.175, 0.475, 0.024, 0.064, 0.175]

Tanh双曲正切函数

        函数:y=tanh x;定义域:R,值域:(-1,1)。y=tanh x是一个奇函数,其函数图像为过原点并且穿越Ⅰ、Ⅲ象限的严格单调递增曲线,其图像被限制在两水平渐近线y=1和y=-1之间。
       tanh函数的值域是[-1,1]。双曲正切“tanh”是由基本双曲函数双曲正弦和双曲余弦推导而来。

ReLU线性整流函数

      为了克服梯度弥散,2006年Hinton提出ReLU,不再依赖于无监督学习逐层进行预训练,直接通过监督学习来训练网络,并在2012年的竞赛中ILSVRC中取得里程碑式突破。虽然相比非线性激活函数,RELU有效克服了梯度弥散在反向传播中的问题,使网络可以训练得更深,收敛更快。由于x>0时偏导数为1, ReLU能够在x>0时保持梯度不衰减缓解梯度消失问题。

ReLU函数:线性整流函数Rectified Linear Unit,,又称修正线性单元ReLU,是一种分段函数。通常指代以斜坡函数及其变种为代表的非线性函数。最常用激活函数

(1)ReLU应用:常用在CNN网络的激励层中,用在隐藏层作为激活函数。
(2)关于0点处如何求导?切记,输入的数据一般都是有数的,即使有,也只是浮点数的问题。

猜你喜欢

转载自blog.csdn.net/qq_41185868/article/details/87858581