美文网首页
logistic函数和softmax函数

logistic函数和softmax函数

作者: zhanggan1988 | 来源:发表于2017-06-29 21:10 被阅读0次

简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大家可以帮忙指正。本文首先分别介绍logistic函数和softmax函数的定义和应用,然后针对两者的联系和区别进行了总结。

回到顶部

1. logistic函数

1.1 logistic函数定义

引用wiki百科的定义:

A logistic function or logistic curve is a common "S" shape (sigmoid curve).

其实逻辑斯谛函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。

logistic函数的公式形式如下:

f(x)=L1+e−k(x−x0)f(x)=L1+e−k(x−x0)

其中,x0x0表示了函数曲线的中心(sigmoid midpoint),kk是曲线的坡度。

logistic的几何形状如下所示:

1.2 logistic函数的应用

logistic函数本身在众多领域中都有很多应用,我们只谈统计学和机器学习领域。

logistic函数在统计学和机器学习领域应用最为广泛或者最为人熟知的肯定是逻辑斯谛回归模型了。逻辑斯谛回归(Logistic Regression,简称LR)作为一种对数线性模型(log-linear model)被广泛地应用于分类和回归场景中。此外,logistic函数也是神经网络最为常用的激活函数,即sigmoid函数。

回到顶部

2. softmax函数

2.1 softmax函数的定义

同样,我们贴一下wiki百科对softmax函数的定义:

softmax is a generalization of logistic function that "squashes"(maps) aKK-dimensional vectorzzof arbitrary real values to aKK-dimensional vectorσ(z)σ(z)of real values in the range (0, 1) that add up to 1.

这句话既表明了softmax函数与logistic函数的关系,也同时阐述了softmax函数的本质就是将一个KK维的任意实数向量压缩(映射)成另一个KK维的实数向量,其中向量中的每个元素取值都介于(0,1)之间。

softmax函数形式如下:

σ(z)j=ezj∑Kk=1ezkσ(z)j=ezj∑k=1Kezk

其中j=1,2,...,Kj=1,2,...,K。

2.2 sotfmax函数的应用

softmax函数经常用在神经网络的最后一层,作为输出层,进行多分类。此外,softmax在增强学习领域内,softmax经常被用作将某个值转化为激活概率,这类情况下,softmax的公式如下:

Pt(a)=eqt(a)T∑ni=1eqt(i)TPt(a)=eqt(a)T∑i=1neqt(i)T

其中,TT被称为是温度参数(temperature parameter)。当T很大时,即趋于正无穷时,所有的激活值对应的激活概率趋近于相同(激活概率差异性较小);而当T很低时,即趋于0时,不同的激活值对应的激活概率差异也就越大。这个结论很重要,Hinton在2015年的一篇paper中重点阐释了如何根据温度参数来soften神经网络的输出,从而提出了distillation的思想和方法。

回到顶部

3. logistic和softmax的关系

1)logistic具体针对的是二分类问题,而softmax解决的是多分类问题,因此从这个角度也可以理解logistic函数是softmax函数的一个特例。

这里借鉴UFLDL教程中的推导,具体的推导过程如下:

当分类数为2时,softmax回归的假设函数表示如下:

利用softmax回归参数冗余的特点,从两个参数向量中都减去向量θ1θ1,得到:

最后,用θ′θ′来表示θ2−θ1θ2−θ1,上述公式可以表示为softmax回归器预测其中一个类别的概率为

11+eθ′Txi11+eθ′Txi

另一个类别的概率为

1−11+eθ′Txi1−11+eθ′Txi

这与logistic回归是完全一致的。

2)从概率角度来看logistic和softmax函数的区别。

softmax建模使用的分布是多项式分布,而logistic则基于伯努利分布,这方面具体的解释可以参考Andrew Ng的讲义去理解。

3)softmax回归和多个logistic回归的关系。

有了解的同学可能知道多个logistic回归通过叠加也同样可以实现多分类的效果,那么多个logistic回归和softmax一样不一样呢?

softmax回归进行的多分类,类与类之间是互斥的,即一个输入只能被归为一类;

多个logistic回归进行多分类,输出的类别并不是互斥的,即"苹果"这个词语既属于"水果"类也属于"3C"类别。

相关文章

  • logistic函数和softmax函数

    简单总结一下机器学习最常见的两个函数,一个是logistic函数,另一个是softmax函数,若有不足之处,希望大...

  • Softmax函数 Logistic函数

    Softmax函数:https://en.wikipedia.org/wiki/Softmax_function ...

  • UD机器学习 - C5 深度学习

    1 神经网络 sigmod函数和softmax函数最大似然概率和交叉熵和多类别交叉熵Logistic回归和梯度下降...

  • Logistic 函数 vs Softmax 函数

    嘿,大家好。你知道机器学习中的分类模型么?你知道 Softmax 和 Logistic 函数么?如果你不是很了解这...

  • 线性回归与分类

    回顾线性回归,logistic回归和softmax。 LMS 先构造线性函数进行拟合: 定义cost functi...

  • softmax函数的求导学习

    今天学习了softmax函数的求导,和其他函数求导不同,softmax函数中的参数不是常量,而是向量。 对于陌生的...

  • softmax函数详解

    softmax函数详解softmax的log似然代价函数(公式求导)

  • Logistic回归

    Logistic分布 Logistic分布是指连续随机变量X具有如下分布函数和密度函数:

  • logistic 函数

    1.logistic函数 logistic函数公式大概如下: 这个函数是一个S曲线,得到的结果在0和1之间,x的值...

  • 【深度学习】

    1, 两个重要的函数:得分函数和损失函数损失函数: hinge损失,softmax 损失。hinge损失: max...

网友评论

      本文标题:logistic函数和softmax函数

      本文链接:https://www.haomeiwen.com/subject/nupvcxtx.html