sigmoid 函数与 softmax 函数

sigmoid 函数与 softmax 函数
 
 
1. sigmoid 函数
      sigmoid 函数又称:logistic函数,逻辑斯谛函数。其几何形状即为一条sigmoid曲线。
logistic的几何形状如下所示:
 
 
一个简单的Logistic函数可用下式表示:
逻辑斯谛回归(Logistic Regression,简称LR)作为一种对数线性模型(log-linear model)被广泛地应用于分类和回归场景中。此外,logistic函数也是神经网络最为常用的激活函数,即sigmoid函数。
 
 
2. softmax 函数
      在数学,尤其是概率论和相关领域中,softmax函数,或称归一化指数函数,是逻辑函数的一种推广。它能将一个含任意实数的K维的向量  的“压缩”到另一个K维实向量  中,使得每一个元素的范围都在之间,并且所有元素的和为1。该函数的形式通常按下面的式子给出:
    for j = 1, …, K.
        softmax 函数实际上是有限项离散概率分布的梯度对数归一化。因此,Softmax函数在包括 多项逻辑回归,多项线性判别分析朴素贝叶斯分类器人工神经网络等的多种基于概率的多分类问题方法中都有着广泛应用。 特别地,在多项逻辑回归和线性判别分析中,函数的输入是从K个不同的线性函数得到的结果,而样本向量 x 属于第 j 个分类的概率为:

这可以被视作K个线性函数Softmax函数的复合)。
 
举个栗子:
输入向量对应的Softmax函数的值为。输出向量中拥有最大权重的项对应着输入向量中的最大值“4”。这也显示了这个函数通常的意义:对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量。
 
下面是使用Python进行函数计算的示例代码:
import  math
z=[1.0,2.0,3.0,4.0,1.0,2.0,3.0]
z_exp=[round(math.exp(i),3) 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]

 
 
 
  • Sigmoid - 用于隐层神经元输出
  • Softmax - 用于多分类神经网络输出
【Reference】
 
原文地址:https://www.cnblogs.com/shenxiaolin/p/8303415.html