Softmax 函数的特点和作用(转载)

文章转载自Softmax 函数的特点和作用Logistic 分类器与 softmax分类器,顺便加了一点自己的理解。

Logistic 分类器

分类问题,是机器学习里最基础的问题。
我们从最简单的二分类任务开始考虑,假设我们要分类西瓜是否成熟的话,则对于每一个西瓜来说,就有两种结果: {} { 熟 , 不 熟 } 。首先我们必须自己知道如何判断一个西瓜“熟”或者“不熟”,或者是根据颜色,或者是敲打的声音,这是下一步我们将其转成数学的映射关系的基础。
为了建立数学模型,我们必须将这个判断西瓜是否成熟的任务转换成数学关系。假设“熟”对应于数轴上的“1”,不熟对应于数轴上的“0”。下一步我们需要找到两个映射关系 ϕ1 ϕ 1 ϕ2 ϕ 2

  1. ϕ1 ϕ 1 将需要分类的西瓜样本(假设为 s s )映射到一个数轴上,ϕ1(s)=z
  2. 再使用 ϕ2(z) ϕ 2 ( z ) 将第一个映射的结果映射到标签分类上。

假设分类标记为 {0,1} { 0 , 1 } ,通常我们会选择这样一个阶跃函数从而建立起第二个映射 ϕ2 ϕ 2

ϕ2(z)=0,0.5,1,z<0z=0z>0 ϕ 2 ( z ) = { 0 , z<0 0.5 , z=0 1 , z>0

但是这样的阶跃函数,由于是不连续的,在计算过程中不可导,因此,一般用一个对数几率函数(logistic function)来替代。需要注意的是, 这种替代并不是唯一的。对数几率函数(logistic function)有这样的形式:
ϕ2(z)=11+ez ϕ 2 ( z ) = 1 1 + e − z

它的函数图像是这样的:
logistic function
可以看出,在 z z 大于0时,函数值能够迅速偏向1,而小于0时,则是迅速偏向了0。

softmax函数

对于二分类任务,由于结果只有两种,ϕ1(x)将样本 x x 映射到数轴上。而拓展到多分类任务时,假设有n种结果,那么 ϕ1(x) ϕ 1 ( x ) 会映射到一个 n n 维向量(y={c1,c2,...,cn})当中。向量中的每一维,都对应着一个可能的分类结果( ci=0 c i = 0 或1)。由于结果是互斥的,所以 y y 存在以下n种形式:

y1=100,y2=010,,yn=001 y 1 = [ 1 0 ⋮ 0 ] , y 2 = [ 0 1 ⋮ 0 ] , ⋯ , y n = [ 0 0 ⋮ 1 ]

先看下softmax函数的公式:

P(y|x)=eh(x,yi)nj=1eh(x,yi) P ( y | x ) = e h ( x , y i ) ∑ j = 1 n e h ( x , y i )

Softmax 的输出表征了不同类别之间的相对概率
假设最后输出的向量是:

v=3210 v = [ − 3 2 − 1 0 ]

根据softmax,计算得到:
s=0.00570.83900.04180.1135 s = [ 0.0057 0.8390 0.0418 0.1135 ]

我们可以清晰地看出, s2=0.8390 s 2 = 0.8390 ,对应的概率最大,则更清晰地可以判断预测为第2类的可能性更大。根据向量 v v <script type="math/tex" id="MathJax-Element-4182">v</script>,其实也可以判断出那个类别更可能,之所以写成softmax的形式, 可能是为了后面的计算能够求导,计算梯度

参考

  1. Softmax的理解与应用
  2. 三分钟带你对 Softmax 划重点
  3. 斯坦福大学深度学习公开课cs231n学习笔记(1)softmax函数理解与应用
  4. softmax的多分类
  5. 周志华的“西瓜书”
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值