04 Softmax分类器

Softmax分类器

  我们处理多分类问题时,使用 SVM 输出的是一个得分值,但是得分值最后比来比去不是很直观。那么我们能不能将得分值进行转换,转换成一个概率值,如果一个新数据样本到达,如果属于某一个类别的概率为 80%,那么我们就可以很直观的看出该数据样本可能属于该类别,我就不用来回去比较得分值。

  那么怎么样可以得到一个概率值呢?我们有一个叫 Softmax 的分类器。

  首先我们先介绍 Sigmoid 函数,表达式如下:

在这里插入图片描述

  该函数在坐标轴上的图形如下:

在这里插入图片描述
  
  我们观察一下, x x x 轴的取值范围是从负无穷到正无穷, y y y 轴的范围是 0-1。该函数的作用相当于是把任意一个值通过某种变换映射到 0-1 区间内,那么就可以用来表示某一个样本属于某一个类别的概率值。
  
  其实 Softmax 分类器还做了一步归一化的操作,然后输出一个向量,其中每个元素的值在 0-1 之间,且所有元素之和为 1。
  

  下面举一个小例子,我们使用 SVM 算法得出的下面图片分别属于 cat,car,frog 的得分值如下:

在这里插入图片描述

  现在我们需要算出这三个得分值对应的概率是多少?首先我们得算出 e x e^x ex ,将下面三个值代入这个函数中:
  在这里插入图片描述
  
  通过结果可以观察到, e ( 3.2 ) = 24.5 e^(3.2) = 24.5 e(3.2)=24.5 e ( 5.1 ) = 164 e^(5.1) = 164 e(5.1)=164,可见 e x e^x ex 会帮我们将稍微大的值映射为非常大的值,将一个比较小的值映射成比较小的值。

  映射完成之后,我们需要做一个归一化的操作(比如说,现在有3个样本 1,2,3,我们需要将其转换成概率值,将这三个值同除以6(三者之和),那么就得到了 1/6,2/6,3/6,而且三者相加和为 1),将这三个值映射到 0-1 之间。

在这里插入图片描述
  
  所以我们就可以根据判断得出结论:这张图片属于 cat 的概率为 0.13,属于 car 的概率为 0.87,那么我们就会将图片归于 car 这一类。但是显然我们这里的图片是属于猫这一类,所以预测错误,那么相应的就会有一个损失值,那么我们怎么计算这个损失值呢?

  那么对于 Softmax 分类器,我们用怎样的损失函数来衡量概率值呢?我们可以使用一个 y = − l o g x y = -logx y=logx 函数来衡量。
在这里插入图片描述

  因为我们的概率在 0-1 之间,所以值域在 0 到正无穷 之间, x x x 取值越大,相应的值越接近 0,那么损失值越小;反之, x x x 的取值越小,相应的值越接近于正无穷,那么损失值越大。那么我们是对什么样的值去求解它的损失呢?我们需要需要对它等于正确类别的概率值进行计算,比如在这个例子中,该图片是猫,所以预测正确的概率值为 0.13,所以我们需要将 0.13 代入 y = − l o g x y = -logx y=logx 函数中,得到损失值为 − l o g ( 0.13 ) = 0.89 -log(0.13) = 0.89 log(0.13)=0.89

  以上就是对 Softmax 分类器的介绍。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值